242ae94dc39be53e519a6163ea1db494ceb75954 |
|
23-Jul-2015 |
Andreas Gampe <agampe@google.com> |
ART: Change the stack dump format to be in line with debuggerd Make offsets 16 digits on 64-bit platforms. Add the ability to provide the build fingerprint, and print it in the traces output. Bug: 22693991 Change-Id: Ibd3d3b3bd65dce84acfb97a487807d6f280a9508
|
2cebb24bfc3247d3e9be138a3350106737455918 |
|
22-Apr-2015 |
Mathieu Chartier <mathieuc@google.com> |
Replace NULL with nullptr Also fixed some lines that were too long, and a few other minor details. Change-Id: I6efba5fb6e03eb5d0a300fddb2a75bf8e2f175cb
|
40da286d3207d88ed8ff3f5caac4873874603428 |
|
27-Feb-2015 |
Andreas Gampe <agampe@google.com> |
ART: Streaming trace mode Add a streaming mode for tracing. Streaming uses a buffer of 16KB and writes to the output when that buffer gets full. Streaming mode can be enabled with -Xmethod-trace-stream and is currently not exposed otherwise. Add a python script that can parse the streaming format, which simply contains strings for newly encountered threads and methods inline, and create output that can be used with traceview. Add Trace::Pause and Trace::Abort, which can pause and abort tracing. Abort is different from Stop in that it does not write the data. Add code to the zygote hooks JNI implementation that pauses tracing before the fork, making sure that a child cannot clobber the parent's data. Add code to the zygote hooks JNI implementation that aborts old tracing and starts new tracing in the child after the fork. Currently base the output on the pid. This will not work on an unmodified device, as the profiles directory is not generally writable, but we do not have enough information at that point. Consider a scheme that restarts tracing later. Change-Id: I93c7bf87e35af582bdfdd3ecc7c52454514220dd
|
10d6886c9ce3ed87431cf10d376a69c23950fa61 |
|
15-Apr-2015 |
Mathieu Chartier <mathieuc@google.com> |
Disable parallel GC by default Not using parallel GC seems to reduce avg pauses by ~0.1s on EvaluateAndApplyChanges. Avoiding creating the thread pool should help app launch slightly and reduce memory ussage. Change-Id: Iebec2a17701c76e4145b41d7c0b4f6dd17806efa
|
65b798ea10dd716c1bb3dda029f9bf255435af72 |
|
06-Apr-2015 |
Andreas Gampe <agampe@google.com> |
ART: Enable more Clang warnings Change-Id: Ie6aba02f4223b1de02530e1515c63505f37e184c
|
9106e52a47042043edfb2a0fea05f28d52903c47 |
|
31-Mar-2015 |
Andreas Gampe <agampe@google.com> |
ART: Set default prune counter to 10 By default, prune cache at boot after ten failed boots. Bug: 19983101 Change-Id: Ib88f807e0082d71292c14c7af38e02cca5a5602c
|
785049f8083e56e88dfeab5ff74fb3817f9854e3 |
|
18-Jul-2014 |
Dmitriy Ivanov <dimitry@google.com> |
Add paths to apk!lib/<abi> to LD_LIBRARY_PATH Add paths to .apk to LD_LIBRARY_PATH to enable bionic linker's "open from zip-file" feature. Bug: 8076853 Change-Id: I1aa2c039bb2a590ae72f256acc9ba5401c2c59b1
|
a4885cbaafd35fe9c60eb6cd95e41e2c86f54f66 |
|
09-Mar-2015 |
Mathieu Chartier <mathieuc@google.com> |
Add way to print JIT related info at shutdown Added a runtime option called -XX:DumpJITInfoOnShutdown with prints various interesting JIT statistics during the shutdown of the runtime if enabled. Example of running EvaluateAndApplyChanges with the option: I art : Code cache size=427KB data cache size=84KB num methods=1598 I art : Start Dumping histograms for 1598 iterations for JIT timings I art : Compiling: Sum: 727.850ms 99% C.I. 135us-4402us Avg: 455.475us Max: 15567us I art : Verifying: Sum: 191.074ms 99% C.I. 19us-1450.500us Avg: 119.570us Max: 5142us I art : TrimMaps: Sum: 62.053ms 99% C.I. 13us-199.374us Avg: 38.831us Max: 10058us I art : MakeExecutable: Sum: 11.153ms 99% C.I. 4us-47us Avg: 6.979us Max: 47us I art : Initializing: Sum: 7.991ms 99% C.I. 1us-49.781us Avg: 5us Max: 4852us I art : Done Dumping histograms Bug: 17950037 Change-Id: I23538b24f947e5f6934f55579b8baa9d806eb3d5
|
1972a8ed19577edbf5d96fc587747d5b821979c4 |
|
06-Mar-2015 |
Mathieu Chartier <mathieuc@google.com> |
Rename -Xjit / -Xnojit options to -Xusejit:<boolean> Bug: 17950037 Change-Id: I9182820240c8bbc2fa4767f6361ab3b7f1083a31
|
e5f13e57ff8fa36342beb33830b3ec5942a61cca |
|
24-Feb-2015 |
Mathieu Chartier <mathieuc@google.com> |
Revert "Revert "Add JIT"" Added missing EntryPointToCodePointer. This reverts commit a5ca888d715cd0c6c421313211caa1928be3e399. Change-Id: Ia74df0ef3a7babbdcb0466fd24da28e304e3f5af
|
a5ca888d715cd0c6c421313211caa1928be3e399 |
|
24-Feb-2015 |
Nicolas Geoffray <ngeoffray@google.com> |
Revert "Add JIT" Sorry, run-test crashes on target: 0-05 12:15:51.633 I/DEBUG (27995): Abort message: 'art/runtime/mirror/art_method.cc:349] Check failed: PcIsWithinQuickCode(reinterpret_cast<uintptr_t>(code), pc) java.lang.Throwable java.lang.Throwable.fillInStackTrace() pc=71e3366b code=0x71e3362d size=ad000000' 10-05 12:15:51.633 I/DEBUG (27995): r0 00000000 r1 0000542b r2 00000006 r3 00000000 10-05 12:15:51.633 I/DEBUG (27995): r4 00000006 r5 b6f9addc r6 00000002 r7 0000010c 10-05 12:15:51.633 I/DEBUG (27995): r8 b63fe1e8 r9 be8e1418 sl b6427400 fp b63fcce0 10-05 12:15:51.633 I/DEBUG (27995): ip 0000542b sp be8e1358 lr b6e9a27b pc b6e9c280 cpsr 40070010 10-05 12:15:51.633 I/DEBUG (27995): Bug: 17950037 This reverts commit 2535abe7d1fcdd0e6aca782b1f1932a703ed50a4. Change-Id: I6f88849bc6f2befed0c0aaa0b7b2a08c967a83c3
|
2535abe7d1fcdd0e6aca782b1f1932a703ed50a4 |
|
17-Feb-2015 |
Mathieu Chartier <mathieuc@google.com> |
Add JIT Currently disabled by default unless -Xjit is passed in. The proposed JIT is a method JIT which works by utilizing interpreter instrumentation to request compilation of hot methods async during runtime. JIT options: -Xjit / -Xnojit -Xjitcodecachesize:N -Xjitthreshold:integervalue The JIT has a shared copy of a compiler driver which is accessed by worker threads to compile individual methods. Added JIT code cache and data cache, currently sized at 2 MB capacity by default. Most apps will only fill a small fraction of this cache however. Added support to the compiler for compiling interpreter quickened byte codes. Added test target ART_TEST_JIT=TRUE and --jit for run-test. TODO: Clean up code cache. Delete compiled methods after they are added to code cache. Add more optimizations related to runtime checks e.g. direct pointers for invokes. Add method recompilation. Move instrumentation to DexFile to improve performance and reduce memory usage. Bug: 17950037 Change-Id: Ifa5b2684a2d5059ec5a5210733900aafa3c51bca
|
24e04aa68c575d349eac0d9d09aab9bd3106ef94 |
|
12-Sep-2014 |
Jean Christophe Beyler <jean.christophe.beyler@intel.com> |
ART: Allow the execution to stop if the compilation fails via an option The current implementation continues the execution of the application if dex2oat fails by relying on the interpreter. This patch adds a -Xno-dex-file-fallback option to stop the default behavior. This can be used two-fold. First, one can enforce that a runtime only starts with a boot image. A follow-up patch will ensure that dex2oat (for apps) and patchoat in general request that mode and close gracefully otherwise. Second, this can be used for testing and debugging purposes, as it ensures that compiler failures & aborts are not silently ignored. Add testing. Bug: 19100590 Change-Id: Iaf07b5ccf00942ca8a8ec8687599320a3ddbc089 Signed-off-by: Jean Christophe Beyler <jean.christophe.beyler@intel.com>
|
5a2be3f40125af8b25fbbd9d55dc968168c76ed7 |
|
16-Feb-2015 |
Narayan Kamath <narayan@google.com> |
Implement a simple count based boot marker. We write the number of failed boots to the marker and only prune the dalvik cache if the number of consecutive failed boots is higher than a predefined threshold. Note that the code is forgiving of errors related to boot markers; we continue the boot process even if we're unable to create / write or flush the boot marker. bug: 19360096 Change-Id: Ia17c3b783318ddf43c9199d0f7f09c54a4176667
|
f360ad091bdc1484db2e4e0f0492f620402dbf58 |
|
20-Feb-2015 |
Hiroshi Yamauchi <yamauchi@google.com> |
Make UseTLAB a bool flag. This would make it easier to override its default value at build time. Change-Id: I643fe1afaf492f0443dc01df0c9a62bb3fa025d9
|
4af0b08c7da92770f1ef92a260fa0eecccba6899 |
|
07-Feb-2015 |
Hiroshi Yamauchi <yamauchi@google.com> |
Fix gcstress tests. Bug: 19295410 Change-Id: I15db7c1f9c78b632106beab6a6c97a2b3c37f110
|
aaebaa0121be3b9d9f13630585304482cbcaeb4b |
|
26-Jan-2015 |
Igor Murashkin <iam@google.com> |
art: Refactor RuntimeOptions/ParsedOptions Refactor the RuntimeOptions to be a type-safe map (VariantMap, see runtime_options.h) and the ParsedOptions to delegate the parsing to CmdlineParser (see cmdline/cmdline_parser.h). This is the start of a command line parsing refactor, and may include more in the future (dex2oat, patchoat, etc). For more details of the command line parsing generator usage see cmdline/README.md Change-Id: Ic67c6bca5e1f33bf2ec60e2e3ff8c366bab91563
|
02c5f4dbc26d3a055953a5ac4578817bc0375b41 |
|
30-Jan-2015 |
Brian Carlstrom <bdc@google.com> |
Remove some unused cutils/properties.h references Also remove an obsolete include workaround Change-Id: Ie17387280285b969c4e9b5334bafde8239b9faf6
|
2cd334ae2d4287216523882f0d298cf3901b7ab1 |
|
09-Jan-2015 |
Hiroshi Yamauchi <yamauchi@google.com> |
More of the concurrent copying collector. Bug: 12687968 Change-Id: I62f70274d47df6d6cab714df95c518b750ce3105
|
312baf19603ff7d2b223fd7b1ef817171a97f9d0 |
|
12-Jan-2015 |
Hiroshi Yamauchi <yamauchi@google.com> |
Follow up on CL 122665. We now do the two-step memory protection strategy (first protect the from space with PROT_READ and later protect it with PROT_NONE) only if the from space is a rosalloc space (excluding the more common bump pointer space case). This strengthens the GC verification for the bump pointer space case as we avoid the case where mutators run while the from space is PROT_READ rather than PROT_NONE. Add a command line flag to override the minimum interval for the hspace compaction for OOM and set it to zero in the gcstress/gcverify run-tests to run the hspace compaction more frequently in tests. Fix some comments. Bug: 18960494 Change-Id: I518b011e026f578e53c4ec269cfb82865b0fae68
|
c275259449ec57987e52d3ab1eda3272b994488f |
|
02-Jan-2015 |
Richard Uhler <ruhler@google.com> |
Remove back-door bootclasspath option from Runtime The 'bootclasspath' option allowed users of the Runtime to load their own boot class path DexFiles and pass them directly to the Runtime as an option. This obscures the fact that the Runtime must take ownership of the boot class path DexFiles. This change removes the use of the bootclasspath option by dex2oat and the common runtime tests. For dex2oat, we use the existing -Xbootclasspath option instead, and introduce a new -Xbootclasspath-locations option to override the dex locations for the loaded boot class path dex files. For the common runtime tests, we simply use -Xbootclasspath. Bug: 18809837 Change-Id: Idfcd4885390bf0f3dc350993756dd337220def73
|
d0e0d4c833b82ac2639de9dea6042ccb87fe37ed |
|
12-Dec-2014 |
Lin Zang <lin.zang@intel.com> |
Disable HomogeneousSpaceCompact for GSS collector HomogeneousSpaceCompact is not suitable when GSS is forground collector. This will fix issue that device can not boot with GSS collecor. Change-Id: Iafdf431c207351571f41bbc9196dff02ba674ab4 Signed-off-by: Lin Zang <lin.zang@intel.com>
|
20ed5af7a623a2d095082f8d6f53151c46fb8842 |
|
18-Nov-2014 |
Hiroshi Yamauchi <yamauchi@google.com> |
Enable the hspace compaction on OOM by default. (cherrypick commit d3f228062a1d71ce6ace2f31ecf369ae247633c2) Bug: 18377775 Change-Id: I4a0998c7f35b6418004e92bc07926abc9b74962a
|
d3f228062a1d71ce6ace2f31ecf369ae247633c2 |
|
15-Nov-2014 |
Hiroshi Yamauchi <yamauchi@google.com> |
Enable the hspace compaction on OOM by default. Bug: 18377775 Change-Id: I714367813e0f6d7cb854ace7f40dad0715f99e00
|
277ccbd200ea43590dfc06a93ae184a765327ad0 |
|
04-Nov-2014 |
Andreas Gampe <agampe@google.com> |
ART: More warnings Enable -Wno-conversion-null, -Wredundant-decls and -Wshadow in general, and -Wunused-but-set-parameter for GCC builds. Change-Id: I81bbdd762213444673c65d85edae594a523836e5
|
6a3c1fcb4ba42ad4d5d142c17a3712a6ddd3866f |
|
31-Oct-2014 |
Ian Rogers <irogers@google.com> |
Remove -Wno-unused-parameter and -Wno-sign-promo from base cflags. Fix associated errors about unused paramenters and implict sign conversions. For sign conversion this was largely in the area of enums, so add ostream operators for the effected enums and fix tools/generate-operator-out.py. Tidy arena allocation code and arena allocated data types, rather than fixing new and delete operators. Remove dead code. Change-Id: I5b433e722d2f75baacfacae4d32aef4a828bfe1b
|
c7dd295a4e0cc1d15c0c96088e55a85389bade74 |
|
22-Oct-2014 |
Ian Rogers <irogers@google.com> |
Tidy up logging. Move gVerboseMethods to CompilerOptions. Now "--verbose-methods=" option to dex2oat rather than runtime argument "-verbose-methods:". Move ToStr and Dumpable out of logging.h, move LogMessageData into logging.cc except for a forward declaration. Remove ConstDumpable as Dump methods are all const (and make this so if not currently true). Make LogSeverity an enum and improve compile time assertions and type checking. Remove log_severity.h that's only used in logging.h. With system headers gone from logging.h, go add to .cc files missing system header includes. Also, make operator new in ValueObject private for compile time instantiation checking. Change-Id: I3228f614500ccc9b14b49c72b9821c8b0db3d641
|
677cd61ad05d993c4d3b22656675874f06d6aabc |
|
15-Oct-2014 |
Ian Rogers <irogers@google.com> |
Make ART compile with GCC -O0 again. Tidy up InstructionSetFeatures so that it has a type hierarchy dependent on architecture. Add to instruction_set_test to warn when InstructionSetFeatures don't agree with ones from system properties, AT_HWCAP and /proc/cpuinfo. Clean-up class linker entry point logic to not return entry points but to test whether the passed code is the particular entrypoint. This works around image trampolines that replicate entrypoints. Bug: 17993736 (cherry picked from commit 6f3dbbadf4ce66982eb3d400e0a74cb73eb034f3) Change-Id: I3e7595f437db4828072589d475a5453b7f31003e
|
6f3dbbadf4ce66982eb3d400e0a74cb73eb034f3 |
|
15-Oct-2014 |
Ian Rogers <irogers@google.com> |
Make ART compile with GCC -O0 again. Tidy up InstructionSetFeatures so that it has a type hierarchy dependent on architecture. Add to instruction_set_test to warn when InstructionSetFeatures don't agree with ones from system properties, AT_HWCAP and /proc/cpuinfo. Clean-up class linker entry point logic to not return entry points but to test whether the passed code is the particular entrypoint. This works around image trampolines that replicate entrypoints. Bug: 17993736 Change-Id: I5f4b49e88c3b02a79f9bee04f83395146ed7be23
|
07140838a3ee44a6056cacdc78f2930e019107da |
|
01-Oct-2014 |
Ian Rogers <irogers@google.com> |
Enable -Wunreachable-code Caught bugs in DeoptimizeStackVisitor and assemble_x86 SIB encoding. Add UNREACHABLE macro to document code expected to be unreachable. Bug: 17731047 Change-Id: I2e363fe5b38a1246354d98be18c902a6031c0b9e
|
890da84d37cc80640c1a379e035a9e0fdea08865 |
|
18-Sep-2014 |
Brian Carlstrom <bdc@google.com> |
Revert "Use homogeneous space compaction if proper flag is set." This reverts commit 44bd8c1cc4d8e0ffcdbdf51ed496af94fc2083e5. Change-Id: Ie62307d5b5bd0135d871855c5c5182add1c40939
|
6b2352b41543a7d96f9c13b714781cedf504f766 |
|
20-Aug-2014 |
Mathieu Chartier <mathieuc@google.com> |
Use homogeneous space compact by default if not low memory. Otherwise we use semispace as the background collector. Bug: 16401001 (cherry picked from commit a33a7fadadc7cb42c83b4aaed01f3a4c126d3075) Change-Id: I6f753f72a05856f31a3e06427abce630231738a3
|
2dbe627954fd78a3659ab3cd42d2ead5b4529441 |
|
16-Sep-2014 |
Mathieu Chartier <mathieuc@google.com> |
Add runtime options for large object space Adds the two following options: Option -XX:LargeObjectSpace={freelist, map, disabled} Option -XX:LargeObjectThreshold=size specifies the size for which primitive arrays are allocated in the large object space. Added handling for large object space == null in collectors. Fixed an error in the mem map space where we didn't use the page aligned size LOS for bytes allocated, this resutled in heaps appearing a bit smaller than they should be. Change-Id: I6f17c3534b59e7dc68cd375153e7a846799b3da4
|
2c2426c63ad8436b6aaf27238478da0d8c9a5497 |
|
30-Aug-2014 |
Andreas Gampe <agampe@google.com> |
ART: Fix accidental "1" Should have been "0". Change-Id: I9ad3cf1e6be6d0fcf4c8f3700ddeec4e6d5ce167
|
313f40345a2bbea299a035d4176272d1a6622afd |
|
30-Aug-2014 |
Andreas Gampe <agampe@google.com> |
ART: Initialize fields of ParsedOptions Avoids certain paths where we touched uninitialized fields. Bug: 17330858 Change-Id: Ia68161b12eefefacad6fc524f487f8e2caf6342a
|
507e6180ad271eb719c67ce7394852c731d975a5 |
|
19-Aug-2014 |
Alex Light <allight@google.com> |
Support running without a boot image. Bug: 17000769 (cherry picked from commit 64ad14dbe2225441fb7734bf6d89358d96692eea) Change-Id: I6404d5050c8a2f4ee6e70d58532eb25ee9de248e
|
64ad14dbe2225441fb7734bf6d89358d96692eea |
|
19-Aug-2014 |
Alex Light <allight@google.com> |
Support running without a boot image. Bug: 17000769 Change-Id: I6404d5050c8a2f4ee6e70d58532eb25ee9de248e
|
6a7824dc81aaab3cb09ced16affca72d1b1da649 |
|
22-Aug-2014 |
Mathieu Chartier <mathieuc@google.com> |
Add fallback for non moving space being full. When the non moving space becomes full, we disable moving GC and make the main space the new non moving space. Also added a runtime option for changing the non moving space size: -XX:NonMovingSpaceCapacity. Bug: 17189964 (cherry picked from commit 4c5a469683e433f126c9863cd393747d2e7c4a29) Change-Id: If82e3c6f8a0f389e37e14a0b1e6d5126d571fd7a
|
4c5a469683e433f126c9863cd393747d2e7c4a29 |
|
22-Aug-2014 |
Mathieu Chartier <mathieuc@google.com> |
Add fallback for non moving space being full. When the non moving space becomes full, we disable moving GC and make the main space the new non moving space. Also added a runtime option for changing the non moving space size: -XX:NonMovingSpaceCapacity. Bug: 17189964 Change-Id: I04d00d0f457f6c1f5724bf32932b6b6ce4d341b1
|
0deeb815d32be7c98d8b1567db3e8f8d190b6d3b |
|
22-Aug-2014 |
Mathieu Chartier <mathieuc@google.com> |
Fix testing wrong variable for non zygote. For non zygote we want to only have a single non moving space to let dex2oat use RosAlloc for all allocations. Fixed stale low memory logic in parsed options. Bug: 17189964 (cherry picked from commit a12c2a945fe3f10d3ed31aa5db3e422cc1ad7f98) Change-Id: I4fc00b277db6780ed410eab4cd969e8f004d5348
|
a68629ed992e2eef7b139b09e46ebe8fd3fb5ef2 |
|
22-Aug-2014 |
Calin Juravle <calin@google.com> |
Always setup the native bridge library ... even if the string is empty. This will initialize the native bridge library but mark it as unavailable. - also, rename native_bridge_library_path to native_bridge_library_filename to be closer to the actual meaning (it's just the filename without any path). Bug: 16404669 (cherry picked from commit I94628639691459d48d1fbf0841f36b68d51818e7) Change-Id: I94628639691459d48d1fbf0841f36b68d51818e7
|
a12c2a945fe3f10d3ed31aa5db3e422cc1ad7f98 |
|
22-Aug-2014 |
Mathieu Chartier <mathieuc@google.com> |
Fix testing wrong variable for non zygote. For non zygote we want to only have a single non moving space to let dex2oat use RosAlloc for all allocations. Fixed stale low memory logic in parsed options. Bug: 17189964 Change-Id: I85a565002fd18ae30105df084796521abd60ea12
|
ccdd4a5be1db2588767ed230b7064e5fe802ce8d |
|
22-Aug-2014 |
Calin Juravle <calin@google.com> |
Always setup the native bridge library ... even if the string is empty. This will initialize the native bridge library but mark it as unavailable. - also, rename native_bridge_library_path to native_bridge_library_filename to be closer to the actual meaning (it's just the filename without any path). Bug: 16404669. Change-Id: I94628639691459d48d1fbf0841f36b68d51818e7
|
20c89303a9d89ba857bf969ad14a31f12c3be878 |
|
20-Aug-2014 |
Andreas Gampe <agampe@google.com> |
ART: Relax GetInstructionSetFromString Do not abort on an unknown instruction set string. Instead return kNone and let the caller handle this. Also simplify the patchoat tool to use this. Bug: 17136416 (cherry picked from commit aabbb2066a715b3fd8e752291f74c6d77b970450) Change-Id: I24131914bcf91c04ae93179bf809a2907f1f2b7a
|
a33a7fadadc7cb42c83b4aaed01f3a4c126d3075 |
|
20-Aug-2014 |
Mathieu Chartier <mathieuc@google.com> |
Use homogeneous space compact by default if not low memory. Otherwise we use semispace as the background collector. Bug: 16401001 Change-Id: I7b20e0888695521604758c98d09f0709fa2158ef
|
aabbb2066a715b3fd8e752291f74c6d77b970450 |
|
20-Aug-2014 |
Andreas Gampe <agampe@google.com> |
ART: Relax GetInstructionSetFromString Do not abort on an unknown instruction set string. Instead return kNone and let the caller handle this. Also simplify the patchoat tool to use this. Bug: 17136416 Change-Id: I24131914bcf91c04ae93179bf809a2907f1f2b7a
|
9c290012b7f505ae1943ab87236f775b97a46e2d |
|
22-Jul-2014 |
Nicolas Geoffray <ngeoffray@google.com> |
Execute an application even when dex2oat crashes. Bug: 17000769 (cherry picked from commit 4fcdc94d22a4608e355aa8df36240181149d10e8) Change-Id: Iccb1fec94fe64ce4c3097510952f275482b86aa9
|
93de4273d72a2558a7b3423547b5074cd76c5796 |
|
12-Aug-2014 |
Calin Juravle <calin@google.com> |
[ART] Move to system/core native bridge library Some cleanups on the way: - move NativeBridgeRuntimeCallbacks from a global to a field - rename native_bridge_library_string to the more suggestive navtive_bridge_library_path - clean up imports Bug: 16884833 (cherry picked from commit I73aab8e212860ba5aee9444d801806d3da326a41) Change-Id: I67f037ea81d2a4ede4294afd8b84b7640e534a13
|
c8423521c1d1136c70b153479b7df3bf4fd7fc2a |
|
12-Aug-2014 |
Calin Juravle <calin@google.com> |
[ART] Move to system/core native bridge library Some cleanups on the way: - move NativeBridgeRuntimeCallbacks from a global to a field - rename native_bridge_library_string to the more suggestive navtive_bridge_library_path - clean up imports Bug: 16884833 Change-Id: I73aab8e212860ba5aee9444d801806d3da326a41
|
44bd8c1cc4d8e0ffcdbdf51ed496af94fc2083e5 |
|
14-Aug-2014 |
Mathieu Chartier <mathieuc@google.com> |
Use homogeneous space compaction if proper flag is set. If the flag ART_USE_HSPACE_COMPACT is set then we use hspace compaction. Bug: 16401001 Change-Id: I74e1db764f9ff16c007fa3bd16cb2c9b468ec83c
|
b162bf5af5c2e508c6947471ceffaa98991794f4 |
|
14-Aug-2014 |
Mathieu Chartier <mathieuc@google.com> |
Use homogeneous space compaction if proper flag is set. If the flag ART_USE_HSPACE_COMPACT is set then we use hspace compaction. Bug: 16401001 Change-Id: I74e1db764f9ff16c007fa3bd16cb2c9b468ec83c
|
f8c4ed08832ec5302c9ea8441ec8cb39b87075ab |
|
08-Aug-2014 |
Andreas Gampe <agampe@google.com> |
ART: Fix wrong command line parameter Bug: 16843953 (cherry picked from commit c4a7acf505944e7d937f0670b322e12302dd38dc) Change-Id: Ib59e10a5d97a20ea1a013587645e0eeb204eda8d
|
4c37afb7b207424ff788ab8d8778ea4e8d4ac324 |
|
07-Aug-2014 |
Calin Juravle <calin@google.com> |
Get the native bridge library from the framework. Framework now passes the name of the native bridge to the runtime so there's no need to do the reading in libart. Bug: 16843953 (cherry picked from commit 421b6466977d4b1ccd453f23b7b492f219099702) Change-Id: I9a0a8b8c64949e05c6f90bc846d68f0797640f6d
|
22e4bb062671bd871d0d4fd5ee51bc115dba9aaa |
|
14-Aug-2014 |
Mathieu Chartier <mathieuc@google.com> |
Use homogeneous space compaction for non low memory devices. Saves nearly as much memory without needing the foreground transition. TODO: Pass in these flags from AndroidRuntime.cpp. Bug: 16401001 Change-Id: Iecad0cc0c04fdf9cabe6f9d7f87c761a94b4142c
|
4fcdc94d22a4608e355aa8df36240181149d10e8 |
|
22-Jul-2014 |
Nicolas Geoffray <ngeoffray@google.com> |
Execute an application even when dex2oat crashes. Bug: 17000769 Change-Id: Iffeb582862a5e794b6c7364c7ec2368cfd0f2214
|
c4a7acf505944e7d937f0670b322e12302dd38dc |
|
08-Aug-2014 |
Andreas Gampe <agampe@google.com> |
ART: Fix wrong command line parameter Bug: 16843953 Change-Id: I59aea409a5f640a713f839927ba5c37b81e4ce0d
|
68d8b42ddec39ec0174162d90d4abaa004d1983e |
|
17-Jul-2014 |
Ian Rogers <irogers@google.com> |
Wire up check JNI force copy mode. Increase check JNI checks. Break apart jni_internal.h in to jni_env_ext.h and java_vm_ext.h. Fix the abuse of ScopedObjectAccess/annotalysis by ScopedCheck in the case of VM routines. Make class loader override and shared library class loader JNI global references rather than mirror pointers. Clean-ups to native bridge. Change-Id: If7c6110b5aade7a402bfb67534af86a7b2cdeb55
|
421b6466977d4b1ccd453f23b7b492f219099702 |
|
07-Aug-2014 |
Calin Juravle <calin@google.com> |
Get the native bridge library from the framework. Framework now passes the name of the native bridge to the runtime so there's no need to do the reading in libart. Bug: 16843953 Change-Id: I59b5c3050c6e1a37a627a8c98d7085e91487c32c
|
855564b83db7b106d2995d0e784f1f4b62e52371 |
|
25-Jul-2014 |
Andreas Gampe <agampe@google.com> |
ART: Native bridge command-line parameter Add a command-line parameter for the native bridge library, slight refactor/cleanup. Add run-test 115 to test the native bridge interface. Currently the tests are black-listed for the target, as the setup for the test is too complicated in the current infrastructure. Change-Id: I6ccf19485e8c30b96e9f2fd5425278cb1ebd403f
|
a59dd80f9f48cb750d329d4d4af2d99d72b484d1 |
|
03-Jul-2014 |
Alex Light <allight@google.com> |
Runtime can now be set to require relocation Add a pair of runtime flags -Xrelocate and -Xnorelocate that can force the runtime to require that all files that are run are relocated, to prevent attacks based on the known art base address. Add support for running patchoat on oat files compiled without an image. Change run-test to have new --prebuild and --relocate flags. Bug: 15358152 Change-Id: I91166c62dd1ab80e5cbcb7883a2cd0d56afca32d
|
147eb41b53729ec8d5c188d1cac90964a51afb8a |
|
11-Jul-2014 |
Dave Allison <dallison@google.com> |
Revert "Revert "Revert "Revert "Add implicit null and stack checks for x86"""" This reverts commit 0025a86411145eb7cd4971f9234fc21c7b4aced1. Bug: 16256184 Change-Id: Ie0760a0c293aa3b62e2885398a8c512b7a946a73 Conflicts: compiler/dex/quick/arm64/target_arm64.cc compiler/image_test.cc runtime/fault_handler.cc
|
69dfe51b684dd9d510dbcb63295fe180f998efde |
|
11-Jul-2014 |
Dave Allison <dallison@google.com> |
Revert "Revert "Revert "Revert "Add implicit null and stack checks for x86"""" This reverts commit 0025a86411145eb7cd4971f9234fc21c7b4aced1. Bug: 16256184 Change-Id: Ie0760a0c293aa3b62e2885398a8c512b7a946a73
|
e63db27db913f1a88e2095a1ee8239b2bb9124e8 |
|
16-Jul-2014 |
Ian Rogers <irogers@google.com> |
Break apart header files. Create libart-gtest for common runtime and compiler gtest routines. Rename CompilerCallbacksImpl that is quick compiler specific. Rename trace clock source constants to not use the overloaded profiler term. Change-Id: I4aac4bdc7e7850c68335f81e59a390133b54e933
|
f37a88b8e6db6c587fa449a12e40cb46be1689fc |
|
10-Jul-2014 |
Zuo Wang <zuo.wang@intel.com> |
ART: Compacting ROS/DlMalloc spaces with semispace copy GC Current semispace copy GC is mainly associated with bump pointer spaces. Though it squeezes fragmentation most aggressively, an extra copy is required to re-establish the data in the ROS/DlMalloc space to allow CMS GCs to happen afterwards. As semispace copy GC is still stop-the-world, this not only introduces unnecessary overheads but also longer response time. Response time indicates the time duration between the start of transition request and the start of transition animation, which may impact the user experience. Using semispace copy GC to compact the data in a ROS space to another ROS(or DlMalloc space to another DlMalloc) space solves this problem. Although it squeezes less fragmentation, CMS GCs can run immediately after the compaction. We apply this algorithm in two cases: 1) Right before throwing an OOM if -XX:EnableHSpaceCompactForOOM is passed in as true. 2) When app is switched to background if the -XX:BackgroundGC option has value HSpaceCompact. For case 1), OOMs are significantly delayed in the harmony GC stress test, with compaction ratio up to 0.87. For case 2), compaction ratio around 0.5 is observed in both built-in SMS and browser. Similar results have been obtained on other apps as well. Change-Id: Iad9eabc6d046659fda3535ae20f21bc31f89ded3 Signed-off-by: Wang, Zuo <zuo.wang@intel.com> Signed-off-by: Chang, Yang <yang.chang@intel.com> Signed-off-by: Lei Li <lei.l.li@intel.com> Signed-off-by: Lin Zang <lin.zang@intel.com>
|
7fb36ded9cd5b1d254b63b3091f35c1e6471b90e |
|
10-Jul-2014 |
Dave Allison <dallison@google.com> |
Revert "Revert "Add implicit null and stack checks for x86"" Fixes x86_64 cross compile issue. Removes command line options and property to set implicit checks - this is hard coded now. This reverts commit 3d14eb620716e92c21c4d2c2d11a95be53319791. Change-Id: I5404473b5aaf1a9c68b7181f5952cb174d93a90d
|
0025a86411145eb7cd4971f9234fc21c7b4aced1 |
|
11-Jul-2014 |
Nicolas Geoffray <ngeoffray@google.com> |
Revert "Revert "Revert "Add implicit null and stack checks for x86""" Broke the build. This reverts commit 7fb36ded9cd5b1d254b63b3091f35c1e6471b90e. Change-Id: I9df0e7446ff0913a0e1276a558b2ccf6c8f4c949
|
34e826ccc80dc1cf7c4c045de6b7f8360d504ccf |
|
29-May-2014 |
Dave Allison <dallison@google.com> |
Add implicit null and stack checks for x86 This adds compiler and runtime changes for x86 implicit checks. 32 bit only. Both host and target are supported. By default, on the host, the implicit checks are null pointer and stack overflow. Suspend is implemented but not switched on. Change-Id: I88a609e98d6bf32f283eaa4e6ec8bbf8dc1df78a
|
3d14eb620716e92c21c4d2c2d11a95be53319791 |
|
10-Jul-2014 |
Dave Allison <dallison@google.com> |
Revert "Add implicit null and stack checks for x86" It breaks cross compilation with x86_64. This reverts commit 34e826ccc80dc1cf7c4c045de6b7f8360d504ccf. Change-Id: I34ba07821fc0a022fda33a7ae21850957bbec5e7
|
445220d4fe5bd9f0616d6da2322a7b6e9466595e |
|
21-Jun-2014 |
Wei Jin <wejin@google.com> |
Add a new type of profile data in ART profiler This CL allows the ART profiler to collect bounded stack information that contains only method signature and dex pc on the current stack frames to a bounded depth. The type of the profile data is by default disabled, and can be enabled by setting the option "-Xprofile-type:stack". The bound is controlled by the option "-Xprofile-max-stack-depth:integervalue". Change-Id: Ieab789951018b2263c4d140b40b6c73bffc6a549
|
a93b0bb9abfbd19fc40ff8ced8818aec1a3464b9 |
|
10-Jun-2014 |
Wei Jin <wejin@google.com> |
Add an option to enable collecting dex pc in ART profiler This CL allows the ART profiler to collect both method signature and dex pc. The type of the profile data is controlled by the option "-Xprofile-type:{method,dexpc}". To avoid conflicting with the original profile data based on method signatures, the new profile data are stored in files with extension ".pc". Change-Id: I8afb2541d386bff77c5b07fc9367d817a79f58e1
|
52e4b43d62896b56f8c2bd041e528472bb4a0d8d |
|
10-Jun-2014 |
Mathieu Chartier <mathieuc@google.com> |
Add mark compact collector. The mark compact collector is a 4 phase collection, doing a normal full mark_sweep, calculating forwarding addresses of objects in the from space, updating references of objects in the from space, and moving the objects in the from space. Support is diabled by default since it needs to have non movable classes and field arrays. Performance numbers is around 50% as fast. The main advantage that this has over semispace is that the worst case memory usage is 50% since we only need one space isntead of two. TODO: Make field arrays and classes movable. This causes complication since Object::VisitReferences relies on these, so if we update the fields of an object but another future object uses this object to figure out what fields are reference fields it doesn't work. Bug: 14059466 Change-Id: I661ed3b71ad4dde124ef80312c95696b4a5665a1
|
a033f7031ae384a50230ad09933048fbaee731d4 |
|
17-Jun-2014 |
Mathieu Chartier <mathieuc@google.com> |
Enable background compaction by default Bug: 8981901 Change-Id: I2b1fe8169779268c130b8804961f968e1ba43cda
|
c321c9bfe0a523ab4bb435368dbd5d38c6651e50 |
|
11-Jun-2014 |
Calin Juravle <calin@google.com> |
Relax limits for profiler options This gives more space for experiments and makes debugging easier. Change-Id: I16b07746098ab2bd6a321d762a80cfea3f7a725d
|
576ca0cd692c0b6ae70e776de91015b8ff000a08 |
|
07-Jun-2014 |
Ian Rogers <irogers@google.com> |
Reduce header files including header files. Main focus is getting heap.h out of runtime.h. Change-Id: I8d13dce8512816db2820a27b24f5866cc871a04b
|
c1b643cc6ac45dbd0eabdcd7425c7e86006c27d6 |
|
31-May-2014 |
Calin Juravle <calin@google.com> |
Fixed and refactored profiler options handling - extracted profiler options in a separate class - switched from system property reading to command line arguments - added profile based compilation options to CompilerOptions - removed no longer used kProfile compilation filter - optimize dex files only if the profiler is enabled - clean up unused arguments Bug: 12877748 Bug: 15275634 Change-Id: I37ff68e7694370950ce8db2360562e9058ecebb7
|
ffddfdf6fec0b9d98a692e27242eecb15af5ead2 |
|
03-Jun-2014 |
Tim Murray <timmurray@google.com> |
DO NOT MERGE Merge ART from AOSP to lmp-preview-dev. Change-Id: I0f578733a4b8756fd780d4a052ad69b746f687a9
|
c0cf944b21ff07963660b780fd5d3701cc9215ab |
|
30-May-2014 |
Dave Allison <dallison@google.com> |
Switch on implicit checks and bump oat version to force recompilation This switches on the compiler's implicit null pointer and stack overflow checks. These use signals Change-Id: I7b536784bbca5f07e30379881a1eea6ab4c258ac
|
12e6d7446384a7a5fbec25fe116bbb271c62842e |
|
22-May-2014 |
Tsu Chiang Chuang <tsu@google.com> |
Add option to specify compiler executable. Change-Id: I973da5e74be5a62461caacbc708288fb95e1b99b
|
54c73caf1233e85bd924be5fdcd8ed960628413d |
|
22-May-2014 |
Calin Juravle <calin@google.com> |
Fix profile-backoff usage message Change-Id: Icccd7bbc0c7b6a088a00dfc7f8c52991ec87f544
|
2221e3bbde1bf81099eb299efe8f61ec71879086 |
|
22-May-2014 |
Wei Jin <wejin@google.com> |
Change profiler file name parsing option This patch renames the option for profile output file name to -Xprofile-filename: to avoid conflicts. Change-Id: I5ba1cf10a7763f083028b8262f9ce2421400c4f3 Signed-off-by: Wei Jin <wejin@google.com>
|
999385ccc2056d58b63abb5169402f50e89cc13e |
|
21-May-2014 |
Dave Allison <dallison@google.com> |
Use strtod to read a double rather than operator >> The >> operator doesn't work on the x86_64 build in the emulator. This works around the issue by using strtod instead. Bug: 15086512 Change-Id: Id7f13889df608ed37e1e8fdef7a449f2d272b9b5
|
f7fd3cb65091c53de0ea2e9bc6fe1af8dc413ebf |
|
20-May-2014 |
Ian Rogers <irogers@google.com> |
Fix typo in option parsing. Change-Id: I3fd7ad6e445babde0677179f3b49f76de3f6894f
|
700a402244a1a423da4f3ba8032459f4b65fa18f |
|
20-May-2014 |
Ian Rogers <irogers@google.com> |
Now we have a proper C++ library, use std::unique_ptr. Also remove the Android.libcxx.mk and other bits of stlport compatibility mechanics. Change-Id: Icdf7188ba3c79cdf5617672c1cfd0a68ae596a61
|
9114f036f9a519995d40a0449142412e060701cf |
|
14-May-2014 |
Brian Carlstrom <bdc@google.com> |
Remove ISA from boot image name. Partially reverts b9beb2e2efb6a204a69ca660d478b45f851e8f09 Bug: 14882223 Change-Id: Ie85bcf593cb25a58090d4cbbe37392bed6a454fd
|
3ac05bba3eadccb33d26b41d9797f63e8378125f |
|
14-May-2014 |
Brian Carlstrom <bdc@google.com> |
Remove ISA from boot image name. Partially reverts b9beb2e2efb6a204a69ca660d478b45f851e8f09 Bug: 14882223 (cherry picked from commit 3da44327c8306bb354c0163a7c7779dea6eeb38a) Change-Id: Idc9266a97d1047434c110ef140e2f2708c4aadef
|
3da44327c8306bb354c0163a7c7779dea6eeb38a |
|
14-May-2014 |
Brian Carlstrom <bdc@google.com> |
Remove ISA from boot image name. Partially reverts b9beb2e2efb6a204a69ca660d478b45f851e8f09 Bug: 14882223 Change-Id: Ie85bcf593cb25a58090d4cbbe37392bed6a454fd
|
d5185344e19d9feb7ac268369e0af6a467d1cb48 |
|
13-May-2014 |
Kenny Root <kroot@google.com> |
Changes for vogar compatibility Make sure dex2oat can make an image with an empty list of image_classes. Add in some checks to make sure that no bad arguments sneak into CompilerDriver. If we're not on the ART_TARGET, we should check for the "hostdex" versions of the libraries to substitute in our libart version. Change-Id: I5e8485c6089d25664492f0217b43ef64ca84c061
|
b9beb2e2efb6a204a69ca660d478b45f851e8f09 |
|
10-May-2014 |
Ian Rogers <irogers@google.com> |
Place ISA into boot image name. Depends upon: https://android-review.googlesource.com/94078 Change-Id: I22c18b03b2c0db7a3f792920064e7710363b58b4
|
1dda060e0f2c2d00d3b5d064d68f18d85bfa9be8 |
|
12-May-2014 |
Hiroshi Yamauchi <yamauchi@google.com> |
Make it easy to change the default GC type. Bug: 13641307 Change-Id: I47a36326be8dbb5fd637b743bbfad1fdde54011d
|
ca1da7aac327bc336f66b05c183d32ff48b4508f |
|
09-May-2014 |
Dave Allison <dallison@google.com> |
Revert "Switch on implicit null pointer and stack overflow checks." This seems to break facebook This reverts commit 052664322767de1799f060c306e729b0e73ce893. Change-Id: I6c8dabdc2519c0925ffde41975878f821e3933de
|
ad9697a91d5acdc772ae6c0461540bfec358a070 |
|
09-May-2014 |
Dave Allison <dallison@google.com> |
Revert "Switch on implicit null pointer and stack overflow checks." This seems to break facebook This reverts commit 052664322767de1799f060c306e729b0e73ce893. Change-Id: I6c8dabdc2519c0925ffde41975878f821e3933de
|
4d466a8e4587422c989705dce3b2a19e7f0137f5 |
|
09-May-2014 |
Brian Carlstrom <bdc@google.com> |
Remove all LOG(DEBUG) which is not intended to be checked in Bug: 14632493 Change-Id: Id9da8b87798af0a1b2bd2c178133e5f1ba47d43d
|
052664322767de1799f060c306e729b0e73ce893 |
|
05-May-2014 |
Dave Allison <dallison@google.com> |
Switch on implicit null pointer and stack overflow checks. This switches on the use of implicit checks for null pointers and stack overflows. These use the SIGSEGV handler in the ART runtime to detect these conditions and throw the appropriate exceptions. Change-Id: I4d27d4e976a58b18fb16a89572b1fb3798608449
|
5cd33753b96d92c03e3cb10cb802e68fb6ef2f21 |
|
16-Apr-2014 |
Dave Allison <dallison@google.com> |
Handle implicit stack overflow without affecting stack walks This changes the way in which implicit stack overflows are handled to satisfy concerns about changes to the stack walk code. Instead of creating a gap in the stack and checking for it in the stack walker, use the ManagedStack infrastructure to concoct an invisible gap that will never be seen by a stack walk. Also, this uses madvise to tell the kernel that the main stack's protected region will probably never be accessed, and instead of using memset to map the pages in, use memcpy to read from them. This will save 32K on the main stack. Also adds a 'signals' verbosity level as per a review request. Bug: 14066862 Change-Id: I5257305feeaea241d11e6aa6f021d2a81da20b81
|
11d9f06a96a6909905c248ed684366190140095c |
|
23-Apr-2014 |
Narayan Kamath <narayan@google.com> |
Use instruction specific dalvik cache dirs. - All oat & art files are now placed under /data/dalvik-cache/<isa>/. - GetDalvikCacheOrDie now requires a mandatory subdirectory argument, and is implicitly rooted under /data/. - Added helper methods to convert InstructionSet enums into strings and vice versa. (cherry picked from commit 2974bc3d8a5d161d449dd66826d668d87bdc3cbe) Change-Id: Ic7986938e6a7091a2af675ebafec768f7b5fb8cd
|
2974bc3d8a5d161d449dd66826d668d87bdc3cbe |
|
23-Apr-2014 |
Narayan Kamath <narayan@google.com> |
Use instruction specific dalvik cache dirs. - All oat & art files are now placed under /data/dalvik-cache/<isa>/. - GetDalvikCacheOrDie now requires a mandatory subdirectory argument, and is implicitly rooted under /data/. - Added helper methods to convert InstructionSet enums into strings and vice versa. Change-Id: I9bff2e2ca534e0b93842a50d5b272ddf6d5745f3
|
6f365cc033654a5a3b45eaa1379d4b5f156b0cee |
|
23-Apr-2014 |
Mathieu Chartier <mathieuc@google.com> |
Enable concurrent sweeping for non-concurrent GC. Refactored the GarbageCollector to let all of the phases be run by the collector's RunPhases virtual method. This lets the GC decide which phases should be concurrent and reduces how much baked in GC logic resides in GarbageCollector. Enabled concurrent sweeping in the semi space and non concurrent mark sweep GCs. Changed the semi-space collector to have a swap semi spaces boolean which can be changed with a setter. Fixed tests to pass with GSS collector, there was an error related to the large object space limit. Before (EvaluateAndApplyChanges): GSS paused GC time 7.81s/7.81s, score: 3920 After (EvaluateAndApplyChanges): GSS paused GC time 6.94s/7.71s, score: 3900 Benchmark score doesn't go up since the GC happens in the allocating thread. There is a slight reduction in pause times experienced by other threads (0.8s total). Added options for pre sweeping GC heap verification and pre sweeping rosalloc verification. Bug: 14226004 Bug: 14250892 Bug: 14386356 Change-Id: Ib557d0590c1ed82a639d0f0281ba67cf8cae938c
|
42d65c52bbf4a354605389a759190e793787f692 |
|
19-Apr-2014 |
Mingyao Yang <mingyao@google.com> |
Add an option to specify a list of methods for LIR dumping. An example would be: --runtime-arg -verbose-methods:Array.checkRange32,Array.checkRange64 or "-verbose-methods:void Array.checkRange32,void Array.checkRange64" Change-Id: I61c1eb3b2eb4b24126a9264261c27889d53cc6bd
|
4ad33b37ba4864a28d229330c2c4592f8fe30ca3 |
|
18-Apr-2014 |
Brian Carlstrom <bdc@google.com> |
Fixing missing newlines in Usage calls Change-Id: Ie5f1098dc7b3c485732bff929d36dbcc4b69511f
|
455820e1fd233a65a10675d380fe6620b5ec2730 |
|
18-Apr-2014 |
Mathieu Chartier <mathieuc@google.com> |
Fix ForegroundHeapGrowthMultiplier and ParseDouble. ForegroundHeapGrowthMultiplier had a bad range of allowed values. The new range is 0.1 - 10.0 instead of 0.1 to 0.9. ParseDouble usage had incorrect printing var args and caused segfaults. Change-Id: I4573005ee9f888cc8140200543176d6a2e17fccc
|
2f8da3e9ff60e5cb2a3fdf57dbcb67f513b9c2c2 |
|
16-Apr-2014 |
Mathieu Chartier <mathieuc@google.com> |
Decrease target utilization for foreground apps. GC time in FormulaEvaluationActions.EvaluateAndApplyChanges goes from 26.1s to 23.2s. Benchmark score goes down ~50 in FormulaEvaluationActions.EvaluateAndApplyChanges, and up ~50 in GenericCalcActions.MemAllocTest. Bug: 8788501 Change-Id: I412af1205f8b67e70a12237c990231ea62167bc0
|
d9f912a6220a8b1360ba985a2cd6ec984379e888 |
|
15-Apr-2014 |
Mathieu Chartier <mathieuc@google.com> |
Turn on background compaction by default. Change-Id: I8d591c039e5e34cf55a0b2d415797de05d6f52bd
|
a6119a28869f0cff42c778c690296f8f2ec8b814 |
|
24-Mar-2014 |
Yevgeny Rouban <yevgeny.y.rouban@intel.com> |
Recognize and ignore options '-ea' and '-da' -ea:<package or class> and -da:<package or class> options are ignored. This patch just adds -ea and -da options without any package or class specified. Change-Id: Ide04b8eacb1b2edb415328130bc12e05dc3ddc7b Signed-off-by: Yevgeny Rouban <yevgeny.y.rouban@intel.com>
|
1659006728b929aa820d09bdaba58b462cc8e7cc |
|
07-Apr-2014 |
Calin Juravle <calin@google.com> |
Profile: made startImmediately settable By default the profiler starts immediately upon app startup. To delay the startup by some random offset use -Xprofile-start_lazy. Bug: 12877748 Change-Id: Ifc1bb7f79f9f9aa53204b2fb1fbae3cd5c780cac
|
4a200f56b7075309316b04d550c9cc50f8314edd |
|
01-Apr-2014 |
Jeff Hao <jeffhao@google.com> |
Add support for -Xverify:none mode. This mode skips all verification and compilation. Public bug: https://code.google.com/p/android/issues/detail?id=67664 Change-Id: Idd00ab8e9e46d129c02988b063c41a507e07bf5b
|
d5307ec41c8344be0c32273ec4f574064036187d |
|
28-Mar-2014 |
Hiroshi Yamauchi <yamauchi@google.com> |
An empty collector skeleton for a read barrier-based collector. Bug: 12687968 Change-Id: Ic2a3a7b9943ca64e7f60f4d6ed552a316ea4a6f3
|
dd2e825efc755d87503b32cfecbe9fe8e125ee86 |
|
20-Mar-2014 |
Dave Allison <dallison@google.com> |
Fix issue parsing implicit_checks property It was missing the initial value. Change-Id: Id7554c9286947791a46358b0c07339e4d0eac1ee
|
b373e091eac39b1a79c11f2dcbd610af01e9e8a9 |
|
21-Feb-2014 |
Dave Allison <dallison@google.com> |
Implicit null/suspend checks (oat version bump) This adds the ability to use SEGV signals to throw NullPointerException exceptions from Java code rather than having the compiler generate explicit comparisons and branches. It does this by using sigaction to trap SIGSEGV and when triggered makes sure it's in compiled code and if so, sets the return address to the entry point to throw the exception. It also uses this signal mechanism to determine whether to check for thread suspension. Instead of the compiler generating calls to a function to check for threads being suspended, the compiler will now load indirect via an address in the TLS area. To trigger a suspend, the contents of this address are changed from something valid to 0. A SIGSEGV will occur and the handler will check for a valid instruction pattern before invoking the thread suspension check code. If a user program taps SIGSEGV it will prevent our signal handler working. This will cause a failure in the runtime. There are two signal handlers at present. You can control them individually using the flags -implicit-checks: on the runtime command line. This takes a string parameter, a comma separated set of strings. Each can be one of: none switch off null null pointer checks suspend suspend checks all all checks So to switch only suspend checks on, pass: -implicit-checks:suspend There is also -explicit-checks to provide the reverse once we change the default. For dalvikvm, pass --runtime-arg -implicit-checks:foo,bar The default is -implicit-checks:none There is also a property 'dalvik.vm.implicit_checks' whose value is the same string as the command option. The default is 'none'. For example to switch on null checks using the option: setprop dalvik.vm.implicit_checks null It only works for ARM right now. Bumps OAT version number due to change to Thread offsets. Bug: 13121132 Change-Id: If743849138162f3c7c44a523247e413785677370
|
e63a745f26fec5a5b4162fc83f6e88a1f696c30c |
|
27-Feb-2014 |
Hiroshi Yamauchi <yamauchi@google.com> |
Make heap reference poisoning work with the interpreter. It is disabled by default. Bug: 12687968 Change-Id: Iee0cad647f341a7b566f4cf74c2770d1c19312c9
|
39d921865c207bd315daa372759e75b454cbcae1 |
|
06-Mar-2014 |
Andreas Gampe <agampe@google.com> |
Size and offset fixes to compile for 64b host Some Runtime fields have moved after deletion of other fields. ParsedOptions uses size_t, but parsing function works on unsigned int. Change-Id: I6b7f25787af5d3f9e38554abea2bfb220299f475
|
2ec6520d57479d393bffa05defa1479b25ca8382 |
|
04-Mar-2014 |
Brian Carlstrom <bdc@google.com> |
Support compiler filters for boot classpath image_writer.cc Remove assumption that all methods in the boot classpath are compiled oat_writer.cc Don't skip writing ArtMethod::quick_code_offset_ for methods that need resolution, leave that to ImageWriter dex2oat.cc Allow dex2dex compilation of image dex files by making the in memory pages writable in all cases, not just app case. oatdump.cc dump new OatHeader fields use ImageSpace.GetImageFilename, not command line image filename, since location may be in dalvik-cache remove inaccurate check about non-null GC map quick_trampoline_entrypoints.cc add and improve some DCHECKS that were useful while debugging class_linker.cc image_space.cc fix double facepalm parsed_options.cc fix zygote logging to not skip values to two part options like -classpath <foo> runtime.cc wireup parsed compiler options to runtime Change-Id: Iad314df0b80623c0663d61713d5098297ab9ac87
|
9583fbcf597eff6d0b3c5359b8e8d5f70ed82c40 |
|
28-Feb-2014 |
Nicolas Geoffray <ngeoffray@google.com> |
Remove oat file location in the image. The oat file is now always in the same directory, and has the same name as the image file. Only difference is the extension. This also removes the need for host-prefix. Change-Id: I16d1f7aeb1d58372d41921694664e9c321afc1ad
|
491ca9e75fad381468dd7f5fdbff56d1a9738dd7 |
|
03-Mar-2014 |
Brian Carlstrom <bdc@google.com> |
Add ART -help and -showversion Bug: https://code.google.com/p/android/issues/detail?id=62149 Change-Id: I5c21c0433f5f341f94e7d977e8d2d69cc46d6fe3
|