OSDN Git Service

android-x86/art.git
7 years agoMerge "Add support for Executable.getParameters() metadata"
Neil Fuller [Wed, 28 Sep 2016 12:29:53 +0000 (12:29 +0000)]
Merge "Add support for Executable.getParameters() metadata"

7 years agoAdd support for Executable.getParameters() metadata
Neil Fuller [Fri, 9 Sep 2016 13:24:51 +0000 (14:24 +0100)]
Add support for Executable.getParameters() metadata

java.lang.reflect.Executable native code to create Parameter
objects and supporting code for obtaining the system annotations
that hold the parameter metadata.

Bug: 30391692
Test: test-art-host and CtsLibcoreTestCases
Change-Id: I23d7e36014716967ce189fba5955cc5e064fe8d0

7 years agoMerge "benchmark: Add jni benchmarks for use in golem"
Nicolas Geoffray [Wed, 28 Sep 2016 08:24:12 +0000 (08:24 +0000)]
Merge "benchmark: Add jni benchmarks for use in golem"

7 years agoMerge "Handle tests which fail with no methods compiled"
Treehugger Robot [Wed, 28 Sep 2016 02:19:49 +0000 (02:19 +0000)]
Merge "Handle tests which fail with no methods compiled"

7 years agoMerge "Store bisection logs in test directory"
Treehugger Robot [Wed, 28 Sep 2016 02:14:34 +0000 (02:14 +0000)]
Merge "Store bisection logs in test directory"

7 years agoMerge "Fix a CC deadlock in 129-ThreadGetId."
Treehugger Robot [Tue, 27 Sep 2016 23:53:08 +0000 (23:53 +0000)]
Merge "Fix a CC deadlock in 129-ThreadGetId."

7 years agoMerge "Add a true divergence mode to run_jfuzz_test.py"
Treehugger Robot [Tue, 27 Sep 2016 20:12:21 +0000 (20:12 +0000)]
Merge "Add a true divergence mode to run_jfuzz_test.py"

7 years agoMerge "Add basic support for object pointer poisoning"
Mathieu Chartier [Tue, 27 Sep 2016 18:17:00 +0000 (18:17 +0000)]
Merge "Add basic support for object pointer poisoning"

7 years agoFix a CC deadlock in 129-ThreadGetId.
Hiroshi Yamauchi [Mon, 26 Sep 2016 23:56:24 +0000 (16:56 -0700)]
Fix a CC deadlock in 129-ThreadGetId.

GC should consider a thread as "waiting for GC thread flip" or
"transitioning to runnable" only if its suspend count is 1.

See 31683379#7 for the deadlock scenario.

Bug: 31683379
Bug: 12687968
Test: test-art with CC and gcstress, N9 libartd boot, Ritz EAAC.
Change-Id: Icd2548bd6d9a4f8d7b54ed20150a4801af9e26a3

7 years agobenchmark: Add jni benchmarks for use in golem
Igor Murashkin [Thu, 22 Sep 2016 22:46:29 +0000 (15:46 -0700)]
benchmark: Add jni benchmarks for use in golem

Also adds libartbenchmark.so as a build dependency for golem targets

Test: make build-art-host-golem build-art-target-golem
Bug: 31401609
Change-Id: I3f6b11f93684cc8eb3534bb02bf2d3eb05e39dcf

7 years agoMerge "ART: Fix dependencies"
Andreas Gampe [Tue, 27 Sep 2016 15:10:57 +0000 (15:10 +0000)]
Merge "ART: Fix dependencies"

7 years agoMerge "Cleanup String.<init> handling."
Nicolas Geoffray [Tue, 27 Sep 2016 09:31:33 +0000 (09:31 +0000)]
Merge "Cleanup String.<init> handling."

7 years agoCleanup String.<init> handling.
Nicolas Geoffray [Mon, 26 Sep 2016 16:56:07 +0000 (17:56 +0100)]
Cleanup String.<init> handling.

Move everything to one place (currently well_known_classes.cc, but
no strong preference) and define a macro to easily handle the list
of affected methods.

test: m test-art-host
test: m test-art-target
Change-Id: Ib8372d130d5458516a1f1ae31014afc76037fc34

7 years agoMerge "Fix no-prebuild failure."
Nicolas Geoffray [Tue, 27 Sep 2016 09:25:58 +0000 (09:25 +0000)]
Merge "Fix no-prebuild failure."

7 years agoFix no-prebuild failure.
Nicolas Geoffray [Tue, 27 Sep 2016 09:24:36 +0000 (10:24 +0100)]
Fix no-prebuild failure.

Printed executable is now dalvikvm* instead of art.

test:run-test --host 118

Change-Id: Id2c3a7f6ba90ee3cb4e57a49e366c46377fc4c45

7 years agoMerge "ahat: Show GC Root Paths."
Treehugger Robot [Tue, 27 Sep 2016 07:17:52 +0000 (07:17 +0000)]
Merge "ahat: Show GC Root Paths."

