1b3430bbca1fd586fb88195eef77793ba102bf90 |
|
11-Apr-2017 |
Andreas Gampe <agampe@google.com> |
ART: Add -verbose:dex Add a dex verbose flag to separate out concerns for dex investigations. (cherry picked from commit bec07a05dd1aa564895f0d9c58c8277c576dc9bb) Bug: 37158297 Test: m test-art-host Change-Id: Ice5efad919ae0b6838d44e2f3711563a0774ef0e
|
bec07a05dd1aa564895f0d9c58c8277c576dc9bb |
|
11-Apr-2017 |
Andreas Gampe <agampe@google.com> |
ART: Add -verbose:dex Add a dex verbose flag to separate out concerns for dex investigations. Bug: 37158297 Test: m test-art-host Change-Id: Ice5efad919ae0b6838d44e2f3711563a0774ef0e
|
9545f6db8b2487ecb940f91c29ce814ec6b1ea25 |
|
17-Mar-2017 |
Calin Juravle <calin@google.com> |
Accept output profile path from dalvikvm command Test: run dalvikvm with -Xps-profile-path Bug: 36032648 Change-Id: I34640afe1cf0e7b192ad082ccde2784faab1ba4c
|
ca620d7bc03b23a0bcf0ef58df58603ee000dca0 |
|
08-Nov-2016 |
Andreas Gampe <agampe@google.com> |
ART: Fix tidy warnings Switch to char versions of find variants. Add "explicit" constructor variants or refactor and remove defaults. Use const references. Bug: 32619234 Test: m test-art-host Change-Id: I970cc2f47d6cf8f0c74104b994b075b2fafb3d45
|
f57589fd40e5b69dad5aff060ccef756507f381a |
|
17-Oct-2016 |
David Sehr <sehr@google.com> |
Remove logging dependency on runtime Moved the abort backtracing function to runtime, forcing callers to supply the aborter at InitLogging. This makes runtime properly layer on top of logging by removing the cyclic dependency. Bug: 22322814 Test: test-art-host Change-Id: I8b2e72174e937bb88fe1bddd6d04b564cfb011a9
|
14832efeb92334c562ebedef34e920d30e3cee69 |
|
05-Aug-2016 |
Narayan Kamath <narayan@google.com> |
Revert experimental lambda feature. This is a revert of the following changes : 30c475a2046951a81769c2db0b2dad66cd71e189. lambda: Minor capture-variable/liberate-variable clean-up after post-merge reviews. 6918bf13eb855b3aa8ccdddda2d27ae8c60cec56. lambda: Experimental support for capture-variable and liberate-variable fc1ccd740b7c8e96dfac675cfc580122cd1b40a6. lambda: Infrastructure to support capture/liberate-variable dex opcodes e2facc5b18cd756a8b5500fb3d90da69c9ee0fb7. runtime: Add lambda box/unbox object equality 2ee54e249ad21c74f29a161e248bebe7d22fddf1. runtime: Partially implement box-lambda and unbox-lambda experimental opcodes 158f35c98e2ec0d40d2c032b8cdce5fb60944a7f. interpreter: Add experimental lambda opcodes for invoke/create-lambda a3bb72036f5454e410467f7151dc89f725ae1151. Added format 25x to dexdump(2). Plus surrounding cleanups. Test: make test-art Change-Id: Ic6f999ad17385ef933f763641049cf721510b202
|
138dbff9246c89ac9fbe0b086b54fdab3f4451fb |
|
28-Jun-2016 |
Calin Juravle <calin@google.com> |
Clean up profiler options - remove obsolete options - using ProfileSaverOptions instead of hard-coded values in the profile saver Bug: 24698874 Change-Id: I4ff535d29a644d1bd5509844f89615b70a723749 Test: cmdline_parser_test, gtest and run-tests pass.
|
ffc87076dda9878cb2cc098149bae441d38b9268 |
|
20-Apr-2016 |
Calin Juravle <calin@google.com> |
Split profile recording from jit compilation We still use ProfileInfo objects to record profile information. That gives us the flexibility to add the inline caches in the future and the convenience of the already implemented GC. If UseJIT is false and SaveProfilingInfo true, we will only record the ProfileInfo and never launch compilation tasks. Bug: 27916886 (cherry picked from commit e5de54cfab5f14ba0b8ff25d8d60901c7021943f) Change-Id: I68afc181d71447895fb12346c1806e99bcab1de2
|
e5de54cfab5f14ba0b8ff25d8d60901c7021943f |
|
20-Apr-2016 |
Calin Juravle <calin@google.com> |
Split profile recording from jit compilation We still use ProfileInfo objects to record profile information. That gives us the flexibility to add the inline caches in the future and the convenience of the already implemented GC. If UseJIT is false and SaveProfilingInfo true, we will only record the ProfileInfo and never launch compilation tasks. Bug: 27916886 Change-Id: I6e4768dc5d58f2f85f947b276b4244aa11ce3fca
|
66a55394b0489b30576f90499f24b792a400a2d2 |
|
19-Feb-2016 |
Mathieu Chartier <mathieuc@google.com> |
Add VLOG(collector) to reduce log spam VLOG(gc) is enabled from AndroidRuntime, using it too much produces log spam. Bug: 22858531 (cherry picked from commit a6e1c126299586932ecd3c1133a55a6f8e1107fc) Change-Id: If60902a8d7855cdabd80208b9b385ce4ba4d9e5f
|
a6e1c126299586932ecd3c1133a55a6f8e1107fc |
|
19-Feb-2016 |
Mathieu Chartier <mathieuc@google.com> |
Add VLOG(collector) to reduce log spam VLOG(gc) is enabled from AndroidRuntime, using it too much produces log spam. Bug: 22858531 Change-Id: I5306c512eb7f55a178fa607d4b211ef25246e300
|
9724c636467d56632a45fdf6353e3d57d1925501 |
|
07-Jan-2016 |
Neil Fuller <nfuller@google.com> |
Enable interface default methods by default. This also enables interface static methods. This removes the -Xexperimental:default-methods flag and all places where we explicitly check for its presence. Bug: 24618811 Change-Id: Icd91e377bd6e1a45a1645f810d15de1b0312e31d
|
295a5963dc127d5d6a269d672d47512f51992915 |
|
19-Nov-2015 |
Nicolas Geoffray <ngeoffray@google.com> |
Fix cmdline parser test. Change-Id: I6f03552d8d48e875f80a69455397146b132ed623
|
0a3be1620a3560253cfa789cb9819013293c5654 |
|
18-Nov-2015 |
Nicolas Geoffray <ngeoffray@google.com> |
Increase code cache after 1 full collection. Also add a max capacity option. Change-Id: Icd442b72e9be0c6b091b588b4c4473c69b7cde10
|
751beff19b36f777d9e3a966d754fd9cfad5d534 |
|
28-Aug-2015 |
Phil Wang <phil.wang@linaro.org> |
Revert "Revert "Introduce support for hardware simulators, starting with ARM64"" This reverts commit 4cd27d64b0bbdde61fa3f6674ceb24221853ac2c. This depends on VIXL 1.11. Change-Id: I402c1fd6bbb218ba80ef8e59af203c9276151059
|
eb7c144a6aff7da673ba53d501c46f00311d4d7f |
|
31-Aug-2015 |
Alex Light <allight@google.com> |
Add initial default method support to Art This commit starts the process of adding default methods and their associated pieces to ART. This adds full support for calling default methods using invoke-interface and invoke-virtual on objects implementing the interfaces. Verifier is changed to allow this when the runtime is started with -Xexperimental:default-methods. This also adds support for defining and calling static methods on interface classes with invoke-static. Directly calling overridden default methods using invoke-super is not yet supported. This adds 5 new run-tests for this functionality. Bug: 24618811 Change-Id: I35ca800d99d3329348b277789b70ceeeba6e7f03
|
7617abdb402fd0419daa3eefb2ad059ccbb8b6db |
|
11-Jul-2015 |
Igor Murashkin <iam@google.com> |
runtime: Add -Xverify:softfail and ART_TEST_INTERPRETER_ACCESS_CHECKS Use ART_TEST_INTERPRETER_ACCESS_CHECKS=true to run all the tests through the interpreter with access checks enabled. The normal interpreter tests do not currently enable access checks, which means that a large part of the interpreter codebase is untested. The verifier will force every class into a soft fail mode if -Xverify:softfail is used, thereby ensuring that if used along with the interpreter (-Xint) that the interpret is always in access checks mode. This is used alongside with --compile-filter=verify-at-runtime to prevent the AOT compiler from putting down any code. Change-Id: I35a10ed8c43d76fa96133cf01fdad497da387200
|
158f35c98e2ec0d40d2c032b8cdce5fb60944a7f |
|
11-Jun-2015 |
Igor Murashkin <iam@google.com> |
interpreter: Add experimental lambda opcodes for invoke/create-lambda These opcodes are not yet fully specified, and *will* change before they become shippable. Do not write production code against experimental opcodes. -- Implement partial interpreter support for new dex instructions invoke/create-lambda, and a new opcode format 25x. * Does not verify, in fact verification will soft fail when we see those opcodes. * Compilers will punt to interpreter since they don't support new opcodes. * As there is no way to capture/liberate variables yet, the "closure" is just an ArtMethod for the time being. All new opcodes are disabled by default, use runtime option -Xexperimental-lambdas to enable them. For example: dalvikvm ... -Xexperimental-lambdas ... dex2oat --runtime-arg -Xexperimental-lambdas ... Change-Id: I6c996ca32a9b54ec45ec21d7a959b84dfb8a24eb
|
bba348ef12b8dad2bdb8ce32bd0202ad7a38a315 |
|
01-Jun-2015 |
Sebastien Hertz <shertz@google.com> |
Bring back verbosity override Brings back the possibility to override verbosity locally (after command-line parser changes). Also adds a test for "-verbose:deopt" command-line option. Change-Id: I634d5226ef473ec4d965d620e973e9e677c0069d
|
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
|
66d874d96d5699bb090c59f47a5a528956ca053e |
|
15-Jan-2015 |
Richard Uhler <ruhler@google.com> |
Create OatFileAssistant class for assisting with oat files. The oat file assistant is used for determining whether dex2oat or patchoat is needed, for running dex2oat or patchoat as needed to make an oat file up to date, and to load dex files associated with a given dex location. The introduction of the OatFileAssistant class is meant to clean up and consolidate code related to the management of oat files that was duplicated and spread across dalvik_system_DexFile.cc and class_linker.cc. Bug: 11301553 Change-Id: I0c16027b9bae4570c2c50faa9c14f581c0cbafb8
|
26826998ce30541c2a503f4d8e60df1caa2c3d55 |
|
06-Mar-2015 |
Andreas Gampe <agampe@google.com> |
ART: Fix Cmdline Parser test Follow-up to https://android-review.googlesource.com/138593. Bug: 17950037 Change-Id: Ie8b796262989bf8374f5cecff15a1f2dad2cb3c1
|
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>
|
60d77c632001b48ac32de29899c963245538f4a0 |
|
05-Feb-2015 |
Igor Murashkin <iam@google.com> |
art: Fix broken cmdline_parser_test Bug: 19274810 Change-Id: I28df72dced9bdbbe0684836e9a18334994183421
|
8f4ee5ca0bccacd392295e1b1b0704c281480fe2 |
|
05-Feb-2015 |
Nicolas Geoffray <ngeoffray@google.com> |
Disable test, it fails on target and read-barrier config. Change-Id: Ib1ae28b1e81a1355196c32c43765a6f5466ca728
|
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
|