OSDN Git Service
Treehugger Robot [Mon, 26 Sep 2016 22:48:55 +0000 (22:48 +0000)]
Merge "ART: Fix nits"
Treehugger Robot [Mon, 26 Sep 2016 21:42:08 +0000 (21:42 +0000)]
Merge "Implement nightly jfuzz test runner"
Andreas Gampe [Mon, 26 Sep 2016 21:07:57 +0000 (14:07 -0700)]
ART: Fix nits
Follow-up to commit
3fec9ac0d5af1358d216eb2fdc2000ec0205f3f0.
Bug:
31338270
Test: m test-art-host
Change-Id: Ia50f450bef144167b946224c26242c529302996e
Treehugger Robot [Mon, 26 Sep 2016 19:53:37 +0000 (19:53 +0000)]
Merge "jni: Punt to generic JNI for mips"
Wojciech Staszkiewicz [Sat, 24 Sep 2016 00:41:27 +0000 (17:41 -0700)]
Implement nightly jfuzz test runner
New script runs multiple instances of run_jfuzz_test.py and has
predefined arguments suitable for nightly runs.
Test: ./run_jfuzz_test_nightly.py
Change-Id: I8c0060d72c69bbdf88571a9272f2d3fef74697eb
Treehugger Robot [Mon, 26 Sep 2016 19:45:22 +0000 (19:45 +0000)]
Merge "ART: Use libbase logging"
Andreas Gampe [Tue, 13 Sep 2016 17:47:28 +0000 (10:47 -0700)]
ART: Use libbase logging
Move most of our logging infrastructure over to system/core/base.
Retain VLOG.
Using unified Android infrastructure has two main advantages. First,
it reduces the complexity/maintenance burden in ART. Second, it
allows to detach logging for the cases where we do not want or need
a runtime, e.g., dexdump, the disassembler, etc. As a part of the
latter, libbase is also supported for all hosts (including Windows).
From a developer viewpoint, there are minor behavior changes for the
LOG statements (see above), but otherwise usage is the same. Explicit
severity enum items are in the android::base namespace now.
Bug:
31338270
Test: m test-art-host
Change-Id: I5abcb2f45f5b03d49951874c48544f72a283a91b
Igor Murashkin [Mon, 26 Sep 2016 17:10:17 +0000 (10:10 -0700)]
jni: Punt to generic JNI for mips
Preopting dex the bootclasspath causes dex2oat to crash for MIPS builds.
Disable JNI compiler for MIPS until it supports @CriticalNative.
Test: lunch aosp_mips-eng && make && make test-art-host
Bug:
31743474
Change-Id: I802f1e61863c4bb54a1bd884a4c9ce9a75bab62b
David Sehr [Mon, 26 Sep 2016 14:34:49 +0000 (14:34 +0000)]
Merge "Fix CTS crash from DexFile refactoring"
Treehugger Robot [Mon, 26 Sep 2016 12:39:16 +0000 (12:39 +0000)]
Merge "Compensate in compiler for verifier shortcomings."
Nicolas Geoffray [Fri, 23 Sep 2016 14:40:41 +0000 (15:40 +0100)]
Compensate in compiler for verifier shortcomings.
The verifier does not differentiate zero and null, so a move-object
of zero can be used as a non-object later on.
Change the compiler to ignore the object conversion when the input
is zero or a phi (which might just hold zeros). The type propagation
will then do proper inferencing of the types.
Also remove some stalled comments in ssa_builder.cc.
bug:
31313170
test: dex2oat
b31313170.apk
test: run-test 800
test: m test-art-host-run-test
Change-Id: I579d667415a7decf8ff2c2238dae4c13eec5d0e0
Sebastien Hertz [Mon, 26 Sep 2016 07:09:43 +0000 (07:09 +0000)]
Merge "Add DCE check to test 458-checker-instruct-simplification"
Treehugger Robot [Sat, 24 Sep 2016 01:31:25 +0000 (01:31 +0000)]
Merge "Use liblog for liblog (instead of libcutils)"
Treehugger Robot [Sat, 24 Sep 2016 00:37:51 +0000 (00:37 +0000)]
Merge "Smarter image layout"
Dimitry Ivanov [Fri, 23 Sep 2016 23:52:05 +0000 (16:52 -0700)]
Use liblog for liblog (instead of libcutils)
Because one wouldn't use libcutils if there is a liblog.
Bug: http://b/
31289077
Bug: http://b/
27171986
Test: remove liblog from libcutils and make
Change-Id: I5e7eb3a67a483835933e1b5587d43b697e39ceac
Mathieu Chartier [Tue, 20 Sep 2016 22:33:31 +0000 (15:33 -0700)]
Smarter image layout
Put strings in the dex file that resolves them.
Depth first traversal with overrides for class and dex cache. The
work list keeps track of what oat_index with each pushed item. This
means the static fields of a class will usually be in the same image.
Added layout test to image_test to make sure things are somewhat
reasonably attributed.
Bug:
28640955
Test: test-art-host
(cherry picked from commit
4e9c4e746617bad6a012d799d2f5cf9e01d24ea2)
Change-Id: I67a536c33aeed603b252d8e0f75622c9efbf2559
David Sehr [Thu, 22 Sep 2016 21:05:37 +0000 (14:05 -0700)]
Fix CTS crash from DexFile refactoring
Avoid path to nullptr access introduced by the previous refactoring.
Bug:
22322814
Change-Id: Id8874b26c072a11b0494e8126f8b0602a7c5b9e8
Test: m test-art-host, cts-tradefed run cts --skip-preconditions --skip-device-info --module vm-tests-tf
Treehugger Robot [Fri, 23 Sep 2016 17:05:40 +0000 (17:05 +0000)]
Merge "Add CanWriteToDalvikCache() check before writing a boot marker or image cache."
Aart Bik [Fri, 23 Sep 2016 15:18:21 +0000 (15:18 +0000)]
Merge "Minor jfuzz improvements."
Sebastien Hertz [Fri, 23 Sep 2016 14:51:42 +0000 (16:51 +0200)]
Add DCE check to test 458-checker-instruct-simplification
Follow-up to
9837caff9cbfb61e3dabc6fbecb398d4d659c017 by checking
that dead code is actually removed.
Test: make -j32 test-art-host
Change-Id: Ic7848be893c6fe5e65f5bcdd525597072bf67857
Treehugger Robot [Fri, 23 Sep 2016 13:17:32 +0000 (13:17 +0000)]
Merge "Fix mips build after sharpening change."
Nicolas Geoffray [Fri, 23 Sep 2016 11:37:48 +0000 (12:37 +0100)]
Fix mips build after sharpening change.
test: m build-art-target
Change-Id: Ie1866a944be351878c7f860c640923bc0029f697
Treehugger Robot [Fri, 23 Sep 2016 09:49:47 +0000 (09:49 +0000)]
Merge "Clean-up sharpening and compiler driver."
Nicolas Geoffray [Fri, 23 Sep 2016 08:19:08 +0000 (08:19 +0000)]
Merge "Use android_root instead of hard coded /system in test script."
Nicolas Geoffray [Thu, 22 Sep 2016 12:17:41 +0000 (13:17 +0100)]
Clean-up sharpening and compiler driver.
Remove dependency on compiler driver for sharpening
and dex2dex (the methods called on the compiler driver were
doing unnecessary work), and remove the now unused methods
in compiler driver.
Also remove test that is now invalid, as sharpening always
succeeds.
test: m test-art-host m test-art-target
Change-Id: I54e91c6839bd5b0b86182f2f43ba5d2c112ef908
Treehugger Robot [Fri, 23 Sep 2016 06:36:10 +0000 (06:36 +0000)]
Merge "Prepare run_jfuzz_test.py to report bugs"
Treehugger Robot [Fri, 23 Sep 2016 00:43:24 +0000 (00:43 +0000)]
Merge "Disable test 902-hello-transformation on target"
Aart Bik [Thu, 22 Sep 2016 20:50:11 +0000 (13:50 -0700)]
Minor jfuzz improvements.
Rationale:
Added simple class hierarchy to jfuzz output (still rather
rudimentary, but at least covers all method invocation kinds).
Also cleaned up the array dimensions logic.
Finally, increased granularity of time-based seeding.
Test: ./tools/jfuzz/run_jfuzz_test.py
Change-Id: I6582a75e5be593ba56146e1cd56f801e85f051c5
Alex Light [Thu, 22 Sep 2016 21:54:33 +0000 (14:54 -0700)]
Disable test 902-hello-transformation on target
This test doesn't work on device at the moment due to restrictions on
the android linker.
Bug:
31681198
Test: mma -j40 test-art-target-run-test-902-hello-transformation
Change-Id: I0ce72aa938a5c274083bcb0c60be5370a2bb02c3
Nicolas Geoffray [Thu, 22 Sep 2016 21:55:58 +0000 (22:55 +0100)]
Use android_root instead of hard coded /system in test script.
The buildbot uses its own ANDROID_ROOT.
Spotted while debugging 902 test failures on target.
Change-Id: I9b2047ce510e93f205771f7384f644450b0325e6
Wojciech Staszkiewicz [Wed, 21 Sep 2016 22:12:54 +0000 (15:12 -0700)]
Prepare run_jfuzz_test.py to report bugs
Adds --report_script and --fuzz_arg switches.
Report script is called for every divergence with title of
divergence, a comment and potentially bisection search output file.
Fuzz args are passed to jfuzz. They can be used to reproduce
previously discovered divergence.
Also add a -v switch to jfuzz. If present jfuzz will print its
version and exit.
Test: ./tools/jfuzz/run_jfuzz_test.py --report_script
$HOME/report_issue.py --fuzz_arg='-s
1470736838'
Change-Id: I25fd305304edfe21071a81d6e1b1b47ae8703007
Sen Jiang [Thu, 22 Sep 2016 17:49:44 +0000 (17:49 +0000)]
Merge "Pass --root to cpplint."
Roland Levillain [Thu, 22 Sep 2016 11:55:19 +0000 (11:55 +0000)]
Merge "Revert "Revert "ARM: VIXL32: Add an initial code generator that passes codegen_tests."""
Scott Wakeling [Thu, 22 Sep 2016 09:24:38 +0000 (10:24 +0100)]
Revert "Revert "ARM: VIXL32: Add an initial code generator that passes codegen_tests.""
This VIXL32-based code generator is not enabled in the optimizing
compiler by default. Changes in codegen_test.cc test it in parallel with
the existing ARM backend.
This patch provides a base for further work, the new backend will not
be enabled in the optimizing compiler until parity is proven with the
current ARM backend and assembler.
Test: gtest-codegen_test on host and target
This reverts commit
7863a2152865a12ad9593d8caad32698264153c1.
Change-Id: Ia09627bac22e78732ca982d207dc0b00bda435bb
Benoit Lamarche [Thu, 22 Sep 2016 09:34:26 +0000 (09:34 +0000)]
Merge "Ensure Jack generates annotations for test 005-annotations"
Benoit Lamarche [Thu, 22 Sep 2016 09:34:26 +0000 (09:34 +0000)]
Merge "Update art tests"
Treehugger Robot [Thu, 22 Sep 2016 05:38:51 +0000 (05:38 +0000)]
Merge "Don't warn for frame size in tests."
Treehugger Robot [Thu, 22 Sep 2016 05:16:42 +0000 (05:16 +0000)]
Merge "Renaming tool: jfuzz"
Treehugger Robot [Thu, 22 Sep 2016 03:43:55 +0000 (03:43 +0000)]
Merge "Make image test multi image"
Mathieu Chartier [Wed, 21 Sep 2016 22:24:18 +0000 (15:24 -0700)]
Make image test multi image
Required for testing multi image layout in future CLs.
Bug:
28640955
Test: clean-oat-host, test-art-host, device booting
(cherry picked from commit
25adcfb7dc81131add3a0a681ae18bced6f7a0e0)
Change-Id: I14809f56e711b4a87e01056c327eddbbd087f4ee
Aart Bik [Wed, 21 Sep 2016 22:45:18 +0000 (15:45 -0700)]
Renaming tool: jfuzz
Test: run_jfuzz_test.py
Change-Id: I0efa31c3f1c30344c796a9077488e7e467d2456e
Treehugger Robot [Thu, 22 Sep 2016 01:06:27 +0000 (01:06 +0000)]
Merge "Get a basic modification of dex file working"
Treehugger Robot [Thu, 22 Sep 2016 00:37:06 +0000 (00:37 +0000)]
Merge "jni: Implement generic JNI support for @CriticalNative/@FastNative"
Sen Jiang [Wed, 21 Sep 2016 23:58:11 +0000 (16:58 -0700)]
Pass --root to cpplint.
cpplint looks for .git to detect root, but in gitc, there's no art/.git
unless I repo start in art/ first, but I'm not working on art and
checkbuild fails in gitc because of this.
Bug: None
Test: mma in art/ in gitc
Change-Id: I6d418979a9bdceefc7a2c19297a7cc9aacb3e83f
Treehugger Robot [Wed, 21 Sep 2016 22:55:25 +0000 (22:55 +0000)]
Merge "Reimplement ART_NDEBUG_OPT_FLAG"
Alex Light [Tue, 23 Aug 2016 22:05:12 +0000 (15:05 -0700)]
Get a basic modification of dex file working
This allows the modification of a single classes methods through
transformation. One must ensure that the provided dex file only
contains one function and does not add or remove any methods or fields
and does not change the inheritance hierarchy in any way. The provided
dex file must verify and there must be no frames of the old code
present on any thread. These constraints are not checked or verified.
Breaking them might cause undefined behavior in all parts of the
runtime. Code that has been inlined in any way might not be replaced.
This feature is extremely experimental.
Bug:
31455788
Test: ./test/run-test --host 902-hello-transformation
Change-Id: I35133d24f6cdafdd2af9dc9863e15ba8493fc50e
Dan Albert [Wed, 21 Sep 2016 21:56:51 +0000 (14:56 -0700)]
Don't warn for frame size in tests.
The libc++ update I'm working on trips this (seems to be related to
string constructors now being inlined, but I can't say for sure). ART
itself is still under the limits.
Test: mm
Bug: None
Change-Id: Ic23c3e3aadc8db625767d8ecc727aec84f1e4603
Treehugger Robot [Wed, 21 Sep 2016 21:55:59 +0000 (21:55 +0000)]
Merge "Implemented first version of java/dex fuzz testing script."
Igor Murashkin [Tue, 13 Sep 2016 22:57:37 +0000 (15:57 -0700)]
jni: Implement generic JNI support for @CriticalNative/@FastNative
Also:
* Extend existing test cases to check generic JNI for the above.
* Re-enable previously blacklisted @CriticalNative JNI run-tests.
Bug:
31400248
Change-Id: I436ed00c8b8880e936a0c3483bc0dc251f0c0ce2
Colin Cross [Wed, 21 Sep 2016 20:23:53 +0000 (13:23 -0700)]
Reimplement ART_NDEBUG_OPT_FLAG
Use ART_NDEBUG_OPT_FLAG or ART_DEBUG_OPT_FLAG to override the default -O
compiler arguments.
Fixes:
31653144
Test: mmma -j art
Test: m -j dex2oat dex2oatd ART_NDEBUG_OPT_FLAG=-O1 ART_DEBUG_OPT_FLAG=-O0
Change-Id: I9d48d94f5e262148ddac5c70068144a645ac9566
Colin Cross [Wed, 21 Sep 2016 19:32:01 +0000 (19:32 +0000)]
Merge "Remove unused build code"
Nicolas Geoffray [Wed, 21 Sep 2016 16:53:31 +0000 (16:53 +0000)]
Merge "Revert "ARM: VIXL32: Add an initial code generator that passes codegen_tests.""
Treehugger Robot [Wed, 21 Sep 2016 16:53:26 +0000 (16:53 +0000)]
Merge "Refactor Dex open methods"
Nicolas Geoffray [Wed, 21 Sep 2016 16:53:03 +0000 (16:53 +0000)]
Revert "ARM: VIXL32: Add an initial code generator that passes codegen_tests."
Failing with:
art/compiler/optimizing/code_generator_arm_vixl.cc:396:47: error: too few arguments to function call, expected 3, have 2
ValidateInvokeRuntime(instruction, slow_path);
This reverts commit
b138dfbd76f9d8b64fb9dbaf1a7c25e2549b2a8c.
Change-Id: Idccfe076f5905ea92ecbe3afbc7c8c64ecda94be
Treehugger Robot [Wed, 21 Sep 2016 16:51:57 +0000 (16:51 +0000)]
Merge "Write VerifierDeps into VDEX."
Roland Levillain [Wed, 21 Sep 2016 16:32:59 +0000 (16:32 +0000)]
Merge "ARM: VIXL32: Add an initial code generator that passes codegen_tests."
Aart Bik [Tue, 20 Sep 2016 21:34:13 +0000 (14:34 -0700)]
Implemented first version of java/dex fuzz testing script.
Test: run_dex_fuzz_test.py
Change-Id: I94bd6c39d8219bcf3ba0150f5537a9690f2820b5
Neil Fuller [Wed, 21 Sep 2016 16:01:56 +0000 (16:01 +0000)]
Merge "Collapse ART's AbstractMethod class into Executable"
David Brazdil [Wed, 14 Sep 2016 14:34:10 +0000 (15:34 +0100)]
Write VerifierDeps into VDEX.
This patch serializes VerifierDeps data and writes them into VDEX.
It also extends the VDEX header with sizes of the DEX and verifier
dependencies sections.
Bug:
30937355
Change-Id: I5aa5fc5eb8678533117138e445b757fa771973fb
Robert Sesek [Mon, 15 Aug 2016 19:21:09 +0000 (15:21 -0400)]
Add CanWriteToDalvikCache() check before writing a boot marker or image cache.
A new zygote process, the webview_zygote, will spawn isolated_app children,
but the process itself does not run as root and cannot write to the dalvik
cache. In order to not print SELinux avc errors, check for file-write
permission when testing to see if a boot marker or cache image or should be
written.
Test: m test-art
Test: angler boots
Bug:
21643067
Change-Id: I9f797fe7332a21ef4c6b83d2210b1673af09de1b
David Sehr [Mon, 19 Sep 2016 22:02:18 +0000 (15:02 -0700)]
Refactor Dex open methods
Consolidate dex opening around a simpler single interface in DexFile.
Making this change prior to moving all but the simplest interface out of
dex_file.{cc,h}.
Bug:
22322814
Change-Id: I4c55019912a19a1c90f9022c20f5b8b954fc7a47
Test: test-art-{host,target}
Roland Levillain [Wed, 21 Sep 2016 14:47:03 +0000 (14:47 +0000)]
Merge "Re-enable jsr166.LinkedTransferQueueTest tests on the CC configuration."
Roland Levillain [Wed, 21 Sep 2016 12:48:26 +0000 (13:48 +0100)]
Re-enable jsr166.LinkedTransferQueueTest tests on the CC configuration.
Test: art/tools/run-libcore-tests.sh --mode=host --variant=X32 --debug
Bug:
25883050
Bug:
12687968
Change-Id: I2eb40d70882cb3a6a3b5534c92d37a4b31b89859
Sebastien Hertz [Mon, 1 Aug 2016 09:09:50 +0000 (11:09 +0200)]
Update art tests
Jack generates different code compared to the previous release so
some tests need to be updated. For instance, Jack transform '!cond'
into 'cond xor 1'.
The test 463-checker-boolean-simplifier still tests the if/else
pattern using smali.
(cherry picked from commit
e4d28c502486afe58a0e156b8fefb621a622cec2)
Bug:
29493697
Test: lunch aosp_bullhead-userdebug && make -j32
Test: make -j32 test-art-host && make -j32 test-art-target
Test: art/tools/run-jdwp-tests.sh --mode=host
Change-Id: Ief8ac3e9a4bcaa35c99e57161961d630333d3b3c
Neil Fuller [Thu, 8 Sep 2016 12:43:31 +0000 (13:43 +0100)]
Collapse ART's AbstractMethod class into Executable
After the OpenJDK 8 pull there is now a common base class
for Method and Constructor that can be used instead.
Methods that are abstract on Executable but on Android
were implemented in AbstractMethod are now consistently
renamed to "{method}Internal", declared final and
given package-protected access.
For consistency with all other private, natively
implemented methods, the method getDeclaredAnnotations()
has been renamed getDeclaredAnnotationsNative().
Bug:
28666126
Bug:
31052885
Test: make test-art-host and cts run of CtsLibcoreTestCases
Change-Id: Ibfe6af6a47fe0cfffd0859ffbe58980aeb84e053
David Sehr [Tue, 20 Sep 2016 23:15:18 +0000 (23:15 +0000)]
Merge "Fix the target art method address within a method object"
Colin Cross [Tue, 20 Sep 2016 16:54:58 +0000 (09:54 -0700)]
Remove unused build code
All of the native code in art that used the custom build logic is built
with soong now, remove the make build code, leaving the definitions that
are still used by the test runner.
Test: m -j test-art-host
Test: m -j test-art-target
Change-Id: Iaba34a5c52be007bea153401375f4d0ae3ffce06
Treehugger Robot [Tue, 20 Sep 2016 22:00:19 +0000 (22:00 +0000)]
Merge "Rework logcat handling"
Treehugger Robot [Tue, 20 Sep 2016 21:52:18 +0000 (21:52 +0000)]
Merge "Rename several tests to be easier to read."
Jeff Hao [Tue, 20 Sep 2016 20:56:09 +0000 (20:56 +0000)]
Merge "Dexlayout changes to support offset/size output of items."
Wojciech Staszkiewicz [Fri, 16 Sep 2016 20:44:09 +0000 (13:44 -0700)]
Rework logcat handling
Only extract logs from dex2oat instances that were started by the
correct runtime. This is accomplished by getting pid of runtime
and then filtering logcat output based on dex2oat 'parent PID ='
messages.
Test: bisection_search.py -cp classes.dex --class Test
--expected-output out --device
Change-Id: Ib1a5da6fac1560c57af8245e3a921d10bf464f2a
Jing Ji [Thu, 1 Sep 2016 02:21:37 +0000 (21:21 -0500)]
Fix the target art method address within a method object
The target offset of art method within a method object should
take account of the offset of the image which is declaring this
method.
Bug:
31311504
Change-Id: Id6670dd3436b4bf5fb943d8d6234851fb336a4dc
(cherry picked from commit
1717159b07abefcf59d099bc81158644f0a0bffb)
Test: test-art-{host,target}
Alex Light [Tue, 20 Sep 2016 19:50:37 +0000 (12:50 -0700)]
Rename several tests to be easier to read.
Several tests had their names changed recently for file name length
reasons. This change makes several of the tests have more consistent
and easy to read names.
Bug:
31597671
Test: mma test-art-host
Change-Id: I166f03b604c200256f997c18f7cb091548002777
Vladimir Marko [Tue, 20 Sep 2016 19:00:27 +0000 (19:00 +0000)]
Merge "Change remaining slow path throw entrypoints to save everything."
Colin Cross [Tue, 20 Sep 2016 16:43:36 +0000 (16:43 +0000)]
Merge changes Id749f453,Ie3ce9dd8
* changes:
Always run oatdumps tests
Disable oatdumps device build
Nicolas Geoffray [Tue, 20 Sep 2016 16:41:24 +0000 (16:41 +0000)]
Merge "Make javac always use Java 7 when running tests using javac and dx"
Vladimir Marko [Wed, 14 Sep 2016 15:26:36 +0000 (16:26 +0100)]
Change remaining slow path throw entrypoints to save everything.
Change DivZeroCheck, BoundsCheck and explicit NullCheck
slow path entrypoints to conform to kSaveEverything.
On Nexus 9, AOSP ToT, the boot.oat size reduction is
prebuilt multi-part boot image:
- 32-bit boot.oat: -12KiB (-0.04%)
- 64-bit boot.oat: -24KiB (-0.06%)
on-device built single boot image:
- 32-bit boot.oat: -8KiB (-0.03%)
- 64-bit boot.oat: -16KiB (-0.04%)
Test: Run ART test suite including gcstress on host and Nexus 9.
Test: Manually disable implicit null checks and test as above.
Change-Id: If82a8082ea9ae571c5d03b5e545e67fcefafb163
Treehugger Robot [Tue, 20 Sep 2016 13:48:31 +0000 (13:48 +0000)]
Merge "ARM: Use vstm/vldm for live floating point registers save/restore in SlowPathCode."
Artem Serov [Fri, 15 Jul 2016 13:00:56 +0000 (14:00 +0100)]
ARM: Use vstm/vldm for live floating point registers save/restore in SlowPathCode.
Test: m test-art-target; m test-art-host
Change-Id: Id22271c572bb698728444bef90d5c7487ab84b1a
Treehugger Robot [Tue, 20 Sep 2016 11:08:05 +0000 (11:08 +0000)]
Merge "ARM: Remove extra argument from RUNTIME_CURRENT uses."
Treehugger Robot [Tue, 20 Sep 2016 10:36:22 +0000 (10:36 +0000)]
Merge "ARM: Use stm/ldm for live registers save/restore in SlowPathCode."
Vladimir Marko [Tue, 20 Sep 2016 09:18:53 +0000 (10:18 +0100)]
ARM: Remove extra argument from RUNTIME_CURRENT uses.
Missed this in
https://android-review.googlesource.com/238842
Test: Manually invoke clang as specified in bug
31607479.
Test: Rely on TreeHugger for the rest.
Bug:
31607479
Bug:
29259539
Change-Id: I540f7dcfffec5acb33b91e2bb4e0bb64708378e0
Søren Gjesse [Mon, 19 Sep 2016 09:12:51 +0000 (11:12 +0200)]
Make javac always use Java 7 when running tests using javac and dx
This adds "-source 1.7 -target 1.7" to JAVAC when --build-with-javac-dx
is specified.
Also make sure that dx is not run when --jvm is passed.
Test: art/test/run-test --host --build-with-javac-dx 003-omnibus-opcodes
Test: art/test/run-test --host --build-with-javac-dx 005-annotations
Test: art/test/run-test --host --build-with-javac-dx 023-many-interfaces
Test: art/test/run-test --host --build-with-javac-dx 056-const-string-jumbo
Test: art/test/run-test --host --build-with-javac-dx 091-override-package-private-method
Test: art/test/run-test --host --build-with-javac-dx 111-unresolvable-exception
Test: art/test/run-test --host --build-with-javac-dx 113-multidex
Test: art/test/run-test --host --build-with-javac-dx 124-missing-classes
Test: art/test/run-test --host --build-with-javac-dx 126-miranda-multidex
Test: art/test/run-test --host --build-with-javac-dx 127-checker-secondarydex
Test: art/test/run-test --host --build-with-javac-dx 131-structural-change
Test: art/test/run-test --host --build-with-javac-dx 138-duplicate-classes-check2
Test: art/test/run-test --host --build-with-javac-dx 303-verification-stress
Test: art/test/run-test --host --build-with-javac-dx 551-checker-shifter-operand
Test: art/test/run-test --host --build-with-javac-dx 555-checker-regression-x86const
Test: art/test/run-test --host 003-omnibus-opcodes
Test: art/test/run-test --host 005-annotations
Test: art/test/run-test --host 023-many-interfaces
Test: art/test/run-test --host 056-const-string-jumbo
Test: art/test/run-test --host 091-override-package-private-method
Test: art/test/run-test --host 111-unresolvable-exception
Test: art/test/run-test --host 113-multidex
Test: art/test/run-test --host 124-missing-classes
Test: art/test/run-test --host 126-miranda-multidex
Test: art/test/run-test --host 127-checker-secondarydex
Test: art/test/run-test --host 131-structural-change
Test: art/test/run-test --host 138-duplicate-classes-check2
Test: art/test/run-test --host 303-verification-stress
Test: art/test/run-test --host 551-checker-shifter-operand
Test: art/test/run-test --host 555-checker-regression-x86const
Test: art/test/run-test --jvm 003-omnibus-opcodes
Test: art/test/run-test --jvm 005-annotations
Test: art/test/run-test --jvm 023-many-interfaces
Test: art/test/run-test --jvm 056-const-string-jumbo
Test: art/test/run-test --jvm 091-override-package-private-method
Test: art/test/run-test --jvm 111-unresolvable-exception
Test: art/test/run-test --jvm 113-multidex
Test: art/test/run-test --jvm 124-missing-classes
Test: art/test/run-test --jvm 126-miranda-multidex
Test: art/test/run-test --jvm 127-checker-secondarydex
Test: art/test/run-test --jvm 131-structural-change
Test: art/test/run-test --jvm 138-duplicate-classes-check2
Test: art/test/run-test --jvm 303-verification-stress
Test: art/test/run-test --jvm 551-checker-shifter-operand
Test: art/test/run-test --jvm 555-checker-regression-x86const
Change-Id: I60f8a973c0dd425988abe55223bdef426c772b97
Jeff Hao [Sat, 10 Sep 2016 01:35:01 +0000 (18:35 -0700)]
Dexlayout changes to support offset/size output of items.
- Created offset & size fields for items, initially populated with
values from original dex file.
- Created index field for indexed items in header.
- Created Item objects for StringData and TypeList.
- Created Collections container to hold unique_ptrs for all objects
- Reorganized EncodedArrayItems to make it easier to collect them
- Added relevant annotations-related items to Collections
- Some size calculations and section offsets left as TODO
Bug:
29921113
Test: mm test-art-host-gtest-dexlayout_test
Change-Id: Id812f104c1930a3ee381e885f353a9a49f29ac9b
Treehugger Robot [Tue, 20 Sep 2016 00:37:20 +0000 (00:37 +0000)]
Merge "Increase host frame size limit for SANITIZE_HOST"
Treehugger Robot [Tue, 20 Sep 2016 00:12:51 +0000 (00:12 +0000)]
Merge "Integrate built-in bisection search with runtest"
Aart Bik [Mon, 19 Sep 2016 23:35:23 +0000 (23:35 +0000)]
Merge "Shorten long test names"
Wojciech Staszkiewicz [Mon, 19 Sep 2016 17:06:09 +0000 (10:06 -0700)]
Shorten long test names
Long Android.run-test.mk targets cause testing framework to
misbehave. Issues occur in no-prebuild mode when --output-path
parameter generated by the make system is too long. When this
happens oat generation fails silently in oat_file_assistant.cc
during creation of empty vdex and oat files.
Creation fails because file names, which are as long as absolute path
to source dex file, are longer than 255 characters Linux file name
limit.
Because oat generation fails silently affected tests pass even though
they were effectively ran in interpreter mode, instead of intended
default mode.
This CL shortens test names to be at most 35 characters. This helps
make the tests more reliable.
Test: m test-art-run-test
Bug:
31597671
Change-Id: Ic68408ae0c98ffca0c64ca4f5535f4e683a296f0
Wojciech Staszkiewicz [Thu, 1 Sep 2016 21:43:39 +0000 (14:43 -0700)]
Integrate built-in bisection search with runtest
Adds a --bisection-search switch to run-test. When this switch
is enabled run-test performs bisection bug search for nonchecker
failing tests attempting to find faulty method and optimization.
Adds ART_TEST_BISECTION flag support to Android.run-test.mk.
When this flag is set to true, run-test will run in bisection
search mode.
Bisection search works in no-prebuild mode only.
Test: ART_TEST_BISECTION=true m test-art-run-test
Change-Id: Id2d664a0b35fed366f50a60ce96f1ca6bd123cd4
Colin Cross [Mon, 19 Sep 2016 20:02:47 +0000 (13:02 -0700)]
Always run oatdumps tests
ART_BUILD_HOST_STATIC is meaningless now, the static tools are always
available. Add oatdumpds as a dependency of the host oatdump tests, and
always enable the oatdump static tests.
Test: m -j test-art-host-gtest-oatdump_test
Change-Id: Id749f453f82489dc81a2c9042d3cc3120ea3d308
Colin Cross [Mon, 19 Sep 2016 19:25:31 +0000 (12:25 -0700)]
Increase host frame size limit for SANITIZE_HOST
When SANITIZE_HOST=address, art/test/137-cfi/cfi.cc fails with:
error: stack frame size of 1944 bytes in function 'Java_Main_unwindInProcess'
Increase the frame size when SANITIZE_HOST is set, the same way it is
increased for device builds.
Test: m -j libarttest SANITIZE_HOST=address
Test: run-test --host 137
Change-Id: I08d8492e6629159b0e0306cb9499debbe6bb865c
Colin Cross [Mon, 19 Sep 2016 19:57:18 +0000 (12:57 -0700)]
Disable oatdumps device build
oatdumps is only supposed to build for the host.
Test: mmma -j art
Change-Id: Ie3ce9dd8340bfc226e7f3125491875f9c18b388a
Treehugger Robot [Mon, 19 Sep 2016 20:04:19 +0000 (20:04 +0000)]
Merge "Improve sharpening for read barrier image HLoadClass"
Treehugger Robot [Mon, 19 Sep 2016 19:47:40 +0000 (19:47 +0000)]
Merge "Fix mac build"
Treehugger Robot [Mon, 19 Sep 2016 18:28:07 +0000 (18:28 +0000)]
Merge "Revert "Revert "test: Remove icu cleanup hack"""
Colin Cross [Mon, 19 Sep 2016 17:40:05 +0000 (10:40 -0700)]
Fix mac build
Move darwin disabling to art_test_defaults to disable mac build for
libarttest.
Test: mmma -j art on mac
Change-Id: I972245ddbacea274087d9231e4788bd9f2d6fe6b
Mathieu Chartier [Fri, 16 Sep 2016 21:16:42 +0000 (14:16 -0700)]
Improve sharpening for read barrier image HLoadClass
Handle MarkInBoot image for LoadKind::kReferrersClass. This reduces
read barriers for the boot image if the referring class is in
the boot image.
Only really helps CC case, TODO avoid doing the work for non CC?
ARM64 CC baker boot.oat:
48006064 ->
47916736
Bug:
29516974
Test: test-art-host CC baker
Change-Id: Ibfa0cf0a3b888ad0e53c2d95a38e330b79e7443c
Treehugger Robot [Mon, 19 Sep 2016 17:34:41 +0000 (17:34 +0000)]
Merge "Ensure class is initialized when reading its fields from debugger."
Colin Cross [Mon, 19 Sep 2016 17:12:37 +0000 (17:12 +0000)]
Merge "Convert art runtests to Android.bp"
Colin Cross [Fri, 16 Sep 2016 20:47:21 +0000 (13:47 -0700)]
Convert art runtests to Android.bp
Build the art runtest libraries with Android.bp. The host test
libraries move from out/host/linux-x86/lib[64] to
out/host/linux-x86/nativetest[64], and the device test libraires from
/data/artest/${TARGET_ARCH} to /data/nativetest[64]/art/${TARGET_ARCH},
which requires adding nativetest to the library search path, and fixing
some tests to support multiple entries in library search paths.
Test: m -j test-art-host
Test: m -j test-art-target
Change-Id: I2118a3292f22f275954ddd7cdd4e12287fe47808