7 years agoART: Fix dependencies
Andreas Gampe [Tue, 27 Sep 2016 03:17:42 +0000 (20:17 -0700)]
ART: Fix dependencies

Add libbase to libart-simulator.

Bug: 31338270
Test: m test-art-host
Change-Id: I956465f8d380e856cddf7f53c5aae358847b52ed

7 years agoMerge "ART: Fix dependencies"
Andreas Gampe [Tue, 27 Sep 2016 02:48:37 +0000 (02:48 +0000)]
Merge "ART: Fix dependencies"

7 years agoART: Fix dependencies
Andreas Gampe [Tue, 27 Sep 2016 01:09:47 +0000 (18:09 -0700)]
ART: Fix dependencies

Add libbase to libart-compiler.

Bug: 31338270
Test: m test-art-host
Change-Id: I6398baaaee15063f4c275f40109d943c04af066f

7 years agoStore bisection logs in test directory
Wojciech Staszkiewicz [Tue, 27 Sep 2016 00:51:52 +0000 (17:51 -0700)]
Store bisection logs in test directory

Store bisection search logs in test directory for easier access.

Test: ./test/run-test --never-clean --no-prebuild --bisection-search
037-inherit
Change-Id: I67e472b933516f0e486f47fd2c7a4ae06212db44

7 years agoHandle tests which fail with no methods compiled
Wojciech Staszkiewicz [Tue, 27 Sep 2016 00:39:26 +0000 (17:39 -0700)]
Handle tests which fail with no methods compiled

Check if test passes with no methods compiled and only then bisect
it.

Test: ./bisection_search.py -cp classes.dex --expected-output out --class
Test
Change-Id: If63af7304ae124a1920ec2a3f57d33a6b1f71bb9

7 years agoAdd basic support for object pointer poisoning
Mathieu Chartier [Mon, 26 Sep 2016 18:39:52 +0000 (11:39 -0700)]
Add basic support for object pointer poisoning

ObjPtr is a pointer that checks for heap corruption and is meant
to replace mirror::Object* in places where a mirror::Object* is a
local variable. Whenever there is a possible suspend point, the
current thread's object pointers are all invalidated. This is done
by storing a cookie in the object pointer associated with what thread
created it.

Added test case in object_test.

Example failure:
object_test F 25379 25379 object_pointer.h:70] Check failed:
IsValid() Invalid cookie, expected 0 but got 2

Bug: 31113334

Test: test-art-host-gtest-object_test

Change-Id: I9fa80ccaf2f0448621942935af702a243a3e1ee6

7 years agoMerge "ART: Fix dependencies"
Andreas Gampe [Mon, 26 Sep 2016 23:26:51 +0000 (23:26 +0000)]
Merge "ART: Fix dependencies"

7 years agoMerge "ART: Revert base/logging conditional hacks"
Treehugger Robot [Mon, 26 Sep 2016 23:00:02 +0000 (23:00 +0000)]
Merge "ART: Revert base/logging conditional hacks"

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 dependencies
Andreas Gampe [Mon, 26 Sep 2016 21:18:25 +0000 (14:18 -0700)]
ART: Fix dependencies

Add libbase as a dependency to libartbenchmark.

Bug: 31338270
Test: m test-art-host
Change-Id: I23c9f4219710fd8b5691837c5bc197b993aafe7b

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 agoAdd a true divergence mode to run_jfuzz_test.py
Wojciech Staszkiewicz [Sat, 24 Sep 2016 01:02:55 +0000 (18:02 -0700)]
Add a true divergence mode to run_jfuzz_test.py

Adds a --true_divergence switch which prevents tool from bisecting
TIMEOUT vs ERROR and TIMEOUT vs SUCCESS return code divergences.

Test: ./run_jfuzz_test.py
Change-Id: I53dd1c2b6934aafcc178fcc5dffd0b10d7a7fc5f

7 years agoART: Revert base/logging conditional hacks
Andreas Gampe [Mon, 26 Sep 2016 19:51:53 +0000 (12:51 -0700)]
ART: Revert base/logging conditional hacks

This partially reverts commit bda1d606f2d31086874b68edd9254e3817d8049c.
ART was switched to libbase logging.

Bug: 31338270
Test: m test-art-host
Change-Id: I1a2f90d1ddb67d45ebe28d970b3ee7fd2d16a730

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 agoahat: Show GC Root Paths.
Richard Uhler [Tue, 20 Sep 2016 09:41:47 +0000 (10:41 +0100)]
ahat: Show GC Root Paths.

The Dominator Path in the objects view is replaced by an augmented
Sample Path from GC Root, which includes non-dominator objects
along a sample path and field names.

Also, use blanks instead of "0" in heap tables when the size is 0.
This cleans up the pages a little, and conveniently lets us
distinguish between dominator and non-dominator objects in the Sample
Path from GC Root.

Test: m ahat-test, with new InstanceUtils.gcRootPath test added.

Bug: 27299030
Change-Id: I53d75f9dcb3157c2b5b3afc74958711536cd67b6

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}