summaryrefslogtreecommitdiff
path: root/cmdline/cmdline_parser_test.cc
Commit message (Collapse)AuthorAgeFilesLines
* Enable ProfileSaver to have a different delay for the first ever saveCalin Juravle2021-06-141-7/+8
| | | | | | | | | | | | | | | The runtime now supports -Xps-first-save-ms, which when configured may alter the delay for the first ever profile save. Subsequent saves will proceed based on the existing -Xps-min-save-period-ms. The first ever save is an approximation, and computed by checking the profiles size. Test: gtest & manual Bug: 185979271 Merged-In: I7119b9d2b8829653046565426090c89f6a619a27 Change-Id: I7119b9d2b8829653046565426090c89f6a619a27 (cherry picked from commit 3156695aa5a69e3ca27b5befcaf0934e7e62e9fb)
* Rewrite OatFileManager::OpenDexFilesFromOat.Nicolas Geoffray2020-07-021-1/+0
| | | | | | | | | | - Remove obsolete option -Xno-dex-file-fallback - Only load an oat file when class loader context matches. - Remove obsolete duplicate class check code. Bug: 132357300 Bug: 156250899 Change-Id: I78e645806e0de2f35ce2614285f1a7cbc705484c
* Remove old JDWP implementation from ARTAlex Light2020-01-291-5/+0
| | | | | | | | | | | | | | | | | | | | The old 'internal' JDWP implementation hasn't been used for a few releases and it's a lot of code that's barely being tested and is at risk of bit-rot. To simplify the runtime and remove potentially buggy code this removes it. We also needed to rewrite the DdmThreadNotification code since it relied on the suspension functionality from the old debugger and was generally unsafe. Test: ./test.py --host Test: atest --test-mapping cts/tests/jdwp/TEST_MAPPING Test: atest --test-mapping cts/hostsidetests/jdwptunnel/TEST_MAPPING Test: Manual ddms Bug: 119034743 Change-Id: I775f310a009141296b730e4a6c2503506a329481
* dex2oat: add --cpu-set command-line optionOrion Hodson2019-11-191-1/+17
| | | | | | | | | | | | Enables affinitizing dex2oat threads to a specific group of CPUs. Bug: 141446571 Test: art/test/run-test -Xcompiler-option --cpu-set=0,1 956 Test: art/test/run-test -Xcompiler-option --cpu-set=,0,1 956 Test: art/test/run-test -Xcompiler-option --cpu-set=,, 956 Test: art/test/run-test -Xcompiler-option --cpu-set=0,a 956 Test: cmdline_parser_test Change-Id: I4bb1519beacd329da1a69af31982a6154d315865
* Add -verbose:interpreterMathieu Chartier2019-05-031-1/+2
| | | | | | | | | | Adds a mode to track what methods are being interpreted. Good for debugging interpreter usage during app startup. Bug: 130185360 Test: test-art-host Change-Id: I8119f79e534cdad7d6a72d4f01115a288e9c8d9a
* Revert^2 "Pass boot class path to ImageSpace::LoadBootImage."Vladimir Marko2018-12-071-2/+13
| | | | | | | | | | | | | | | | | This reverts commit db4b1deebf425be5f1d0f597d1ef540f19908324. Fixed JDWP tests, see "Test:" stanzas below. Change-Id: I6fb56ac990b78164cbd3f93c9f6df66e0dd9a813 Test: m test-art-host-gtest Test: testrunner.py --host --optimizing Test: Pixel 2 XL boots. Test: m test-art-target-gtest Test: testrunner.py --target --optimizing Test: run-libcore-tests.sh --mode=device --variant=X64 Test: run-jdwp-tests.sh --mode=host --variant=X64 Test: run-jdwp-tests.sh --mode=device --variant=X64 Bug: 119868597
* Revert "Pass boot class path to ImageSpace::LoadBootImage."Vladimir Marko2018-12-071-13/+2
| | | | | | | | | | | | This reverts commit d19085141ad9c71eae1b0ff585999ac8e27dadd4. Also squash a revert of Fix oatdump tests on target. (commit 77eea0898aca2881a87afd177a0422870c39a318) Reason for revert: Broke JDWP tests. Bug: 119868597 Change-Id: I005097d2d96014c961e5a4c0b089e7675004febc
* Pass boot class path to ImageSpace::LoadBootImage.Vladimir Marko2018-12-061-2/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | When loading the boot image by ImageSpace, do not rely on the boot class path (BCP) recorded in the primary boot image oat file. Instead, check the BCP from image against the BCP provided by the Runtime, i.e. from -Xbootclasspath:_ or the environment variable BOOTCLASSPATH. For now, allow Runtime to extract the BCP from the primary boot image oat file when we have -Ximage:_ but no BCP. Also pass the boot class path components down to the OatFile so that we can open and use the original dex files when we do not have copies in the vdex files. This allows compiling app prebuilts when the boot dex files are uncompressed and aligned in the original jars. Test: m test-art-host-gtest Test: testrunner.py --host --optimizing Test: Pixel 2 XL boots. Test: m test-art-target-gtest Test: testrunner.py --target --optimizing Test: run-libcore-tests.sh --mode=device --variant=X64 Test: Manually create boot image jars with uncompressed and aligned dex files, compile a boot image with dex files not copied into vdex files and use this boot image for compiling a prebuilt services.{art,vdex,odex}. Bug: 119868597 Change-Id: If9411ddbecf6bb90bfa9233040931c5e833f6aee
* ART: Continue adding override annotationsAndreas Gampe2018-09-071-1/+1
| | | | | | | | | Use Clang-tidy's modernize-use-override to add more annotations. Ignore inferred annotations on destructors. Bug: 32619234 Test: mmma art Change-Id: Ic432c928e398d44df9171e42db04ee19946e6887
* Revert "Revert "Remove OatFileAssistant::MakeUpToDate and friends.""Nicolas Geoffray2018-08-301-3/+2
| | | | | | | | | | This reverts commit baf3761013a30b8c5dc1d6179cddaeee0a764311. Also remove the now deprecated --{no-}dex2oat option. Change-Id: I502c7011877f43f315abffa9b7d482ef13857125 bug: 111174995 bug: 111342996
* Modernize codebase by replacing NULL with nullptrYi Kong2018-08-021-3/+3
| | | | | | | | Fixes -Wzero-as-null-pointer-constant warning. Test: m Bug: 68236239 Change-Id: Id869744db54b5b366454a5e13b467ac1f4df2845
* "Revert^4 "Make adbconnection start automatically for debuggable apps (on ↵Alex Light2018-06-081-1/+1
| | | | | | | | | | | | | | | | target)" Needed to tell run-jdwp-tests.sh not to load adbconnection since it might not be present. This reverts commit fb57a6528d73e6ddbccf3049f08f6fa400e6dcd1. Reason for revert: Added -XjdwpProvider:none to run-jdwp-tests.sh Bug: 109505014 Test: ./art/tools/run-libjdwp-tests.sh Change-Id: I43941f7048ae5b64c6cbe7a8e7c273d47596192c
* Revert "Revert^2 "Make adbconnection start automatically for debuggable apps ↵Nicolas Geoffray2018-06-081-1/+1
| | | | | | | | | | | (on target)"" This reverts commit 7b39a39258311ad6c3da5934746a186c185c3f4f. Fails jdwp tests on target. Bug: 109505014 Change-Id: Ib8a278bc8c8137e1f1397e3e881d652504fea96f
* Revert^2 "Make adbconnection start automatically for debuggable apps (on ↵Alex Light2018-06-071-1/+1
| | | | | | | | | | | | | | | target)" This reverts commit b2926c0cdbd30af7529b90fe20b24010f844ccc1. We were trying to start with adbconnection but that was not always available on devices. This could cause tests to fail. Bug: 109505014 Reason for revert: Fixed issue causing target tests to sometimes fail. Test: ./test.py --target Change-Id: I0bb9cd2dce87145a8a9c372e2f015e36a3276369
* Revert "Make adbconnection start automatically for debuggable apps (on target)"Andreas Gampe2018-06-061-1/+1
| | | | | | | | | | This reverts commit 5af3f503f3ad5a24dc1acac3070f7dcda4b6593d. Reason for revert: Breaks target tests Bug: 109505014 Change-Id: I43877a11c615637a152954e0c0d0b2b0f18bcc9e Test: none
* Make adbconnection start automatically for debuggable apps (on target)Alex Light2018-06-051-1/+1
| | | | | | | | | | | | | | With wrap.sh it is required that apps that wish to be debuggable declare that explicitly by adding the '-Xcompiler-option --debuggable' options. When we switched to the new debugger implementation we accidentally added a requirement that you pass -XjdwpProvider:adbconnection. This removes that requirement and returns to the earlier state. Bug: 109505014 Test: Build program with wrap.sh that adds -Xcompiler-option --debuggable Attach debugger to program. Change-Id: I9416ed3b156776439f5bfec032fee3f11fe4eb3c
* Move most of runtime/base to libartbase/baseDavid Sehr2018-03-051-1/+3
| | | | | | | | | | | | | | Enforce the layering that code in runtime/base should not depend on runtime by separating it into libartbase. Some of the code in runtime/base depends on the Runtime class, so it cannot be moved yet. Also, some of the tests depend on CommonRuntimeTest, which itself needs to be factored (in a subsequent CL). Bug: 22322814 Test: make -j 50 checkbuild make -j 50 test-art-host Change-Id: I8b096c1e2542f829eb456b4b057c71421b77d7e2
* Revert "Revert "Make the runtime default to not allowing JDWP again.""Alex Light2018-01-311-1/+1
| | | | | | | | | | | | | | This reverts commit f05c32008de16f669ea8323c4e17beef1df92d20. We need to change the arguments passed from run-jdwp-tests.sh in some situations. Reason for revert: Fixed issue causing go/art-build to fail. Test: ./art/tools/run-jdwp-tests.sh --mode=host Bug: 72400560 Change-Id: I2be260479816e3a48df5cb65bba25858750df4db
* Revert "Make the runtime default to not allowing JDWP again."David Brazdil2018-01-311-1/+1
| | | | | | | | This reverts commit b06bd683aab50a80ef98f0ffbec9880dad068d15. Reason for revert: Broke go/art-build. Reverting as ART Sheriff. Change-Id: I1ab4f5eb22b51b3b348f592c22db340b88af4f7f
* Make the runtime default to not allowing JDWP again.Alex Light2018-01-301-1/+1
| | | | | | | | | | | | | | This was unintentionally changed a while ago and is causing a CTS test to fail. Changed to make the runtime default to disabling jdwp if a provider isn't given. Note this does not stop one from starting a debugger with -agentpath. If jdwp options are given with jdwp disabled the runtime will print a warning. Test: atest CtsJdwpSecurityHostTestCases Test: ./test/run-test --host --debug 001-HelloWorld Bug: 72400560 Change-Id: I6561f269d9279eba0c1ac0b0f593ece867dab49e
* Refactor jdwp_provider to make it easier to change the defaultAlex Light2018-01-261-1/+1
| | | | | | | | | Change JdwpProvider to have a kDefaultJdwpProvider member that can be updated to be whatever the current default jdwp provider is. Test: build Test: cmdline_parser_test Change-Id: I89559cc63d371be60b594d850f1a16a557b42edc
* Revert "Change default dalvik.vm.jdwp-provider to adbconnection"Alex Light2018-01-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | If DDMS is being used on a userdebug or eng build it will cause the libjdwp agent to be loaded on various system processes, most notably system_server. This will cause a massive performance hit as it tries to force system_server to jit but, due to security policies, it is forced to interpreter instead. Until this can be fixed we are changing the default back to the internal jdwp provider. This reverts commit a76605a4bbe93b79aa28a85cdc4a2aeac869c1ca. Bug: 72381923 Bug: 72400642 Bug: 72336488 Test: Boot userdebug with ddms monitor running. Reason for revert: DDMS forcing system_server to interpreter causing massive perf problems on userdebug builds. Change-Id: I11e8397ecd6239f0e2b2ff0f8c05dad996707a65
* Change default dalvik.vm.jdwp-provider to adbconnectionAlex Light2018-01-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This changes the default jdwp implementation to be libjdwp with the connection mediated by libadbconnection. Test: ./test.py --host -j50 Test: ./art/tools/run-libjdwp-tests.sh --mode=device Test: Build and run Test: use ddms monitor. Test: Use Android Studio. Test: Build and debug debuggable app (bandhook-kotlin) Test: Build and debug non-debuggable app on userdebug build (bandhook-kotlin) Test: Debug running system process on userdebug build (com.android.packageinstaller) Test: adb shell stop && adb shell setprop dalvik.vm.jdwp-provider adbconnection && adb shell start; Test debugger with explicit adbconnection jdwp provider set Test: adb shell stop && adb shell setprop dalvik.vm.jdwp-provider default && adb shell start; Test debugger with explicit default jdwp provider set Ensure debugger is using the 'adbconnection' provider Test: adb shell stop && adb shell setprop dalvik.vm.jdwp-provider internal && adb shell start; Test debugger with explicit internal jdwp provider set Ensure debugger is using the old internal jdwp implementation. Bug: 62821960 Change-Id: I6470a90e0ca264fb75028f6e7e23878c059b090e
* Add adbconnection pluginAlex Light2017-12-191-0/+5
| | | | | | | | | | | | | | | | | This plugin will take care of creating and managing a debugger connection through the adb daemon. This involves sending DDMS messages from the runtime, loading the JDWP agent when required, and setting up the connection. We need this since DDMS packets can be sent even if there has not been a full handshake done with the JDWP agent. Add an 'adbconnection' value to '-XjdwpProvider:...' to allow one to request that the adbconnection plugin be used to provide JDWP functionality. Bug: 62821960 Test: Manual, Flash walleye, debug apps Change-Id: Id9bed589b7c5e3830e6cdfbfee460b091459a27b
* Add support for selecting alternate JDWP implementationsAlex Light2017-12-191-36/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change JDWP options parsing to take place later and add a -XjdwpProvider:_ option that can be used by the runtime to select an appropriate JDWP provider. The argument is a string. If 'none' is given JDWP will be totally disabled. If 'internal' is given the current internal JDWP implementation is used. If 'default' is given the 'internal' JDWP implementation will currently be used. Other values will be added in the future. Also adds a runtime callback that will be invoked when the runtime wants to start or stop the debugger (namely at the post-zygote fork and just before exit) and check if a debugger is availible. Also add '-XjdwpOptions:_' in preparation for the eventual removal of the existing -Xrunjdwp=_ and -Xagentlib:jdwp=_ as top-level options. All of these options now store their arguments as a std::string to be interpreted by the JDWP implementation as it sees fit. Also change the jdwpOptions to default to transport=dt_android_adb if there is not one specified and it is available. This will make changing the default transport based on the JDWP provider easier. These new options are needed to allow us to support both the old, internal, JDWP implementation as its replacement is tested and verified. This lets us switch between them with little difficulty. We will probably remove one or both of these options once we have confidence that the new jdwp implementation has stuck. Test: ./test.py --host -j50 Test: ./test/run-test --host --debug 001-HelloWorld Test: Manual, flash walleye, debug app Bug: 62821960 Change-Id: Ie31db6b6f7d76a03d4ab8e178fcf298ed0eec203
* ART: Make kDebugVerifier a verbose flagAndreas Gampe2017-12-061-1/+2
| | | | | | | | | | | | | | | | | To aid in debugging efforts, finally introduce a verifier-debug verbose-logging flag that takes over the compile-time kDebugVerifier flag. Collecting verification times from a well-known large app during dex2oat via dump-timings shows a difference in the noise. Logging of the steps is restricted to failure cases, to avoid spam. Test: m Test: m test-art-host Test: manual: dex2oat --runtime-arg -verbose:verifier-debug APK with failures Change-Id: Icb998cc42a531b80f20f986625869505271b7c98
* cpplint: Remove many unnecessary NOLINTIgor Murashkin2017-11-161-6/+6
| | | | | | | | Now that we updated to upstream cpplint, a lot of these NOLINTs are no longer necessary. Bug: 68951293 Change-Id: If8ed5ffe89727f313f907a214b6d8fd2a2eddbad
* ART: Remove art and art/runtime include_dir directivesAndreas Gampe2017-08-231-4/+4
| | | | | | | | Remove some overly broad or unnecessary include directives. Fix up code. Test: mmma art Change-Id: Ic2da319f39102d59566e780f3e15fe007a3c36d6
* ART: Include cleanupAndreas Gampe2017-07-241-3/+5
| | | | | | | | | | | | | | | | | | | Let clang-format reorder the header includes. Derived with: * .clang-format: BasedOnStyle: Google IncludeIsMainRegex: '(_test|-inl)?$' * Steps: find . -name '*.cc' -o -name '*.h' | xargs sed -i.bak -e 's/^#include/ #include/' ; git commit -a -m 'ART: Include cleanup' git-clang-format -style=file HEAD^ manual inspection git commit -a --amend Test: mmma art Change-Id: Ia963a8ce3ce5f96b5e78acd587e26908c7a70d02
* ART: Refactor abort codeAndreas Gampe2017-06-221-1/+1
| | | | | | | | | | | | | | | Remove Runtime::Aborter and let Runtime::Abort set the abort message on target. This works around a missing tail-call optimization that leads to a superfluous frame on the call-stack when aborting. Partially reverts commit 3fec9ac0d5af1358d216eb2fdc2000ec0205f3f0. Bug: 62810360 Test: m test-art-host Test: Manual inspection of abort dump Change-Id: Ie4efc8bbdc8b665b23081b37a11921fe26b182b4
* Add support for profiling boot class pathMathieu Chartier2017-06-121-2/+3
| | | | | | | | | | | | | | | | | | | Added a runtime option -Xps-profile-boot-class-path that makes the profile saver take samples for the boot dex files. The motivation is to use this for improving boot image creation. Added test case to test 595. Test: adb shell setprop dalvik.vm.extra-opts "'-Xusejit:false -Xint -Xps-profile-boot-class-path -verbose:profiler'" Test: Pull profile and look at output Test: test-art-host Test: test/run-test --host 595-profile-saving Bug: 37966211 (cherry picked from commit 08fee9c7db427e90dbe75692e6bc0242643cb3c5) Change-Id: Id95de103ed14841d9c209946ea7f1c4f6b5d23a5
* Only compile hot methodsMathieu Chartier2017-06-061-2/+2
| | | | | | | | | | | | | | | | | | | Instead of compiling all startup + hot methods, we now only compile hot methods. However, the current logic still marks all startup methods that have a counter greater than hot_method_sample_threshold_ as hot methods. Since hot-startup-method-samples is currently 1, there is no current behavioral change. The goal is to increase hot_method_sample_threshold_ in a follow up CL. Renamed startup-method-samples to hot-startup-method-samples to better reflect the new behavior of the option. Test: test-art-host Bug: 36457259 Change-Id: I820bdcd4426769d76131b08a8b41f3b7eebfbc23
* ART: More header cleanup - runtime.hAndreas Gampe2017-05-301-0/+1
| | | | | | | | Remove unnecessary runtime.h includes. Refactor other headers (move to forward declarations) to make this possible. Test: mmma art Change-Id: I297f0ad444ba92169edd16d8c7cbe95bb6dbb800
* ART: Add -verbose:dexAndreas Gampe2017-04-111-0/+7
| | | | | | | | Add a dex verbose flag to separate out concerns for dex investigations. Bug: 37158297 Test: m test-art-host Change-Id: Ice5efad919ae0b6838d44e2f3711563a0774ef0e
* Accept output profile path from dalvikvm commandCalin Juravle2017-03-171-2/+3
| | | | | | | Test: run dalvikvm with -Xps-profile-path Bug: 36032648 Change-Id: I34640afe1cf0e7b192ad082ccde2784faab1ba4c
* ART: Fix tidy warningsAndreas Gampe2016-11-081-3/+3
| | | | | | | | | | | | | 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
* Remove logging dependency on runtimeDavid Sehr2016-10-171-1/+1
| | | | | | | | | | 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
* Revert experimental lambda feature.Narayan Kamath2016-08-091-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Clean up profiler optionsCalin Juravle2016-06-291-72/+22
| | | | | | | | | | - 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.
* Split profile recording from jit compilationCalin Juravle2016-04-281-2/+2
| | | | | | | | | | | | | | | 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
* Add VLOG(collector) to reduce log spamMathieu Chartier2016-02-191-0/+7
| | | | | | | | | | | VLOG(gc) is enabled from AndroidRuntime, using it too much produces log spam. Bug: 22858531 (cherry picked from commit a6e1c126299586932ecd3c1133a55a6f8e1107fc) Change-Id: If60902a8d7855cdabd80208b9b385ce4ba4d9e5f
* Enable interface default methods by default.Neil Fuller2016-01-261-11/+1
| | | | | | | | | | | 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
* Merge "Revert "Revert "Introduce support for hardware simulators, starting ↵Roland Levillain2015-12-161-2/+3
|\ | | | | | | with ARM64"""
| * Revert "Revert "Introduce support for hardware simulators, starting with ARM64""Phil Wang2015-11-061-2/+3
| | | | | | | | | | | | | | | | This reverts commit 4cd27d64b0bbdde61fa3f6674ceb24221853ac2c. This depends on VIXL 1.11. Change-Id: I402c1fd6bbb218ba80ef8e59af203c9276151059
* | Fix cmdline parser test.Nicolas Geoffray2015-11-191-2/+2
| | | | | | | | Change-Id: I6f03552d8d48e875f80a69455397146b132ed623
* | Increase code cache after 1 full collection.Nicolas Geoffray2015-11-191-2/+4
|/ | | | | | Also add a max capacity option. Change-Id: Icd442b72e9be0c6b091b588b4c4473c69b7cde10
* Add initial default method support to ArtAlex Light2015-10-131-10/+21
| | | | | | | | | | | | | | | | | | | | | | 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
* runtime: Add -Xverify:softfail and ART_TEST_INTERPRETER_ACCESS_CHECKSIgor Murashkin2015-07-171-3/+8
| | | | | | | | | | | | | | | | 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
* interpreter: Add experimental lambda opcodes for invoke/create-lambdaIgor Murashkin2015-06-181-1/+42
| | | | | | | | | | | | | | | | | | | | | | | 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
* Bring back verbosity overrideSebastien Hertz2015-06-091-0/+7
| | | | | | | | 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