OSDN Git Service

android-x86/art.git
7 years agoMerge "ART: Fix nits"
Treehugger Robot [Mon, 26 Sep 2016 22:48:55 +0000 (22:48 +0000)]
Merge "ART: Fix nits"

7 years agoMerge "Implement nightly jfuzz test runner"
Treehugger Robot [Mon, 26 Sep 2016 21:42:08 +0000 (21:42 +0000)]
Merge "Implement nightly jfuzz test runner"

7 years agoART: Fix nits
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

7 years agoMerge "jni: Punt to generic JNI for mips"
Treehugger Robot [Mon, 26 Sep 2016 19:53:37 +0000 (19:53 +0000)]
Merge "jni: Punt to generic JNI for mips"

7 years agoImplement nightly jfuzz test runner
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

7 years agoMerge "ART: Use libbase logging"
Treehugger Robot [Mon, 26 Sep 2016 19:45:22 +0000 (19:45 +0000)]
Merge "ART: Use libbase logging"

7 years agoART: 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

7 years agojni: Punt to generic JNI for mips
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

7 years agoMerge "Fix CTS crash from DexFile refactoring"
David Sehr [Mon, 26 Sep 2016 14:34:49 +0000 (14:34 +0000)]
Merge "Fix CTS crash from DexFile refactoring"

7 years agoMerge "Compensate in compiler for verifier shortcomings."
Treehugger Robot [Mon, 26 Sep 2016 12:39:16 +0000 (12:39 +0000)]
Merge "Compensate in compiler for verifier shortcomings."

7 years agoCompensate 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

7 years agoMerge "Add DCE check to test 458-checker-instruct-simplification"
Sebastien Hertz [Mon, 26 Sep 2016 07:09:43 +0000 (07:09 +0000)]
Merge "Add DCE check to test 458-checker-instruct-simplification"

7 years agoMerge "Use liblog for liblog (instead of libcutils)"
Treehugger Robot [Sat, 24 Sep 2016 01:31:25 +0000 (01:31 +0000)]
Merge "Use liblog for liblog (instead of libcutils)"

7 years agoMerge "Smarter image layout"
Treehugger Robot [Sat, 24 Sep 2016 00:37:51 +0000 (00:37 +0000)]
Merge "Smarter image layout"

7 years agoUse liblog for liblog (instead of libcutils)
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

7 years agoSmarter image layout
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

7 years agoFix CTS crash from DexFile refactoring
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

7 years agoMerge "Add CanWriteToDalvikCache() check before writing a boot marker or image cache."
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."

7 years agoMerge "Minor jfuzz improvements."
Aart Bik [Fri, 23 Sep 2016 15:18:21 +0000 (15:18 +0000)]
Merge "Minor jfuzz improvements."

7 years agoAdd DCE check to test 458-checker-instruct-simplification
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

7 years agoMerge "Fix mips build after sharpening change."
Treehugger Robot [Fri, 23 Sep 2016 13:17:32 +0000 (13:17 +0000)]
Merge "Fix mips build after sharpening change."

7 years agoFix 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

7 years agoMerge "Clean-up sharpening and compiler driver."
Treehugger Robot [Fri, 23 Sep 2016 09:49:47 +0000 (09:49 +0000)]
Merge "Clean-up sharpening and compiler driver."

7 years agoMerge "Use android_root instead of hard coded /system in test script."
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."

7 years agoClean-up sharpening and compiler driver.
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

7 years agoMerge "Prepare run_jfuzz_test.py to report bugs"
Treehugger Robot [Fri, 23 Sep 2016 06:36:10 +0000 (06:36 +0000)]
Merge "Prepare run_jfuzz_test.py to report bugs"

7 years agoMerge "Disable test 902-hello-transformation on target"
Treehugger Robot [Fri, 23 Sep 2016 00:43:24 +0000 (00:43 +0000)]
Merge "Disable test 902-hello-transformation on target"

7 years agoMinor jfuzz improvements.
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

7 years agoDisable test 902-hello-transformation on target
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

7 years agoUse android_root instead of hard coded /system in test script.
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

7 years agoPrepare run_jfuzz_test.py to report bugs
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

7 years agoMerge "Pass --root to cpplint."
Sen Jiang [Thu, 22 Sep 2016 17:49:44 +0000 (17:49 +0000)]
Merge "Pass --root to cpplint."

