ART Commit History
1 runtime雏形
ART inital code
https://android.googlesource.com/platform/art/+/3ee755da5c1c17b6a29052d171a8a63c0eb0b052 https://android.googlesource.com/platform/art/+/3ee755da5c1c17b6a29052d171a8a63c0eb0b052/src/runtime.cc
commit 3ee755da5c1c17b6a29052d171a8a63c0eb0b052
Author: Carl Shapiro <cshapiro@google.com>
Date: Tue Jun 28 12:11:04 2011 -0700
Complete support for loading classes from a DEX file.
Change-Id: I1b9aa105fc78df170e83b259d8d04317c296a1b5
Android.common.mk | 1 +
src/dex_file.cc | 105 ++++++++++++++++++++++++-------
src/dex_file.h | 12 +---
src/dex_file_test.cc | 6 ++
src/object.cc | 23 +++++++
src/object.h | 175 ++++++++++++++++++++++++++++++++++++++++++++++-----
src/raw_dex_file.h | 79 +++++++++++++++++++----
7 files changed, 339 insertions(+), 62 deletions(-)
2 class_linker init
https://android.googlesource.com/platform/art/+/0e5d75d5ca2b8a44fab0c862276a466cbab39859
commit 0e5d75d5ca2b8a44fab0c862276a466cbab39859
Author: Carl Shapiro <cshapiro@google.com>
Date: Wed Jul 6 18:28:37 2011 -0700
Add support for linking classes.
Change-Id: I0026be6e4c919f7391fd83c654f58c3bc67f44e1
3 thread feature
https://android.googlesource.com/platform/art/+/b557353b22c728eecbd1c68593b482622c7782a8
commit b557353b22c728eecbd1c68593b482622c7782a8
Author: Carl Shapiro <cshapiro@google.com>
Date: Tue Jul 12 18:22:59 2011 -0700
Add more functionality to the thread and mutex implementation.
Change-Id: I33b2e53acb4c4c6653f13f1bbdd77cc7ce27e581
build/Android.common.mk | 3 +-
src/class_linker.cc | 16 +++---
src/runtime.h | 11 +++-
src/thread.cc | 104 +++++++++++++++++++++++++++++++++++
src/thread.h | 142 +++++++++++++++++++++++++++++++++++++++++++++---
5 files changed, 257 insertions(+), 19 deletions(-)
4 runtime construction
https://android.googlesource.com/platform/art/+/61e019d291583029c01b61b93bea750f2b663c37
commit 61e019d291583029c01b61b93bea750f2b663c37
Author: Carl Shapiro <cshapiro@google.com>
Date: Thu Jul 14 16:53:09 2011 -0700
Initialize runtime constituents on runtime construction.
Change-Id: I63fff272b64bd29a7f828dac48aed91833af1eee
src/class_linker.cc | 7 ++++++
src/class_linker.h | 11 +++++----
src/class_linker_test.cc | 25 +++++++++----------
src/heap.h | 13 ++++++++++
src/object_test.cc | 21 +++++++---------
src/runtime.cc | 38 +++++++++++++++++++++++++++--
src/runtime.h | 36 ++++++++++++++++++++++------
src/thread.cc | 62 +++++++++++++++++++++++++++++++++++++++++++-----
src/thread.h | 39 +++++++++++++++---------------
src/utils.h | 11 +++++++++
10 files changed, 198 insertions(+), 65 deletions(-)
5 x86 JNI compiler
https://android.googlesource.com/platform/art/+/b033c75ebda80ac75f936366fe78d1edf5cec937
commit b033c75ebda80ac75f936366fe78d1edf5cec937
Author: Ian Rogers <irogers@google.com>
Date: Wed Jul 20 12:22:35 2011 -0700
x86 JNI compiler and unit tests.
Change-Id: I4c2e10328961a2e8e27c90777fe2a93737b21143
build/Android.common.mk | 19 +-
src/assembler.cc | 8 +-
src/assembler.h | 36 +-
src/assembler_arm.cc | 428 ++++++++++++++++++++++-
src/assembler_arm.h | 69 +++-
src/assembler_x86.cc | 243 ++++++++++++-
src/assembler_x86.h | 105 +++++-
src/assembler_x86_test.cc | 15 +-
src/calling_convention.cc | 120 +++++++
src/calling_convention.h | 145 ++++++++
src/calling_convention_arm.cc | 83 +++++
src/calling_convention_x86.cc | 73 ++++
src/common_test.h | 29 ++
src/constants.h | 12 +
src/constants_arm.h | 24 +-
src/constants_x86.h | 20 +-
src/jni_compiler.cc | 290 +++++++++++++++
src/jni_compiler.h | 40 +++
src/jni_compiler_test.cc | 390 +++++++++++++++++++++
src/managed_register.h | 14 +
src/managed_register_arm.cc | 93 +++++
src/managed_register_arm.h | 266 ++++++++++++++
src/managed_register_arm_test.cc | 739 +++++++++++++++++++++++++++++++++++++++
src/managed_register_x86.cc | 112 ++++++
src/managed_register_x86.h | 214 ++++++++++++
src/managed_register_x86_test.cc | 343 ++++++++++++++++++
src/object.cc | 114 +++++-
src/object.h | 95 ++++-
src/object_test.cc | 6 +-
src/runtime.cc | 11 +-
src/thread.cc | 28 +-
src/thread.h | 96 ++++-
src/thread_arm.cc | 11 +
src/thread_x86.cc | 60 ++++
src/utils.h | 12 +-
35 files changed, 4277 insertions(+), 86 deletions(-)
6 garbage collection infrastructure.
https://android.googlesource.com/platform/art/+/69759eaa6fd4386f1e6d8748052ad221087b3476
commit 69759eaa6fd4386f1e6d8748052ad221087b3476
Author: Carl Shapiro <cshapiro@google.com>
Date: Thu Jul 21 18:13:35 2011 -0700
Add allocation and garbage collection infrastructure.
Change-Id: I4b04cdfdf18afb75a7b0df87b509e8156b4a932b
build/Android.common.mk | 10 +-
build/Android.libart.host.mk | 1 -
src/assembler.cc | 4 -
src/assembler.h | 35 -
src/assembler_arm.cc | 1 +
src/assembler_arm.h | 1 +
src/assembler_x86.cc | 2 +-
src/assembler_x86.h | 6 +-
src/class_linker.cc | 37 +-
src/common_test.h | 6 +
src/dlmalloc.c | 5454 ++++++++++++++++++++++++++++++++++++++++++
src/dlmalloc.h | 655 +++++
src/globals.h | 6 +-
src/heap.cc | 163 ++
src/heap.h | 97 +-
src/mark_stack.cc | 48 +
src/mark_stack.h | 59 +
src/mark_sweep.cc | 409 ++++
src/mark_sweep.h | 133 +
src/mspace.c | 291 +++
src/mspace.h | 128 +
src/object.h | 135 +-
src/object_bitmap.cc | 197 ++
src/object_bitmap.h | 138 ++
src/offsets.cc | 14 +
src/offsets.h | 49 +
src/runtime.cc | 11 +-
src/runtime.h | 4 +-
src/space.cc | 130 +
src/space.h | 71 +
src/space_test.cc | 68 +
src/thread.h | 40 +-
src/thread_x86.cc | 5 +-
33 files changed, 8281 insertions(+), 127 deletions(-)
7 Initial ARM JNI
https://android.googlesource.com/platform/art/+/e2d373e6e09c1df9a47e73a26254048adb31ce82
commit e2d373e6e09c1df9a47e73a26254048adb31ce82
Author: Carl Shapiro <cshapiro@google.com>
Date: Mon Jul 25 15:20:06 2011 -0700
Initial ARM JNI compiler support.
Change-Id: I85183eec9a2645e6cb074b4b18bc6af800a77e06
build/Android.common.mk | 2 +-
src/assembler.cc | 3 +-
src/assembler_arm.cc | 188 +++++++++++++++++++++++++++++++++++++-----
src/assembler_arm.h | 1 +
src/assembler_x86.cc | 5 ++
src/assembler_x86.h | 1 +
src/calling_convention.cc | 5 ++
src/calling_convention.h | 7 ++
src/calling_convention_arm.cc | 46 ++++++++---
src/calling_convention_x86.cc | 4 +
src/jni_compiler.cc | 44 ++++++----
src/jni_compiler_test.cc | 49 ++++++++---
src/object.cc | 2 +
13 files changed, 294 insertions(+), 63 deletions(-)
8 ClassLinker can now FindClass all libcore classes
https://android.googlesource.com/platform/art/+/4a96b60e45fba4a9d4a2e9c8fc849660eacef684
commit 4a96b60e45fba4a9d4a2e9c8fc849660eacef684
Author: Brian Carlstrom <bdc@google.com>
Date: Tue Jul 26 16:40:23 2011 -0700
ClassLinker can now FindClass all libcore classes
Summary:
- added ClassLinkerTest/LibCore test of finding all libcore classes
- fixed bug in LinkInterfaceMethods appending mirant methods to vtable_
- fixed bug in LinkVirtualMethods allocating subclass vtable_
- fixed mmap bug in MarkStack::Init
- bumped default (and max) heap sizes to handle ClassLinkerTest/LibCore
- made ObjectArray a templated class
- heap allocate Class::vtable_
- "mm test-art" and "mm test-art-target" added
- new is_host_ for use by tests
Android.mk | 16 ++++++++
src/class_linker.cc | 95 ++++++++++++++++++++++--------------------------
src/class_linker.h | 14 ++++---
src/class_linker_test.cc | 31 ++++++++++++++++
src/common_test.h | 3 ++
src/dex_cache.cc | 8 ++--
src/dex_cache.h | 34 ++++++++---------
src/dex_cache_test.cc | 10 ++---
src/dex_file.h | 18 ++++-----
src/heap.h | 14 +++----
src/mark_stack.cc | 2 +-
src/mark_sweep.cc | 2 +-
src/object.h | 40 ++++++++++----------
src/object_test.cc | 2 +-
14 files changed, 168 insertions(+), 121 deletions(-)
9 ClassLinker::VisitRoots
https://android.googlesource.com/platform/art/+/75cb3b477be3757a0351fb6ab1cb70751a71e2bf
commit 75cb3b477be3757a0351fb6ab1cb70751a71e2bf
Author: Brian Carlstrom <bdc@google.com>
Date: Thu Jul 28 02:13:36 2011 -0700
Add ClassLinker::VisitRoots
As part of implementing VisitRoots, created ClassLinker::class_roots_
with enum of offsets. This required revising ClassLinker::Init yet
again, so took the opportunity to simplify and document ordering
restrictions. Also simplified special cases in FindClass, as well as
making a fast path for FindClass and CreateArrayClass for post
::Init. Made ClassLinker::Alloc* conveniences private after realizing
they are only used externally by tests. Sprinkled some
Class::IsSynthetic validation in ClassLinkerTest along with adding a
test for VisitRoots. Updated kJavaLangDex to have a java.lang.String
to work with the simplified ::Init code.
Change-Id: I76b92c0bde5da32d9ebc8d3702d8e7ac7972dda7
src/class_linker.cc | 317 ++++++++++++++++++++++++++---------------------
src/class_linker.h | 85 +++++++------
src/class_linker_test.cc | 9 ++
src/common_test.h | 47 ++++---
src/object.h | 10 ++
5 files changed, 270 insertions(+), 198 deletions(-)
10 open dex from zip,jar, apk
https://android.googlesource.com/platform/art/+/b0460eaa2cb131f1dbdd5a7217bd36b9a9f1b995
commit b0460eaa2cb131f1dbdd5a7217bd36b9a9f1b995
Author: Brian Carlstrom <bdc@google.com>
Date: Fri Jul 29 10:08:05 2011 -0700
Add support for opening classes.dex file from zip, jar, apk
Change-Id: Id626abe5b6c1990e4f93598256ee0fae000818f6
Android.mk | 4 +-
build/Android.common.mk | 8 +-
build/Android.libart.mk | 2 +-
build/Android.test.mk | 5 +-
src/class_linker.h | 2 +-
src/common_test.h | 64 ++++++-
src/dex_file.cc | 205 +++++++++++++++++++-
src/dex_file.h | 5 +-
src/globals.h | 2 +
src/jni_compiler.cc | 2 +-
src/jni_compiler_test.cc | 2 +-
src/runtime.cc | 1 +
src/runtime.h | 6 +-
src/space.cc | 6 +-
src/thread.cc | 2 +-
src/thread_x86.cc | 2 +-
src/zip_archive.cc | 472 +++++++++++++++++++++++++++++++++++++++++++++++
src/zip_archive.h | 194 +++++++++++++++++++
src/zip_archive_test.cc | 71 +++++++
19 files changed, 1024 insertions(+), 31 deletions(-)
11 Handle double and long on the Managed side
https://android.googlesource.com/platform/art/+/5381cf941d26030199fcdbe61a614ff01e55a27c
commit 5381cf941d26030199fcdbe61a614ff01e55a27c
Author: Shih-wei Liao <sliao@google.com>
Date: Wed Jul 27 00:28:04 2011 -0700
Handle double and long on the Managed side, and follow AAPCS on the Native side.
Change-Id: I43a8fa36cb79fb438f075986a46c66ab8258e725
src/assembler_arm.cc | 13 ++++++--
src/calling_convention.cc | 58 ++++++++++++++++++++++--------------
src/calling_convention.h | 16 ++++++----
src/calling_convention_arm.cc | 69 ++++++++++++++++++++++++++++---------------
src/calling_convention_x86.cc | 6 ++--
src/jni_compiler.cc | 12 ++++----
src/object.cc | 2 +-
src/object.h | 15 +++++++++-
8 files changed, 126 insertions(+), 65 deletions(-)
12 Start implementing JNI
https://android.googlesource.com/platform/art/+/40ef99eb9dd91c2fa549f40973964529c927bb3c
commit 40ef99eb9dd91c2fa549f40973964529c927bb3c
Author: Elliott Hughes <enh@google.com>
Date: Thu Aug 11 17:44:34 2011 -0700
Start implementing JNI.
This patch replaces our JniEnvironment class with the regular JNIEnv.
This patch also adds support for .jar, .zip, and .apk files in the
boot classpath.
There's also an attempt at implementing JNIEnv::FindClass.
I've also fixed a few scoped_ptr/scoped_array bugs (this kind of thing
being the reason we use UniquePtr in libcore), and removed some
unnecessary .
The 'tools/art' script makes it easier to play with aexec on the command-line.
Change-Id: Ic4f704c12e0071f17e95b6e182fdab9370ead9b0
src/class_linker.cc | 2 +-
src/common_test.h | 2 +-
src/dex_file.cc | 14 +-
src/intern_table.cc | 2 +-
src/jni_compiler.cc | 12 +-
src/jni_internal.cc | 1208 ++++++++++++++++-----------------------------------
src/jni_internal.h | 858 +-----------------------------------
src/runtime.cc | 20 +-
src/runtime.h | 6 +-
src/thread.h | 10 +-
src/zip_archive.cc | 2 +-
tools/art | 26 ++
12 files changed, 469 insertions(+), 1693 deletions(-)
13 JNI: Use the UNIMPLEMENTED macro everywhere
https://android.googlesource.com/platform/art/+/53b61314370c49354ed6f8d616d6a9a182410fc1
commit 53b61314370c49354ed6f8d616d6a9a182410fc1
Author: Elliott Hughes <enh@google.com>
Date: Fri Aug 12 18:28:20 2011 -0700
Use the UNIMPLEMENTED macro everywhere.
As suggested in review.
Change-Id: Ic14c91a622b545b4800ef021dfb501fb09cbda9d
src/assembler.cc | 18 ------------------
src/assembler_arm.cc | 2 +-
src/assembler_arm.h | 6 ------
src/assembler_x86.cc | 4 ++--
src/assembler_x86.h | 3 ---
src/calling_convention.cc | 2 +-
src/class_linker.cc | 2 +-
src/dex_file.cc | 2 +-
src/heap.cc | 2 +-
src/jni_internal.cc | 2 --
src/logging.h | 2 ++
src/mark_sweep.cc | 8 ++++----
src/object.h | 16 ++++++++--------
src/runtime.cc | 2 +-
src/space.cc | 2 +-
src/thread.cc | 2 +-
16 files changed, 24 insertions(+), 51 deletions(-)
14 Remove author attributions
https://android.googlesource.com/platform/art/+/ad107abee00fb523b9fda575a40395e9d6d9510d
commit ad107abee00fb523b9fda575a40395e9d6d9510d
Author: Carl Shapiro <cshapiro@google.com>
Date: Sun Aug 14 15:54:24 2011 -0700
Remove author attributions.
Change-Id: I58d2983ce41f6b3f3a4e1bbd1d075e794b8257e3
src/assembler_x86_test.cc | 1 -
src/calling_convention.cc | 1 -
src/calling_convention.h | 1 -
src/calling_convention_arm.cc | 1 -
src/calling_convention_x86.cc | 1 -
src/class_linker.cc | 1 -
src/heap.cc | 1 -
src/heap.h | 1 -
src/jni_compiler.h | 2 +-
src/jni_compiler_test.cc | 1 -
src/jni_internal_arm.cc | 1 -
src/jni_internal_x86.cc | 1 -
src/log_severity.h | 1 -
src/logging_android.cc | 1 -
src/logging_linux.cc | 1 -
src/mark_stack.cc | 1 -
src/mark_stack.h | 1 -
src/mark_sweep.cc | 1 -
src/mark_sweep.h | 1 -
src/monitor.h | 1 -
src/object_test.cc | 1 -
src/offsets.cc | 1 -
src/offsets.h | 1 -
src/runtime_android.cc | 1 -
src/runtime_linux.cc | 1 -
src/space.cc | 1 -
src/space.h | 1 -
src/space_test.cc | 1 -
src/stringprintf.cc | 1 -
src/stringprintf.h | 1 -
src/thread.h | 1 -
31 files changed, 1 insertion(+), 31 deletions(-)
15 First ImageWriter
https://android.googlesource.com/platform/art/+/db4d54081f09abcbe97ffdf615874f2809a9e777
commit db4d54081f09abcbe97ffdf615874f2809a9e777
Author: Brian Carlstrom <bdc@google.com>
Date: Tue Aug 9 12:18:28 2011 -0700
First pass of ImageWriter
Change-Id: I4f189587a2e3cc1c265200b8fa64321b299947eb
build/Android.common.mk | 6 +++
src/class_linker.cc | 9 +++-
src/common_test.h | 32 ++++++++++++
src/dex_file.cc | 27 ++++++----
src/file.cc | 36 +++++++++++++
src/file.h | 49 ++++++++++++++++++
src/file_linux.cc | 64 +++++++++++++++++++++++
src/file_linux.h | 34 ++++++++++++
src/file_test.cc | 47 +++++++++++++++++
src/heap.h | 6 +--
src/image_test.cc | 28 ++++++++++
src/image_writer.cc | 132 +++++++++++++++++++++++++++++++++++++++++++++++
src/image_writer.h | 68 ++++++++++++++++++++++++
src/jni_compiler.cc | 19 +++----
src/jni_compiler.h | 9 ++--
src/jni_compiler_test.cc | 16 +++---
src/jni_internal.cc | 1 +
src/mark_stack.cc | 14 ++---
src/mark_stack.h | 5 ++
src/mark_sweep.cc | 4 +-
src/mem_map.h | 112 ++++++++++++++++++++++++++++++++++++++++
src/memory_region.h | 2 -
src/object.h | 100 ++++++++++++++++++++++++++++-------
src/object_bitmap.cc | 22 +++-----
src/object_bitmap.h | 6 ++-
src/os.h | 28 ++++++++++
src/os_linux.cc | 43 +++++++++++++++
src/runtime_test.cc | 2 +-
src/scoped_ptr.h | 20 +++----
src/space.cc | 20 +++----
src/space.h | 12 +++--
src/utils.h | 3 ++
src/zip_archive.cc | 43 +++++----------
src/zip_archive.h | 77 +++------------------------
src/zip_archive_test.cc | 39 ++------------
35 files changed, 880 insertions(+), 255 deletions(-)
16 Initial Compiler
https://android.googlesource.com/platform/art/+/67bf885d62b1473c833bece1c9e0bb624e6ba391
commit 67bf885d62b1473c833bece1c9e0bb624e6ba391
Author: buzbee <buzbee@google.com>
Date: Wed Aug 17 17:51:35 2011 -0700
Oat compiler integration snapshot.
Cleanly compiles, but not integrated. Old-world dependencies captured
in hacked-up temporary files "Dalvik.h" and "HackStubs.cc".
Dalvik.h is a placeholder that captures all of the constants, struct
definitions and inline functions the compiler needs. It largely consists
of declaration fragments of libdex, Object.h, DvmDex.h and Thread.h.
HackStubs.cc contains empty shells for some required libdex routines.
Change-Id: Ia479dda41da4e3162ff6df383252fdc7dbf38d71
build/Android.common.mk | 13 +
src/compiler/Compiler.h | 100 +
src/compiler/CompilerIR.h | 306 +++
src/compiler/CompilerInternals.h | 25 +
src/compiler/CompilerUtility.h | 114 +
src/compiler/Dalvik.h | 706 ++++++
src/compiler/Dataflow.cc | 2338 ++++++++++++++++++++
src/compiler/Dataflow.h | 128 ++
src/compiler/Frontend.cc | 909 ++++++++
src/compiler/HackStubs.cc | 42 +
src/compiler/IntermediateRep.cc | 124 ++
src/compiler/Ralloc.cc | 138 ++
src/compiler/RuntimeUtilities.cc | 52 +
src/compiler/SSATransformation.cc | 585 +++++
src/compiler/Utility.cc | 511 +++++
src/compiler/codegen/CodegenFactory.cc | 234 ++
src/compiler/codegen/CompilerCodegen.h | 52 +
src/compiler/codegen/Optimizer.h | 41 +
src/compiler/codegen/Ralloc.h | 239 ++
src/compiler/codegen/RallocUtil.cc | 1028 +++++++++
src/compiler/codegen/arm/ArchFactory.cc | 85 +
src/compiler/codegen/arm/ArchUtility.cc | 495 +++++
src/compiler/codegen/arm/ArmLIR.h | 867 ++++++++
src/compiler/codegen/arm/ArmRallocUtil.cc | 344 +++
src/compiler/codegen/arm/Assemble.cc | 1581 +++++++++++++
src/compiler/codegen/arm/CalloutHelper.h | 89 +
src/compiler/codegen/arm/Codegen.h | 52 +
src/compiler/codegen/arm/CodegenCommon.cc | 418 ++++
src/compiler/codegen/arm/FP/Thumb2VFP.cc | 242 ++
src/compiler/codegen/arm/LocalOptimizations.cc | 448 ++++
src/compiler/codegen/arm/MethodCodegenDriver.cc | 1765 +++++++++++++++
src/compiler/codegen/arm/Thumb2/Factory.cc | 1137 ++++++++++
src/compiler/codegen/arm/Thumb2/Gen.cc | 1885 ++++++++++++++++
src/compiler/codegen/arm/Thumb2/Ralloc.cc | 51 +
.../codegen/arm/armv7-a-neon/ArchVariant.cc | 51 +
src/compiler/codegen/arm/armv7-a-neon/Codegen.cc | 51 +
src/compiler/codegen/arm/armv7-a/ArchVariant.cc | 52 +
src/compiler/codegen/arm/armv7-a/Codegen.cc | 51 +
38 files changed, 17349 insertions(+)
17 New compiler pass first test
https://android.googlesource.com/platform/art/+/c143c55718342519db5398e41dda31422cf16c79
commit c143c55718342519db5398e41dda31422cf16c79
Author: buzbee <buzbee@google.com>
Date: Sat Aug 20 17:38:58 2011 -0700
Updating the compiler to use the new-world model
New compiler is integrated and passes first test (Fibonacci).
Change-Id: Ic5448ab89ebd22baa30fafc3d1300324687d1fc2
build/Android.common.mk | 8 +-
build/Android.libart.mk | 1 +
src/assembler_arm.h | 4 +
src/assembler_x86.cc | 1 -
src/assembler_x86.h | 4 +
src/class_linker.h | 4 +-
src/common_test.h | 57 +-
src/compiler/CompilerIR.h | 4 +-
src/compiler/Dalvik.h | 684 +-----------------------
src/compiler/Dataflow.cc | 6 +-
src/compiler/Frontend.cc | 52 +-
src/compiler/HackStubs.cc | 42 --
src/compiler/Ralloc.cc | 6 +-
src/compiler/SSATransformation.cc | 4 +-
src/compiler/Utility.cc | 3 +-
src/compiler/codegen/arm/ArchUtility.cc | 40 +-
src/compiler/codegen/arm/ArmRallocUtil.cc | 15 +-
src/compiler/codegen/arm/Assemble.cc | 55 +-
src/compiler/codegen/arm/MethodCodegenDriver.cc | 136 ++---
src/compiler/codegen/arm/Thumb2/Gen.cc | 114 ++--
src/compiler_test.cc | 42 ++
src/constants.h | 11 +
src/image_test.cc | 19 +-
src/jni_compiler.cc | 4 +-
src/jni_compiler_test.cc | 21 +-
src/jni_internal.cc | 16 +-
src/jni_internal_test.cc | 45 +-
src/monitor.h | 8 +
src/object.h | 58 +-
src/thread.h | 71 ++-
src/utils.cc | 19 +
src/utils.h | 2 +
32 files changed, 535 insertions(+), 1021 deletions(-)
18 implementations for runtime-provided native methods
https://android.googlesource.com/platform/art/+/bf86d0438e9ef9c145ebcf16a2e74c4efaa2686a
commit bf86d0438e9ef9c145ebcf16a2e74c4efaa2686a
Author: Elliott Hughes <enh@google.com>
Date: Wed Aug 31 17:53:14 2011 -0700
Start adding implementations for runtime-provided native methods.
The library can't do everything...
Change-Id: Ib808c00570c7214aeb2ca058b1a66cacbeb372f1
build/Android.common.mk | 5 +
src/check_jni.cc | 4 +-
src/heap.cc | 15 ++
src/heap.h | 7 +
src/java_lang_Object.cc | 66 +++++++
src/java_lang_Runtime.cc | 95 ++++++++++
src/java_lang_String.cc | 169 +++++++++++++++++
src/java_lang_System.cc | 259 ++++++++++++++++++++++++++
src/java_util_concurrent_atomic_AtomicLong.cc | 40 ++++
src/jni_internal.cc | 78 ++++----
src/jni_internal.h | 3 +
src/object.cc | 5 +
src/object.h | 16 ++
src/runtime.cc | 18 +-
src/runtime.h | 2 +
src/thread.cc | 24 +--
src/thread.h | 21 +--
17 files changed, 762 insertions(+), 65 deletions(-)
19 first dex2oat
https://android.googlesource.com/platform/art/+/69b15fb098162f19a4c20e6dccdcead04d9c77f0
commit 69b15fb098162f19a4c20e6dccdcead04d9c77f0
Author: Brian Carlstrom <bdc@google.com>
Date: Sat Sep 3 12:25:21 2011 -0700
Working dex2oat and oatexec
adb shell dex2oatd --dex-file=/system/framework/core.jar --image=/system/framework/boot.oat --base=0x50000000 "'--method=Ljava/lang/System;logI(Ljava/lang/String;)V'" "'--method=Ljava/lang/System;log(CLjava/lang/String;Ljava/lang/Throwable;)V'"
adb shell dex2oatd --boot-dex-file=/system/framework/core.jar --boot=/system/framework/boot.oat --dex-file=/system/framework/art-test-dex-HelloWorld.jar --image=/system/framework/art-test-dex-HelloWorld.oat
adb shell oatexecd -Xbootclasspath:/system/framework/core.jar -Xbootimage:/system/framework/boot.oat -classpath /system/framework/art-test-dex-HelloWorld.jar -Ximage:/system/framework/art-test-dex-HelloWorld.oat HelloWorld
09-05 17:58:18.912 2385 2385 I System : Hello, world!
Change-Id: I53e534068584f0c3a837313e4d517a0e4a7154fc
Android.mk | 6 +-
build/Android.aexec.mk | 58 -----------
build/Android.common.mk | 8 +-
build/Android.executable.mk | 76 ++++++++++++++
build/Android.libart.mk | 2 +-
src/check_jni.cc | 2 +-
src/class_linker.cc | 63 +++++++----
src/class_linker.h | 10 +-
src/class_loader.cc | 1 +
src/common_test.h | 17 +--
src/dex2oat.cc | 224 ++++++++++++++++++++++++++++++++++++++++
src/dex_cache.h | 40 ++++---
src/dex_file.cc | 30 ++++--
src/dex_file.h | 3 +
src/exception_test.cc | 2 +-
src/heap.cc | 23 ++++-
src/heap.h | 8 +-
src/image.cc | 2 +-
src/image.h | 1 +
src/image_test.cc | 16 +--
src/image_writer.cc | 91 ++++++++++++++--
src/image_writer.h | 41 +++++++-
src/jni_internal.cc | 9 +-
src/{main.cc => oatexec.cc} | 2 +
src/object.cc | 3 +-
src/object.h | 7 +-
src/runtime.cc | 104 ++++++++++++-------
src/runtime.h | 9 +-
src/runtime_test.cc | 23 ++++-
src/space.cc | 20 +++-
test/HelloWorld/HelloWorld.java | 21 ++++
tools/art | 6 +-
32 files changed, 731 insertions(+), 197 deletions(-)
20 Support for cross compilation
https://android.googlesource.com/platform/art/+/2c8f653c98d658419f464b6147c10e11a664d2e6
commit 2c8f653c98d658419f464b6147c10e11a664d2e6
Author: Ian Rogers <irogers@google.com>
Date: Fri Sep 2 17:16:34 2011 -0700
Support for cross compilation.
Refactor architecture specific files into arm and x86 name spaces. Make
assemblers and calling conventions use the factory pattern and an
instruction set specifier.
Change-Id: I20cd7aecacc1ae3d418221d98bbe1d69be9162a7
build/Android.common.mk | 24 +-
src/assembler.cc | 16 +-
src/assembler.h | 172 +++++--
src/assembler_arm.cc | 682 ++++++++++++++-------------
src/assembler_arm.h | 198 +++++---
src/assembler_x86.cc | 559 ++++++++++++-----------
src/assembler_x86.h | 255 ++++++-----
src/calling_convention.cc | 31 +-
src/calling_convention.h | 80 ++--
src/calling_convention_arm.cc | 117 ++---
src/calling_convention_arm.h | 58 +++
src/calling_convention_x86.cc | 69 +--
src/calling_convention_x86.h | 59 +++
src/common_test.h | 15 +-
src/compiler.cc | 39 +-
src/compiler.h | 10 +
src/compiler_test.cc | 3 +-
src/constants.h | 3 -
src/constants_arm.h | 2 +
src/constants_x86.h | 2 +
src/dex2oat.cc | 2 +-
src/jni_compiler.cc | 419 +++++++++--------
src/jni_compiler.h | 19 +-
src/jni_compiler_test.cc | 2 -
src/jni_internal_arm.cc | 16 +-
src/jni_internal_x86.cc | 17 +-
src/managed_register.h | 54 ++-
src/managed_register_arm.cc | 21 +-
src/managed_register_arm.h | 67 ++-
src/managed_register_arm_test.cc | 960 ++++++++++++++++++++-------------------
src/managed_register_x86.cc | 21 +-
src/managed_register_x86.h | 62 +--
21 More thread work
https://android.googlesource.com/platform/art/+/8daa0929f08a3080ea64dbd4e997e72f411e6fc9
commit 8daa0929f08a3080ea64dbd4e997e72f411e6fc9
Author: Elliott Hughes <enh@google.com>
Date: Sun Sep 11 13:46:25 2011 -0700
More threads work.
Adds stubs (and sometimes implementations) for dalvik.system.VMStack and
java.lang.Thread native methods. There was a bug in the dalvik
thread priority setting code, where the current thread and the passed-in
thread were confused.
I've also pulled Mutex and ThreadList out into their own files, and
moved some functionality around (with the aim of having more stuff
private, especially locks).
Change-Id: Ieb0f22669cac3df44ca34f7868f8e7d4dfa09ab6
build/Android.common.mk | 6 ++
src/class_linker.cc | 3 +-
src/class_linker.h | 4 +-
src/dalvik_system_VMStack.cc | 65 +++++++++++++++
src/heap.cc | 18 ++--
src/intern_table.cc | 13 +--
src/intern_table.h | 4 +-
src/java_lang_Thread.cc | 128 +++++++++++++++++++++++++++++
src/jni_internal.cc | 22 ++---
src/jni_internal.h | 10 +--
src/logging.cc | 4 +-
src/logging.h | 12 ---
src/mutex.cc | 105 ++++++++++++++++++++++++
src/mutex.h | 87 ++++++++++++++++++++
src/runtime.cc | 12 +--
src/runtime.h | 2 +-
src/signal_catcher.cc | 7 +-
src/signal_catcher.h | 5 +-
src/thread.cc | 190 ++++---------------------------------------
src/thread.h | 169 +++++++++++++-------------------------
src/thread_android.cc | 91 +++++++++++++++++++++
src/thread_linux.cc | 29 +++++++
src/thread_list.cc | 107 ++++++++++++++++++++++++
src/thread_list.h | 88 ++++++++++++++++++++
src/utils.cc | 9 --
src/utils.h | 3 -
26 files changed, 825 insertions(+), 368 deletions(-)
22 initial oatdump
https://android.googlesource.com/platform/art/+/78128a63b2615744760b7f8ab83df9764a5d4a95
commit 78128a63b2615744760b7f8ab83df9764a5d4a95
Author: Brian Carlstrom <bdc@google.com>
Date: Thu Sep 15 17:21:19 2011 -0700
oatdump
FROM MAKE:
mm dump-boot-oat
ON HOST:
oatdump --dex-file=$ANDROID_PRODUCT_OUT/system/framework/core.jar --image=$ANDROID_PRODUCT_OUT/system/framework/boot.oat --strip-prefix=$ANDROID_PRODUCT_OUT
oatdump --boot-dex-file=$ANDROID_PRODUCT_OUT/system/framework/core.jar --boot=$ANDROID_PRODUCT_OUT/system/framework/boot.oat --dex-file=$ANDROID_PRODUCT_OUT/system/framework/art-test-dex-HelloWorld.jar --image=$ANDROID_PRODUCT_OUT//system/framework/art-test-dex-HelloWorld.oat --strip-prefix=$ANDROID_PRODUCT_OUT
ON TARGET:
adb shell oatdump --dex-file=/system/framework/core.jar --image=/system/framework/boot.oat
adb shell oatdumpd --boot-dex-file=/system/framework/core.jar --boot=/system/framework/boot.oat --dex-file=/system/framework/art-test-dex-HelloWorld.jar --image=/system/framework/art-test-dex-HelloWorld.oat
Change-Id: Iad2ae40a9cf2dc28799ff5dc5222d50f1bc6b39f
Android.mk | 4 +
build/Android.common.mk | 3 +
build/Android.executable.mk | 4 +
build/Android.oat.mk | 5 +
src/class_linker.cc | 2 +-
src/class_linker.h | 2 +-
src/dex2oat.cc | 29 ++----
src/dex_file.cc | 14 +++
src/dex_file.h | 15 ++-
src/heap.cc | 2 +-
src/heap.h | 2 +-
src/image.h | 7 +-
src/image_writer.cc | 4 +-
src/image_writer.h | 4 +-
src/mark_sweep.cc | 2 +-
src/oatdump.cc | 230 ++++++++++++++++++++++++++++++++++++++++++++
src/oatexec.cc | 6 +-
src/object.h | 4 +
23 oat_process
https://android.googlesource.com/platform/art/+/27ec961a1da540ba7f16c07a682585ab167317ad
commit 27ec961a1da540ba7f16c07a682585ab167317ad
Author: Brian Carlstrom <bdc@google.com>
Date: Mon Sep 19 20:20:38 2011 -0700
Adding oat_process
- Added oat_process, a version of app_process use to launch frameworks apps
- Added liboat_runtime, a version of libandroid_runtime that uses art instead of dvm
This is just a special makefile, frameworks/base/core/jni code is used for source
- Added support for build a boot.oat with the full BOOTCLASSPATH
The older smaller boat.oat is now core.oat
- Added mem_map code for making sure a requested memory region is available
Moved mem_map code to cc file to make easier to debug with smaller rebuild
- Moved oat base address to 0x6000000 as a work around to host addres conflict
- Added -Xms and -Xmx options to dex2oat to allow build specific memory options
- Fixed miranda method initialization problem found compiling full bootclasspath
- Made compiler.cc tolerant of verification errors found compiling full bootclasspath
- Bumped arena block alloc warning to avoid noise when compiling full bootclasspath
- Marked implicit GC unimplemented to fail fast
- Added --output argument to oatdump
- Made many object asserts tolerate access in IsErroneous state
now that verifier is failing validation of some classes during compilation
- Made runtime tolerate unknown access as short term solution for oat_process
- Workaround SSA issue to restore full bootclasspath compilation
- Added test-art-target-processs to excercise oat_process with "am"
"am" found bug where class_linker was using Method::GetClass and not ::GetDeclaringClass
Change-Id: I1a645a142b163e06bab9e72eb094ae1f1dbfbd97
Android.mk | 26 ++-
build/Android.common.mk | 1 +
build/Android.oat.mk | 37 +++--
build/Android.oattest.mk | 21 ++-
oat_process/Android.mk | 23 +++
oat_process/MODULE_LICENSE_APACHE2 | 0
oat_process/NOTICE | 190 ++++++++++++++++++++++
oat_process/app_main.cpp | 204 ++++++++++++++++++++++++
oat_runtime/Android.mk | 256 ++++++++++++++++++++++++++++++
src/class_linker.cc | 20 ++-
src/common_test.h | 3 +
src/compiler.cc | 27 +++-
src/compiler/Utility.cc | 8 +-
src/compiler/codegen/arm/CodegenCommon.cc | 7 +-
src/dex2oat.cc | 28 +++-
src/heap.cc | 1 +
src/heap.h | 4 +-
src/mem_map.cc | 163 +++++++++++++++++++
src/mem_map.h | 70 +-------
src/oatdump.cc | 73 ++++++---
src/object.cc | 2 +-
src/object.h | 79 ++++-----
src/object_bitmap.cc | 1 +
src/runtime.cc | 9 +-
24 files changed, 1078 insertions(+), 175 deletions(-)
24 Java Unit TestCase
https://android.googlesource.com/platform/art/+/5d1ac920fdaef5d4ec8f66bb734488cd9660b024
commit 5d1ac920fdaef5d4ec8f66bb734488cd9660b024
Author: jeffhao <jeffhao@google.com>
Date: Thu Sep 29 17:41:15 2011 -0700
Adding old unit tests to test suite.
These tests are copied straight over. They'll still run, but they're
using the old system.
Change-Id: If494519e52ddf858a9febfc55bdae830468cb3c8
test/001-nop/build | 3 +
test/001-nop/expected.txt | 1 +
test/001-nop/info.txt | 2 +
test/001-nop/run | 3 +
test/002-sleep/expected.txt | 2 +
test/002-sleep/info.txt | 3 +
test/002-sleep/src/Main.java | 22 +
test/003-omnibus-opcodes/build | 26 +
test/003-omnibus-opcodes/expected.txt | 74 +
25 Separate oat from image
https://android.googlesource.com/platform/art/+/e24fa61603a60ade3797e4a0c8b3fccb346cb048
commit e24fa61603a60ade3797e4a0c8b3fccb346cb048
Author: Brian Carlstrom <bdc@google.com>
Date: Thu Sep 29 00:53:55 2011 -0700
Separate oat from image
Change-Id: If2abdb99826ead14e3465d90ba2acffd89709389
Android.mk | 25 +-
build/Android.common.mk | 4 +
build/Android.oat.mk | 16 +-
build/Android.oattest.mk | 4 +-
src/common_test.h | 6 +-
src/compiler.cc | 26 ++-
src/compiler.h | 5 +-
src/compiler/Frontend.cc | 4 +-
src/dex2oat.cc | 67 ++++--
src/dex_file.cc | 18 +-
src/dex_file.h | 7 +-
src/dex_file_test.cc | 2 -
src/exception_test.cc | 8 +-
src/globals.h | 3 +
src/heap.cc | 8 +-
src/image.cc | 2 +-
src/image.h | 48 +++-
src/image_test.cc | 25 +-
src/image_writer.cc | 68 +++++-
src/image_writer.h | 13 +-
src/jni_compiler.cc | 2 +-
src/mem_map.cc | 6 +-
src/oat.cc | 68 ++++++
src/oat.h | 41 ++++
src/oat_file.cc | 167 +++++++++++++
src/oat_file.h | 101 ++++++++
src/oat_test.cc | 79 +++++++
src/oat_writer.cc | 438 +++++++++++++++++++++++++++++++++++
src/oat_writer.h | 155 +++++++++++++
src/oatdump.cc | 71 ++++--
src/object.cc | 45 ++--
src/object.h | 97 ++++----
src/runtime.cc | 145 ++++++++++--
src/runtime.h | 44 ++--
src/space.cc | 7 +-
src/stub_arm.cc | 1 +
src/utils.cc | 3 +
26 Working ClassLoader
https://android.googlesource.com/platform/art/+/aded5f7ab991f3c1132851599d3bc60ff6707eed
commit aded5f7ab991f3c1132851599d3bc60ff6707eed
Author: Brian Carlstrom <bdc@google.com>
Date: Fri Oct 7 17:15:04 2011 -0700
Working ClassLoader
Change-Id: Ia1122165e47f846a1d4506111849f830d9f14c1b
Android.mk | 2 +-
build/Android.common.mk | 5 +-
build/Android.oattest.mk | 4 +-
oat_process/app_main.cpp | 54 +-----
src/class_linker.cc | 359 ++++++++++++++++++++++-------------
src/class_linker.h | 41 +++-
src/class_linker_test.cc | 24 +--
src/class_loader.cc | 25 ++-
src/class_loader.h | 22 +--
src/common_test.h | 18 +-
src/compiler.cc | 32 ++--
src/compiler.h | 18 +-
src/compiler_test.cc | 3 +-
src/dalvik_system_DexFile.cc | 55 +++++-
src/dex2oat.cc | 13 +-
src/dex_cache.cc | 9 +
src/dex_file.h | 9 +-
src/dex_verifier.cc | 4 +-
src/dex_verifier_test.cc | 2 +-
src/image.h | 7 +-
src/image_writer.cc | 2 +
src/jni_internal.cc | 2 +-
src/oat_file.cc | 21 +-
src/oat_file.h | 14 +-
src/oat_test.cc | 10 +-
src/oat_writer.cc | 2 +-
src/oatdump.cc | 246 +++++++++++++++++++++---
src/object.cc | 4 +-
src/object_test.cc | 2 +-
src/runtime.cc | 38 +++-
src/runtime.h | 4 +
src/runtime_support.cc | 11 ++
src/runtime_support.h | 1 +
src/runtime_support_asm.S | 20 +-
src/thread.cc | 8 +-
src/thread.h | 4 +-
src/utils.cc | 8 +
src/utils.h | 3 +
test/003-omnibus-opcodes/build | 1 -
test/023-many-interfaces/build | 1 -
test/056-const-string-jumbo/build | 1 -
test/085-old-style-inner-class/build | 1 -
test/etc/default-build | 2 -
test/etc/push-and-run-test-jar | 2 +-
44 files changed, 794 insertions(+), 320 deletions(-)
27 GC
https://android.googlesource.com/platform/art/+/5d76c435082332ef79a22962386fa92a0870e378
commit 5d76c435082332ef79a22962386fa92a0870e378
Author: Ian Rogers <irogers@google.com>
Date: Mon Oct 31 21:42:49 2011 -0700
Mark non-image spaces and use write barrier for image spaces.
Don't mark string and class roots that are in the image, alloc space
references will be caught by the write barrier.
Change-Id: Idcf9e4ede3b83556d4f8a01276273726dc6eea46
build/Android.common.mk | 1 +
src/card_table.cc | 129 ++++++++++++++++++++++++
src/card_table.h | 103 +++++++++++++++++++
src/class_linker.cc | 33 ++++--
src/class_linker.h | 3 +-
src/compiler/Dalvik.h | 4 +-
src/compiler/codegen/arm/Thumb2/Gen.cc | 3 -
src/heap.cc | 29 ++++--
src/heap.h | 36 ++++++-
src/heap_bitmap.cc | 74 ++++++++++----
src/heap_bitmap.h | 4 +-
src/image_writer.cc | 1 +
src/intern_table.cc | 10 +-
src/intern_table.h | 1 +
src/java_lang_System.cc | 4 +-
src/mark_sweep.cc | 178 +++++++++++++++++++++++++++++----
src/mark_sweep.h | 27 +++++
src/object.cc | 17 ++--
src/object.h | 31 ++++--
src/space.cc | 17 ++++
src/space.h | 11 ++
src/sun_misc_Unsafe.cc | 103 ++++++++-----------
src/thread.cc | 5 +
src/thread.h | 5 +-
24 files changed, 682 insertions(+), 147 deletions(-)
28 LLVM backend for ART
https://android.googlesource.com/platform/art/+/d1fec81868a3567560a3868350e0a945248e925b
commit d1fec81868a3567560a3868350e0a945248e925b
Author: Shih-wei Liao <sliao@google.com>
Date: Mon Feb 13 09:51:10 2012 -0800
Beginning of LLVM backend for ART.
Change-Id: I03466aed94670ac72d489ebc6e34d7ee1c9c857e
.gitignore | 1 +
build/Android.common.mk | 51 +++++++--
build/Android.libart.mk | 14 +++
src/compiled_method.cc | 10 ++
src/compiled_method.h | 13 +++
src/compiler.cc | 22 +++-
src/compiler.h | 15 +++
src/compiler_llvm/backend_types.h | 132 +++++++++++++++++++++
src/compiler_llvm/compiler_llvm.cc | 96 ++++++++++++++++
src/compiler_llvm/compiler_llvm.h | 107 ++++++++++++++++++
src/compiler_llvm/frontend.cc | 40 +++++++
src/compiler_llvm/ir_builder.cc | 130 +++++++++++++++++++++
src/compiler_llvm/ir_builder.h | 214 +++++++++++++++++++++++++++++++++++
src/compiler_llvm/libdex.h | 46 ++++++++
src/compiler_llvm/method_compiler.cc | 77 +++++++++++++
src/compiler_llvm/method_compiler.h | 111 ++++++++++++++++++
16 files changed, 1066 insertions(+), 13 deletions(-)
29 Significant restructuring of the Quick compiler
https://android.googlesource.com/platform/art/+/311ca169f4727d46a55bdc8dfa0059719fa72b65
commit 311ca169f4727d46a55bdc8dfa0059719fa72b65
Author: buzbee <buzbee@google.com>
Date: Thu Feb 28 15:56:43 2013 -0800
Compiler: Spring cleaning
Significant restructuring of the Quick compiler to break out the
common frontend more cleanly. Additional C++'ification.
The goal is to move from the monolithic structure of the old
JIT towards a more modular model in which components - in
particular the compiler backend - can be replaced. This CL
focuses on moving MIR-related data from the CompilationUnit
struct into a new MIRGraph class. The next CL will isolate all
LIR-related data and code down into the Quick backend.
This change will happen in multiple steps, and may look uglier
before it starts looking better.
Among the changes:
o Moved all mir-related fields from CompilationUnit to new
MirGraph class.
o Moved the register promotion stuff into the Quick backend.
o Deleted the GBC to LIR conversion code.
o Replaced with old C-style function pointer dataflow analysis
dispatcher with a basic block iterator class.
o Renamed some files to make the name more consistent with what
the code actually does.
o Added the foundation for future inlining support.
o Stripped out the remains of the old fingerprinting mechanism.
Change-Id: I6c30facc642f8084b1c7b2075cf7014de387aa56
build/Android.libart-compiler.mk | 9 +-
src/compiler/dex/compiler_internals.h | 2 +-
src/compiler/dex/compiler_ir.h | 372 +--
src/compiler/dex/compiler_utility.cc | 187 +-
src/compiler/dex/compiler_utility.h | 5 +
src/compiler/dex/dataflow.cc | 2571 --------------------
src/compiler/dex/dataflow.h | 182 --
src/compiler/dex/dataflow_iterator.cc | 117 +
src/compiler/dex/dataflow_iterator.h | 51 +
src/compiler/dex/frontend.cc | 1047 +-------
src/compiler/dex/frontend.h | 31 +-
.../dex/{bb_opt.cc => local_value_numbering.cc} | 5 +-
.../dex/{bb_opt.h => local_value_numbering.h} | 4 +-
src/compiler/dex/mir_dataflow.cc | 1380 +++++++++++
src/compiler/dex/mir_graph.cc | 840 +++++++
src/compiler/dex/mir_graph.h | 431 ++++
src/compiler/dex/mir_optimization.cc | 874 +++++++
src/compiler/dex/portable/mir_to_gbc.cc | 1540 +-----------
src/compiler/dex/portable/mir_to_gbc.h | 1 -
src/compiler/dex/quick/arm/call_arm.cc | 12 +-
src/compiler/dex/quick/arm/codegen_arm.h | 4 +-
src/compiler/dex/quick/arm/int_arm.cc | 24 +-
src/compiler/dex/quick/arm/target_arm.cc | 10 +-
src/compiler/dex/quick/codegen.h | 22 +-
src/compiler/dex/quick/codegen_util.cc | 54 +-
src/compiler/dex/quick/gen_common.cc | 31 +-
src/compiler/dex/quick/gen_invoke.cc | 12 +-
src/compiler/dex/quick/gen_loadstore.cc | 35 +-
src/compiler/dex/quick/mips/call_mips.cc | 8 +-
src/compiler/dex/quick/mips/codegen_mips.h | 4 +-
src/compiler/dex/quick/mips/int_mips.cc | 2 +-
src/compiler/dex/quick/mips/target_mips.cc | 8 +-
src/compiler/dex/quick/mir_to_lir.cc | 52 +-
src/compiler/dex/quick/ralloc_util.cc | 57 +-
src/compiler/dex/quick/ralloc_util.h | 2 -
src/compiler/dex/quick/x86/assemble_x86.cc | 4 +-
src/compiler/dex/quick/x86/call_x86.cc | 11 +-
src/compiler/dex/quick/x86/codegen_x86.h | 4 +-
src/compiler/dex/quick/x86/int_x86.cc | 2 +-
src/compiler/dex/quick/x86/target_x86.cc | 6 +-
src/compiler/dex/ralloc.h | 28 -
src/compiler/dex/ssa_transformation.cc | 582 ++---
src/compiler/dex/ssa_transformation.h | 28 -
src/compiler/dex/{ralloc.cc => vreg_analysis.cc} | 349 ++-
src/compiler/driver/compiler_driver.h | 1 -
src/compiler/driver/dex_compilation_unit.cc | 1 +
src/compiler/llvm/gbc_expander.cc | 1 +
src/dex2oat.cc | 2 -
48 files changed, 4646 insertions(+), 6359 deletions(-)
30 Initial CompilerDriver
https://android.googlesource.com/platform/art/+/1212a022fa5f8ef9585d765b1809521812af882c
commit 1212a022fa5f8ef9585d765b1809521812af882c
Author: Ian Rogers <irogers@google.com>
Date: Mon Mar 4 10:48:41 2013 -0800
Move the Compiler to CompilerDriver.
Change-Id: I0bb4d3c2b79b45fd8ef180688c767712b0c55978
build/Android.common.mk | 4 +-
src/common_test.h | 24 +--
src/compiler/dex/compiler_internals.h | 2 +-
src/compiler/dex/compiler_ir.h | 6 +-
src/compiler/dex/dataflow.cc | 6 +-
src/compiler/dex/frontend.cc | 16 +-
src/compiler/dex/frontend.h | 2 +-
src/compiler/dex/portable/mir_to_gbc.cc | 8 +-
src/compiler/dex/quick/codegen_util.cc | 28 +--
src/compiler/dex/quick/gen_common.cc | 44 ++---
src/compiler/dex/quick/gen_invoke.cc | 6 +-
src/compiler/dex/quick/mir_to_lir.cc | 4 +-
src/compiler/dex/write_elf.cc | 9 +-
.../driver/compiler_driver.cc} | 196 +++++++++++----------
.../driver/compiler_driver.h} | 35 ++--
.../driver/compiler_driver_test.cc} | 10 +-
src/compiler_llvm/compiler_llvm.cc | 68 +++----
src/compiler_llvm/compiler_llvm.h | 12 +-
src/compiler_llvm/gbc_expander.cc | 32 ++--
src/compiler_llvm/jni_compiler.cc | 9 +-
src/compiler_llvm/jni_compiler.h | 6 +-
src/compiler_llvm/llvm_compilation_unit.cc | 10 +-
src/compiler_llvm/llvm_compilation_unit.h | 8 +-
src/compiler_llvm/stub_compiler.cc | 6 +-
src/compiler_llvm/stub_compiler.h | 6 +-
src/dex2oat.cc | 56 +++---
src/elf_writer.cc | 11 +-
src/elf_writer.h | 11 +-
src/image_test.cc | 10 +-
src/image_writer.cc | 20 +--
src/image_writer.h | 8 +-
src/oat/jni/arm/jni_internal_arm.cc | 4 +-
src/oat/jni/jni_compiler.cc | 6 +-
src/oat/jni/mips/jni_internal_mips.cc | 4 +-
src/oat/jni/x86/jni_internal_x86.cc | 4 +-
src/oat_test.cc | 12 +-
src/oat_writer.cc | 40 ++---
src/oat_writer.h | 8 +-
src/stack.cc | 1 -
src/verifier/method_verifier.cc | 14 +-
src/verifier/method_verifier.h | 14 +-
41 files changed, 397 insertions(+), 383 deletions(-)
31 Initial ParallelCompilationManager
https://android.googlesource.com/platform/art/+/219b5a847ef74be5d3de4c16a29ec6413cc42af1
commit 219b5a847ef74be5d3de4c16a29ec6413cc42af1
Author: Ian Rogers <irogers@google.com>
Date: Mon Mar 4 13:48:24 2013 -0800
Rename CompilationContext to ParallelCompilationManager.
We have a large number of things named context as well as context generally
being for things that are local.
Change-Id: I667322790e49a3432fd0f697803ebedcb9b5b56f
src/compiler/driver/compiler_driver.cc | 110 ++++++++++++++++-----------------
src/compiler/driver/compiler_driver.h | 4 +-
2 files changed, 57 insertions(+), 57 deletions(-)
32 Compiler: LIR restructuring
https://android.googlesource.com/platform/art/+/1fd3346740dfb7f47be9922312b68a4227fada96
commit 1fd3346740dfb7f47be9922312b68a4227fada96
Author: buzbee <buzbee@google.com>
Date: Mon Mar 25 13:40:45 2013 -0700
Compiler: LIR restructuring
Continuing restructuring of the compiler. In this installment,
all LIR reverences are moved from compiler_ir down to quick. Further,
all Portable data is moved to from compiler_ir down to portable.
In short, the great dumping ground of CompilationUnit has been
split into three smaller dumping grounds of MIRGraph, Codegen
and MIRConverter. From here, subsequent CLs will repartition
those smaller dumping grounds into (hopefully) more coherent classes.
As a result, most function signatures have been altered to remove
the passing around of a CompilationUnit* pointer.
Change-Id: I7195f7baecd81e87786a952e18bbce0b6ceeaac4
.../dex/{quick/local_optimizations.h => backend.h} | 23 +-
src/compiler/dex/compiler_internals.h | 2 +-
src/compiler/dex/compiler_ir.h | 409 +------
src/compiler/dex/compiler_utility.cc | 349 +-----
src/compiler/dex/compiler_utility.h | 30 +-
src/compiler/dex/frontend.cc | 146 +--
src/compiler/dex/frontend.h | 9 +-
src/compiler/dex/mir_dataflow.cc | 44 +-
src/compiler/dex/mir_graph.cc | 344 +++++-
src/compiler/dex/mir_graph.h | 279 ++++-
src/compiler/dex/mir_optimization.cc | 31 +-
src/compiler/dex/portable/mir_to_gbc.cc | 1229 ++++++++++----------
src/compiler/dex/portable/mir_to_gbc.h | 169 ++-
src/compiler/dex/quick/arm/assemble_arm.cc | 45 +-
src/compiler/dex/quick/arm/call_arm.cc | 471 ++++----
src/compiler/dex/quick/arm/codegen_arm.h | 280 ++---
src/compiler/dex/quick/arm/fp_arm.cc | 197 ++--
src/compiler/dex/quick/arm/int_arm.cc | 786 +++++++------
src/compiler/dex/quick/arm/int_arm.cc | 786 +++++++------
src/compiler/dex/quick/arm/target_arm.cc | 262 +++--
src/compiler/dex/quick/arm/utility_arm.cc | 281 +++--
src/compiler/dex/quick/codegen.h | 434 -------
src/compiler/dex/quick/codegen_util.cc | 660 ++++++-----
src/compiler/dex/quick/codegen_util.h | 68 --
src/compiler/dex/quick/gen_common.cc | 1162 +++++++++---------
src/compiler/dex/quick/gen_invoke.cc | 939 +++++++--------
src/compiler/dex/quick/gen_loadstore.cc | 237 ++--
src/compiler/dex/quick/local_optimizations.cc | 77 +-
src/compiler/dex/quick/mips/assemble_mips.cc | 55 +-
src/compiler/dex/quick/mips/call_mips.cc | 280 +++--
src/compiler/dex/quick/mips/codegen_mips.h | 259 ++---
src/compiler/dex/quick/mips/fp_mips.cc | 124 +-
src/compiler/dex/quick/mips/int_mips.cc | 422 ++++---
src/compiler/dex/quick/mips/target_mips.cc | 288 +++--
src/compiler/dex/quick/mips/utility_mips.cc | 226 ++--
src/compiler/dex/quick/mir_to_lir.cc | 415 ++++---
src/compiler/dex/quick/mir_to_lir.h | 736 +++++++++++-
src/compiler/dex/quick/ralloc_util.cc | 789 ++++++-------
src/compiler/dex/quick/ralloc_util.h | 162 ---
src/compiler/dex/quick/x86/assemble_x86.cc | 509 ++++----
src/compiler/dex/quick/x86/call_x86.cc | 215 ++--
src/compiler/dex/quick/x86/codegen_x86.h | 276 ++---
src/compiler/dex/quick/x86/fp_x86.cc | 255 ++--
src/compiler/dex/quick/x86/int_x86.cc | 419 ++++---
src/compiler/dex/quick/x86/target_x86.cc | 227 ++--
src/compiler/dex/quick/x86/utility_x86.cc | 210 ++--
src/compiler/dex/ssa_transformation.cc | 51 +-
src/compiler/dex/vreg_analysis.cc | 237 ++--
src/compiler/driver/compiler_driver.h | 3 +-
src/compiler/llvm/gbc_expander.cc | 2 +-
49 files changed, 7485 insertions(+), 7638 deletions(-)
33 Improve interpreter to interpreter invokes.
https://android.googlesource.com/platform/art/+/167436311a08a65dea28dda079a137893821c9c7
commit 167436311a08a65dea28dda079a137893821c9c7
Author: Jeff Hao <jeffhao@google.com>
Date: Wed May 8 10:59:04 2013 -0700
Improve interpreter to interpreter invokes.
The interpreter constructs a shadow frame instead of arg array to make
interpreter to interpreter transitions faster. This adds a pointer to
an entry for the interpreter to each method.
Change-Id: If48911d3aa3470847b8548a9e92090b829f4f254
src/class_linker.cc | 16 ++++
src/class_linker_test.cc | 25 +++---
src/compiler/driver/compiler_driver.cc | 3 +-
src/interpreter/interpreter.cc | 138 ++++++++++++++++++++++++++-------
src/interpreter/interpreter.h | 3 +
src/invoke_arg_array_builder.h | 58 +-------------
src/mirror/abstract_method.cc | 2 +-
src/mirror/abstract_method.h | 24 ++++--
src/oat/runtime/support_interpreter.cc | 16 ++++
src/stack.h | 5 ++
10 files changed, 188 insertions(+), 102 deletions(-)
34 Initial entry_point_from_compiled_code_
https://android.googlesource.com/platform/art/+/I9b02d2df95bbeafa6e6387b461f574c57337a61e
commit aa4a793d7175ceeb1efa215c2af5e52e42b22f0a
Author: Jeff Hao <jeffhao@google.com>
Date: Mon May 13 11:28:27 2013 -0700
Rename abstract method code_ to entry_point_from_compiled_code_.
Change-Id: I9b02d2df95bbeafa6e6387b461f574c57337a61e
src/asm_support.h | 4 ++--
src/class_linker.cc | 26 ++++++++++++++------------
src/class_linker_test.cc | 26 +++++++++++++-------------
src/compiler/dex/quick/gen_invoke.cc | 6 +++---
src/compiler/driver/compiler_driver.cc | 2 +-
src/compiler/driver/compiler_driver_test.cc | 2 +-
src/compiler/jni/jni_compiler_test.cc | 4 ++--
src/compiler/llvm/gbc_expander.cc | 4 ++--
src/compiler/llvm/runtime_support_llvm.cc | 2 +-
src/exception_test.cc | 4 ++--
src/image_writer.cc | 6 +++---
src/instrumentation.cc | 8 ++++----
src/mirror/abstract_method-inl.h | 12 ++++++------
src/mirror/abstract_method.cc | 8 ++++----
src/mirror/abstract_method.h | 28 ++++++++++++++--------------
src/mirror/object_test.cc | 2 +-
src/oat/runtime/support_invoke.cc | 4 ++--
src/oat/runtime/support_stubs.cc | 8 ++++----
src/oat_file.cc | 2 +-
src/oat_writer.cc | 2 +-
src/oatdump.cc | 6 +++---
src/runtime.cc | 4 ++--
22 files changed, 86 insertions(+), 84 deletions(-)
35 GC reconsturction
https://android.googlesource.com/platform/art/+/1d54e73444e017d3a65234e0f193846f3e27472b
commit 1d54e73444e017d3a65234e0f193846f3e27472b
Author: Ian Rogers <irogers@google.com>
Date: Thu May 2 21:10:01 2013 -0700
GC clean up.
Greater use of directories and namespaces.
Fix bugs that cause verify options
.....
rather than the max memory footprint.
Change-Id: Ie87067140fa4499b15edab691fe6565d79599812
build/Android.common.mk | 39 +-
src/atomic_integer.h | 2 +-
src/barrier_test.cc | 2 +-
src/base/mutex.cc | 6 +
src/base/mutex.h | 4 +
src/base/timing_logger.cc | 116 +++-
src/base/timing_logger.h | 58 ++
src/check_jni.cc | 4 +-
src/class_linker.cc | 37 +-
src/class_linker.h | 11 +-
src/class_linker_test.cc | 4 +-
src/common_test.h | 57 +-
src/compiler/dex/quick/arm/call_arm.cc | 2 +-
src/compiler/dex/quick/mips/call_mips.cc | 2 +-
src/compiler/dex/quick/x86/call_x86.cc | 2 +-
src/compiler/driver/compiler_driver.cc | 20 +-
src/compiler/driver/compiler_driver_test.cc | 2 +-
src/compiler/llvm/runtime_support_builder.cc | 8 +-
src/debugger.cc | 24 +-
src/dex2oat.cc | 17 +-
src/gc/{ => accounting}/atomic_stack.h | 46 +-
src/gc/{ => accounting}/card_table-inl.h | 4 +
src/gc/{ => accounting}/card_table.cc | 13 +-
src/gc/{ => accounting}/card_table.h | 19 +-
src/gc/{ => accounting}/heap_bitmap-inl.h | 24 +-
src/gc/accounting/heap_bitmap.cc | 92 +++
src/gc/accounting/heap_bitmap.h | 129 +++++
36 oatexec —> dalvikvm
https://android.googlesource.com/platform/art/+/fa42b4410d49134a8e63dc2196be4013d286f2d6
commit fa42b4410d49134a8e63dc2196be4013d286f2d6
Author: Brian Carlstrom <bdc@google.com>
Date: Mon Jun 17 12:53:45 2013 -0700
Move to new art dalvikvm
Change-Id: Ib04bc9853b7084965fa0c9899c3e5f5ac42d4ce7
build/Android.common.mk | 3 --
build/Android.executable.mk | 6 ++--
build/Android.oattest.mk | 6 ++--
dalvikvm/Android.mk | 39 +++++++++++++++++++++++
src/oatexec.cc => dalvikvm/dalvikvm.cc | 57 ++++++++++++++++++++++++++--------
src/base/logging.cc | 29 ++++++++++-------
src/runtime.cc | 2 +-
test/etc/host-run-test-jar | 21 +++++++------
test/etc/push-and-run-test-jar | 19 +++++++-----
test/run-test | 2 +-
tools/art | 6 ++--
11 files changed, 134 insertions(+), 56 deletions(-)
37 Added support for SEA IR
https://android.googlesource.com/platform/art/+/7467ee05012e1fd9834df74663c1ebda46f5636b
commit 7467ee05012e1fd9834df74663c1ebda46f5636b
Author: Dragos Sbirlea <dragoss@google.com>
Date: Fri Jun 21 09:20:34 2013 -0700
Added support for SEA IR.
- Modified makefile to take the existance of SEA_IR_ART
file to mean "switch to sea ir mode".
- Switching SEA IR mode on leads to the new compiler being
fed the fibonacci methods only, if they are used as input.
- Added partial support for the control flow subgraph of
the SEA IR (instruction nodes and region nodes for
conditional and unconditional branches).
Change-Id: I29020b8e2df5a00fde75715c3683cc25038589f4
Conflicts:
src/compiler/driver/compiler_driver.cc
.gitignore | 3 +
build/Android.common.mk | 18 ++++
build/Android.libart-compiler.mk | 5 +
src/compiler/dex/frontend.cc | 5 +
src/compiler/dex/frontend.h | 7 ++
src/compiler/driver/compiler_driver.cc | 21 +++-
src/compiler/driver/compiler_driver.h | 1 +
src/compiler/sea_ir/frontend.cc | 81 ++++++++++++++++
src/compiler/sea_ir/sea.cc | 172 +++++++++++++++++++++++++++++++++
src/compiler/sea_ir/sea.h | 102 +++++++++++++++++++
src/dex2oat.cc | 6 ++
src/runtime.cc | 4 +
src/runtime.h | 13 +++
13 files changed, 436 insertions(+), 2 deletions(-)
38 Initial Compilation Filter
https://android.googlesource.com/platform/art/+/a024a0686c3b0fea13f362bff70d65981e5febc5
commit a024a0686c3b0fea13f362bff70d65981e5febc5
Author: buzbee <buzbee@google.com>
Date: Wed Jul 31 10:47:37 2013 -0700
Compilation filter
This CL introduces a static compilation filter mechanism intended
to allow us to reduce compilation time and space requirements until
we have a profiling mechanism in place.
It supports 5 modes of filtering:
o interpret-only (compile nothing)
o deferred-compilation (compile only those methods believe to be
compute-intensive)
o space (optimized for space)
o balanced (best return on space investment)
o speed (compile everything)
A future CL will allow the default filtering mode to be set
via system property. For now, you can pass it in via command
line as follows:
dalvikvm -compiler-filter:[interpret-only|defer-compilation|
space|balanced|speed]
or dex2oat --runtime-arg -compiler-filter:[one of the above modes]
Creating a file named art/SMALL_ART will force the filter
default to interpret-only. Later on we'll move this capability
to a persistent system property.
or modify kDefaultCompilerFilter in runtime.h
It also changes the compiler driver to allow the compilers to
decline to compile a method by return NULL.
Change-Id: Ic73411818f8bb845a4a19a05b0395c50902c534f
compiler/Android.mk | 1 +
compiler/dex/frontend.cc | 5 +
compiler/dex/frontend.h | 1 +
compiler/dex/mir_analysis.cc | 1056 +++++++++++++++++++++++++++++++++++
compiler/dex/mir_graph.h | 45 ++
compiler/driver/compiler_driver.cc | 10 +-
dex2oat/dex2oat.cc | 18 +-
runtime/class_linker.cc | 24 +
runtime/runtime.cc | 44 +-
runtime/runtime.h | 73 ++-
runtime/verifier/method_verifier.cc | 11 +-
11 files changed, 1228 insertions(+), 60 deletions(-)
39 Big Goto Table
https://android.googlesource.com/platform/art/+/8ece050d85fc244c72610244e440b0e00aa618fa
commit 8ece050d85fc244c72610244e440b0e00aa618fa
Author: Sebastien Hertz <shertz@google.com>
Date: Wed Aug 7 11:26:41 2013 +0200
Add an interpreter using computed goto table.
This CL adds a new implementation of the interpreter using computed goto table.
In order to keep the switch-based implementation, it reorders things as the
following:
- Keep interpreter entrypoints into interpreter.h/.cc files.
- Move common interpreter parts to interpreter_common.h/.cc files.
- Separate both implementations to their own modules.
The interpreter implementation can be selected by changing the value of the
kInterpreterImplKind global variable (see interpreter.cc file). The default one
remains the switch-based implementation.
Also updates the exception handling (FindNextInstructionFollowingException) and
SPARSE_SWITCH switch handling (DoSparseSwitch) routines to share code between both
implementations.
Finally, adds a PACKED_SWITCH handling routine (DoPackedSwitch) so we are
consistent with SPARSE_SWITCH handling.
The computed goto implementation use two handlers table: one for normal
instruction handling and one for instrumentation handling. The current handlers
table to be used is updated on backward branch depending on whether there is
listener to DEX pc change.
Bug: 10602809
Change-Id: Ibb53bcc68be75c473fe5440835e78fc9a74381b3
runtime/Android.mk | 3 +
runtime/interpreter/interpreter.cc | 2812 +-------------------
runtime/interpreter/interpreter_common.cc | 389 +++
runtime/interpreter/interpreter_common.h | 516 ++++
runtime/interpreter/interpreter_goto_table_impl.cc | 2343 ++++++++++++++++
runtime/interpreter/interpreter_switch_impl.cc | 2030 ++++++++++++++
6 files changed, 5307 insertions(+), 2786 deletions(-)
40 Rewrite CompilerDriver
https://android.googlesource.com/platform/art/+/f5df8974173124faddb8e2b6a331959afdb94fdf
commit f5df8974173124faddb8e2b6a331959afdb94fdf
Author: Nicolas Geoffray <ngeoffray@google.com>
Date: Fri Feb 14 18:37:08 2014 +0000
Rewrite the compiler interface for CompilerDriver.
Change-Id: I15fa9afe7ffb7283ebda8d788a1e02793e3f75a6
compiler/Android.mk | 1 +
compiler/compiler_backend.cc | 293 ++++++++++++++++++++++++++++++++++++
compiler/compiler_backend.h | 96 ++++++++++++
compiler/dex/compiler_ir.h | 2 +-
compiler/dex/frontend.cc | 100 ++----------
compiler/dex/mir_optimization.cc | 2 +-
compiler/dex/portable/mir_to_gbc.cc | 16 ++
compiler/driver/compiler_driver.cc | 137 ++---------------
compiler/driver/compiler_driver.h | 34 +----
compiler/llvm/compiler_llvm.cc | 6 +-
compiler/oat_test.cc | 7 +-
compiler/sea_ir/frontend.cc | 21 +--
dex2oat/dex2oat.cc | 21 +--
runtime/common_test.h | 7 +-
14 files changed, 473 insertions(+), 270 deletions(-)
41 Initial Optimizing Compiler
https://android.googlesource.com/platform/art/+/68a5fefa90f03fdf5a238ac85c9439c6b03eae96
commit 68a5fefa90f03fdf5a238ac85c9439c6b03eae96
Author: Nicolas Geoffray <ngeoffray@google.com>
Date: Tue Feb 18 16:43:35 2014 +0000
Initial check-in of an optimizing compiler.
The classes and the names are very much inspired by V8/Dart.
It currently only supports the RETURN_VOID dex instruction,
and there is a pretty printer to check if the building of the
graph is correct.
Change-Id: Id5ef1b317ab997010d4e3888e456c26bef1ab9c0
build/Android.gtest.mk | 3 +-
compiler/Android.mk | 4 +-
compiler/dex/arena_bit_vector.h | 2 +-
compiler/dex/backend.h | 6 +-
compiler/dex/compiler_ir.h | 2 +-
compiler/dex/mir_graph.h | 2 +-
compiler/dex/quick/mir_to_lir.h | 4 +-
compiler/driver/compiler_driver.h | 2 +-
compiler/optimizing/builder.cc | 64 ++++++
compiler/optimizing/builder.h | 57 +++++
compiler/optimizing/nodes.cc | 60 ++++++
compiler/optimizing/nodes.h | 274 ++++++++++++++++++++++++
compiler/optimizing/pretty_printer.h | 51 +++++
compiler/optimizing/pretty_printer_test.cc | 87 ++++++++
compiler/utils/allocation.h | 50 +++++
compiler/{dex => utils}/arena_allocator.cc | 2 -
compiler/{dex => utils}/arena_allocator.h | 7 +-
compiler/{dex => utils}/arena_allocator_test.cc | 4 +-
compiler/{dex => utils}/growable_array.h | 24 ++-
19 files changed, 679 insertions(+), 26 deletions(-)
42 Re-apply: Initial check-in of an optimizing compiler.
https://android.googlesource.com/platform/art/+/818f2107e6d2d9e80faac8ae8c92faffa83cbd11
commit 818f2107e6d2d9e80faac8ae8c92faffa83cbd11
Author: Nicolas Geoffray <ngeoffray@google.com>
Date: Tue Feb 18 16:43:35 2014 +0000
Re-apply: Initial check-in of an optimizing compiler.
The classes and the names are very much inspired by V8/Dart.
It currently only supports the RETURN_VOID dex instruction,
and there is a pretty printer to check if the building of the
graph is correct.
Change-Id: I28e125dfee86ae6ec9b3fec6aa1859523b92a893
build/Android.gtest.mk | 3 +-
compiler/Android.mk | 4 +-
compiler/dex/arena_bit_vector.h | 2 +-
compiler/dex/backend.h | 6 +-
compiler/dex/compiler_ir.h | 2 +-
compiler/dex/mir_graph.h | 2 +-
compiler/dex/quick/mir_to_lir.h | 4 +-
compiler/driver/compiler_driver.h | 2 +-
compiler/optimizing/builder.cc | 64 ++++++
compiler/optimizing/builder.h | 57 +++++
compiler/optimizing/nodes.cc | 60 ++++++
compiler/optimizing/nodes.h | 276 ++++++++++++++++++++++++
compiler/optimizing/pretty_printer.h | 51 +++++
compiler/optimizing/pretty_printer_test.cc | 87 ++++++++
compiler/utils/allocation.h | 50 +++++
compiler/{dex => utils}/arena_allocator.cc | 2 -
compiler/{dex => utils}/arena_allocator.h | 7 +-
compiler/{dex => utils}/arena_allocator_test.cc | 4 +-
compiler/{dex => utils}/growable_array.h | 24 ++-
19 files changed, 681 insertions(+), 26 deletions(-)
43 Support optimizing Compiler
https://android.googlesource.com/platform/art/+/b34f69ab43aaf7a6e6045c95f398baf566ef5023
commit b34f69ab43aaf7a6e6045c95f398baf566ef5023
Author: Nicolas Geoffray <ngeoffray@google.com>
Date: Fri Mar 7 15:28:39 2014 +0000
Add command line support for enabling the optimizing compiler.
Also run tests with the optimizing compiler enabled when
the file art/USE_OPTIMIZING_COMPILER is present.
Change-Id: Ibc33eed62a43547bc3b9fe786d014c0d81b5add8
build/Android.common.mk | 17 +++
compiler/Android.mk | 6 +-
compiler/common_compiler_test.h | 8 +-
compiler/{compiler_backend.cc => compiler.cc} | 169 ++++----------------------
compiler/{compiler_backend.h => compiler.h} | 26 ++--
compiler/compilers.cc | 152 +++++++++++++++++++++++
compiler/compilers.h | 103 ++++++++++++++++
compiler/dex/compiler_ir.h | 2 +-
compiler/dex/frontend.cc | 25 ++--
compiler/dex/mir_optimization.cc | 2 +-
compiler/driver/compiler_driver.cc | 26 ++--
compiler/driver/compiler_driver.h | 10 +-
compiler/llvm/compiler_llvm.cc | 4 +-
compiler/oat_test.cc | 10 +-
compiler/optimizing/optimizing_compiler.cc | 32 +++++
dex2oat/dex2oat.cc | 32 ++---
test/Android.mk | 9 +-
17 files changed, 412 insertions(+), 221 deletions(-)
44 AArch64: Add memory allocation in low 4GB
https://android.googlesource.com/platform/art/+/8dba5aaaffc0bc2b2580bf02f0d9095c00d26a17
commit 8dba5aaaffc0bc2b2580bf02f0d9095c00d26a17
Author: Stuart Monteith <stuart.monteith@arm.com>
Date: Wed Mar 12 12:44:01 2014 +0000
AArch64: Add memory allocation in low 4GB
MAP_32BIT is implemented for only x86_64. Other 64bit platforms
don't have an equivalent.
This is a unsophisticated implemention of a scheme using msync and
MAP_FIXED to reproduce the functionality of MAP_32BIT.
Adds MAP_FIXED to RemapAtEnd, as the address used for the new mmap
doesn't get located correctly without it on aarch64.
Add MemMap::next_mem_pos_ to store last position. Add a safety assert.
Change-Id: I61871ff7fc327554c43e1d7f448c3d376490f1ea
runtime/mem_map.cc | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++++--
runtime/mem_map.h | 4 ++++
2 files changed, 61 insertions(+), 2 deletions(-)
45 Plug new optimizing compiler in compilation pipeline
https://android.googlesource.com/platform/art/+/787c3076635cf117eb646c5a89a9014b2072fb44
commit 787c3076635cf117eb646c5a89a9014b2072fb44
Author: Nicolas Geoffray <ngeoffray@google.com>
Date: Mon Mar 17 10:20:19 2014 +0000
Plug new optimizing compiler in compilation pipeline.
Also rename accessors to ART's conventions.
Change-Id: I344807055b98aa4b27215704ec362191464acecc
compiler/optimizing/builder.cc | 8 +--
compiler/optimizing/code_generator.cc | 53 ++++++++---------
compiler/optimizing/code_generator.h | 55 +++++++++--------
compiler/optimizing/code_generator_arm.cc | 92 ++++++++++++++--------------
compiler/optimizing/code_generator_arm.h | 38 ++++++++++--
compiler/optimizing/code_generator_x86.cc | 96 +++++++++++++++---------------
compiler/optimizing/code_generator_x86.h | 36 ++++++++++-
compiler/optimizing/codegen_test.cc | 26 ++++----
compiler/optimizing/dominator_test.cc | 8 +--
compiler/optimizing/nodes.cc | 51 ++++++++--------
compiler/optimizing/nodes.h | 92 ++++++++++++++--------------
compiler/optimizing/optimizing_compiler.cc | 66 +++++++++++++++++++-
compiler/optimizing/pretty_printer.h | 20 +++----
compiler/optimizing/pretty_printer_test.cc | 4 +-
14 files changed, 387 insertions(+), 258 deletions(-)
46 Remove portable LLVM
https://android.googlesource.com/platform/art/+/956af0f0cb05422e38c1d22cbef309d16b8a1a12
commit 956af0f0cb05422e38c1d22cbef309d16b8a1a12
Author: Elliott Hughes <enh@google.com>
Date: Thu Dec 11 14:34:28 2014 -0800
Remove portable.
Change-Id: I3bf3250fa866fd2265f1b115d52fa5dedc48a7fc
build/Android.common_build.mk | 36 -
build/Android.executable.mk | 3 -
build/Android.gtest.mk | 11 -
compiler/Android.mk | 68 -
compiler/common_compiler_test.cc | 75 +-
compiler/compiled_method.cc | 74 +-
compiler/compiled_method.h | 27 +-
compiler/compiler.cc | 52 -
compiler/compiler.h | 31 +-
compiler/dex/frontend.cc | 2 -
compiler/dex/frontend.h | 2 -
compiler/dex/mir_optimization.cc | 3 +-
compiler/dex/portable/mir_to_gbc.cc | 2003 -----------
compiler/dex/portable/mir_to_gbc.h | 241 --
compiler/dex/quick/quick_compiler.cc | 12 +-
compiler/dex/verification_results.cc | 12 +-
compiler/driver/compiler_driver.cc | 40 +-
compiler/driver/compiler_driver.h | 12 -
compiler/driver/compiler_driver_test.cc | 5 -
compiler/driver/compiler_options.h | 19 -
compiler/elf_writer_mclinker.cc | 411 ---
compiler/elf_writer_mclinker.h | 98 -
compiler/elf_writer_test.cc | 22 -
compiler/image_test.cc | 5 -
compiler/image_writer.cc | 40 +-
compiler/image_writer.h | 11 +-
compiler/jni/jni_compiler_test.cc | 41 -
compiler/jni/portable/jni_compiler.cc | 322 --
compiler/jni/portable/jni_compiler.h | 87 -
compiler/llvm/art_module.ll | 153 -
compiler/llvm/backend_options.h | 50 -
compiler/llvm/backend_types.h | 104 -
compiler/llvm/compiler_llvm.cc | 233 --
compiler/llvm/compiler_llvm.h | 115 -
compiler/llvm/gbc_expander.cc | 3796 --------------------
47 Enable optimizing Compiler
https://android.googlesource.com/platform/art/+/b34f69ab43aaf7a6e6045c95f398baf566ef5023
commit b34f69ab43aaf7a6e6045c95f398baf566ef5023
Author: Nicolas Geoffray <ngeoffray@google.com>
Date: Fri Mar 7 15:28:39 2014 +0000
Add command line support for enabling the optimizing compiler.
Also run tests with the optimizing compiler enabled when
the file art/USE_OPTIMIZING_COMPILER is present.
Change-Id: Ibc33eed62a43547bc3b9fe786d014c0d81b5add8
build/Android.common.mk | 17 +++
compiler/Android.mk | 6 +-
compiler/common_compiler_test.h | 8 +-
compiler/{compiler_backend.cc => compiler.cc} | 169 ++++----------------------
compiler/{compiler_backend.h => compiler.h} | 26 ++--
compiler/compilers.cc | 152 +++++++++++++++++++++++
compiler/compilers.h | 103 ++++++++++++++++
compiler/dex/compiler_ir.h | 2 +-
compiler/dex/frontend.cc | 25 ++--
compiler/dex/mir_optimization.cc | 2 +-
compiler/driver/compiler_driver.cc | 26 ++--
compiler/driver/compiler_driver.h | 10 +-
compiler/llvm/compiler_llvm.cc | 4 +-
compiler/oat_test.cc | 10 +-
compiler/optimizing/optimizing_compiler.cc | 32 +++++
dex2oat/dex2oat.cc | 32 ++---
test/Android.mk | 9 +-
17 files changed, 412 insertions(+), 221 deletions(-)