7 years agoMerge "Revert "Revert "ARM: VIXL32: Add an initial code generator that passes codegen...
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."""

7 years agoRevert "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

7 years agoMerge "Ensure Jack generates annotations for test 005-annotations"
Benoit Lamarche [Thu, 22 Sep 2016 09:34:26 +0000 (09:34 +0000)]
Merge "Ensure Jack generates annotations for test 005-annotations"

7 years agoMerge "Update art tests"
Benoit Lamarche [Thu, 22 Sep 2016 09:34:26 +0000 (09:34 +0000)]
Merge "Update art tests"

7 years agoMerge "Don't warn for frame size in tests."
Treehugger Robot [Thu, 22 Sep 2016 05:38:51 +0000 (05:38 +0000)]
Merge "Don't warn for frame size in tests."

7 years agoMerge "Renaming tool: jfuzz"
Treehugger Robot [Thu, 22 Sep 2016 05:16:42 +0000 (05:16 +0000)]
Merge "Renaming tool: jfuzz"

7 years agoMerge "Make image test multi image"
Treehugger Robot [Thu, 22 Sep 2016 03:43:55 +0000 (03:43 +0000)]
Merge "Make image test multi image"

7 years agoMake 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

7 years agoRenaming tool: jfuzz
Aart Bik [Wed, 21 Sep 2016 22:45:18 +0000 (15:45 -0700)]
Renaming tool: jfuzz

Test: run_jfuzz_test.py

Change-Id: I0efa31c3f1c30344c796a9077488e7e467d2456e

7 years agoMerge "Get a basic modification of dex file working"
Treehugger Robot [Thu, 22 Sep 2016 01:06:27 +0000 (01:06 +0000)]
Merge "Get a basic modification of dex file working"

7 years agoMerge "jni: Implement generic JNI support for @CriticalNative/@FastNative"
Treehugger Robot [Thu, 22 Sep 2016 00:37:06 +0000 (00:37 +0000)]
Merge "jni: Implement generic JNI support for @CriticalNative/@FastNative"

7 years agoPass --root to cpplint.
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

7 years agoMerge "Reimplement ART_NDEBUG_OPT_FLAG"
Treehugger Robot [Wed, 21 Sep 2016 22:55:25 +0000 (22:55 +0000)]
Merge "Reimplement ART_NDEBUG_OPT_FLAG"

7 years agoGet a basic modification of dex file working
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

7 years agoDon't warn for frame size in tests.
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

7 years agoMerge "Implemented first version of java/dex fuzz testing script."
Treehugger Robot [Wed, 21 Sep 2016 21:55:59 +0000 (21:55 +0000)]
Merge "Implemented first version of java/dex fuzz testing script."

7 years agojni: Implement generic JNI support for @CriticalNative/@FastNative
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

7 years agoReimplement ART_NDEBUG_OPT_FLAG
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

7 years agoMerge "Remove unused build code"
Colin Cross [Wed, 21 Sep 2016 19:32:01 +0000 (19:32 +0000)]
Merge "Remove unused build code"

7 years agoMerge "Revert "ARM: VIXL32: Add an initial code generator that passes codegen_tests.""
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.""

7 years agoMerge "Refactor Dex open methods"
Treehugger Robot [Wed, 21 Sep 2016 16:53:26 +0000 (16:53 +0000)]
Merge "Refactor Dex open methods"

7 years agoRevert "ARM: VIXL32: Add an initial code generator that passes codegen_tests."
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

7 years agoMerge "Write VerifierDeps into VDEX."
Treehugger Robot [Wed, 21 Sep 2016 16:51:57 +0000 (16:51 +0000)]
Merge "Write VerifierDeps into VDEX."

7 years agoMerge "ARM: VIXL32: Add an initial code generator that passes codegen_tests."
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."

7 years agoImplemented first version of java/dex fuzz testing script.
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

7 years agoMerge "Collapse ART's AbstractMethod class into Executable"
Neil Fuller [Wed, 21 Sep 2016 16:01:56 +0000 (16:01 +0000)]
Merge "Collapse ART's AbstractMethod class into Executable"

7 years agoWrite VerifierDeps into VDEX.
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

7 years agoAdd CanWriteToDalvikCache() check before writing a boot marker or image cache.
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

7 years agoRefactor Dex open methods
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}

7 years agoMerge "Re-enable jsr166.LinkedTransferQueueTest tests on the CC configuration."
Roland Levillain [Wed, 21 Sep 2016 14:47:03 +0000 (14:47 +0000)]
Merge "Re-enable jsr166.LinkedTransferQueueTest tests on the CC configuration."

7 years agoRe-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

7 years agoUpdate art tests
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

7 years agoCollapse ART's AbstractMethod class into Executable
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

7 years agoMerge "Fix the target art method address within a method object"
David Sehr [Tue, 20 Sep 2016 23:15:18 +0000 (23:15 +0000)]
Merge "Fix the target art method address within a method object"

7 years agoRemove unused build code
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

7 years agoMerge "Rework logcat handling"
Treehugger Robot [Tue, 20 Sep 2016 22:00:19 +0000 (22:00 +0000)]
Merge "Rework logcat handling"

7 years agoMerge "Rename several tests to be easier to read."
Treehugger Robot [Tue, 20 Sep 2016 21:52:18 +0000 (21:52 +0000)]
Merge "Rename several tests to be easier to read."

7 years agoMerge "Dexlayout changes to support offset/size output of items."
Jeff Hao [Tue, 20 Sep 2016 20:56:09 +0000 (20:56 +0000)]
Merge "Dexlayout changes to support offset/size output of items."

7 years agoRework logcat handling
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

7 years agoFix the target art method address within a method object
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}

7 years agoRename several tests to be easier to read.
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

7 years agoMerge "Change remaining slow path throw entrypoints to save everything."
Vladimir Marko [Tue, 20 Sep 2016 19:00:27 +0000 (19:00 +0000)]
Merge "Change remaining slow path throw entrypoints to save everything."

7 years agoMerge changes Id749f453,Ie3ce9dd8
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

7 years agoMerge "Make javac always use Java 7 when running tests using javac and dx"
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"

7 years agoChange remaining slow path throw entrypoints to save everything.
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

7 years agoMerge "ARM: Use vstm/vldm for live floating point registers save/restore in SlowPathC...
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."

7 years agoARM: 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

7 years agoMerge "ARM: Remove extra argument from RUNTIME_CURRENT uses."
Treehugger Robot [Tue, 20 Sep 2016 11:08:05 +0000 (11:08 +0000)]
Merge "ARM: Remove extra argument from RUNTIME_CURRENT uses."

7 years agoMerge "ARM: Use stm/ldm for live registers save/restore in SlowPathCode."
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."

7 years agoARM: Remove extra argument from RUNTIME_CURRENT uses.
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

7 years agoMake javac always use Java 7 when running tests using javac and dx
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

7 years agoDexlayout changes to support offset/size output of items.
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

7 years agoMerge "Increase host frame size limit for SANITIZE_HOST"
Treehugger Robot [Tue, 20 Sep 2016 00:37:20 +0000 (00:37 +0000)]
Merge "Increase host frame size limit for SANITIZE_HOST"

7 years agoMerge "Integrate built-in bisection search with runtest"
Treehugger Robot [Tue, 20 Sep 2016 00:12:51 +0000 (00:12 +0000)]
Merge "Integrate built-in bisection search with runtest"

7 years agoMerge "Shorten long test names"
Aart Bik [Mon, 19 Sep 2016 23:35:23 +0000 (23:35 +0000)]
Merge "Shorten long test names"

7 years agoShorten 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

7 years agoIntegrate built-in bisection search with runtest
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

7 years agoAlways run oatdumps tests
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

7 years agoIncrease host frame size limit for SANITIZE_HOST
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

7 years agoDisable oatdumps device build
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

7 years agoMerge "Improve sharpening for read barrier image HLoadClass"
Treehugger Robot [Mon, 19 Sep 2016 20:04:19 +0000 (20:04 +0000)]
Merge "Improve sharpening for read barrier image HLoadClass"

7 years agoMerge "Fix mac build"
Treehugger Robot [Mon, 19 Sep 2016 19:47:40 +0000 (19:47 +0000)]
Merge "Fix mac build"

7 years agoMerge "Revert "Revert "test: Remove icu cleanup hack"""
Treehugger Robot [Mon, 19 Sep 2016 18:28:07 +0000 (18:28 +0000)]
Merge "Revert "Revert "test: Remove icu cleanup hack"""

7 years agoFix mac build
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

7 years agoImprove sharpening for read barrier image HLoadClass
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

7 years agoMerge "Ensure class is initialized when reading its fields from debugger."
Treehugger Robot [Mon, 19 Sep 2016 17:34:41 +0000 (17:34 +0000)]
Merge "Ensure class is initialized when reading its fields from debugger."

7 years agoMerge "Convert art runtests to Android.bp"
Colin Cross [Mon, 19 Sep 2016 17:12:37 +0000 (17:12 +0000)]
Merge "Convert art runtests to Android.bp"

7 years agoConvert 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