OSDN Git Service

android-x86/art.git
7 years agoMerge "ART: Expect a null self in SetEntrypointsInstrumented"
Andreas Gampe [Tue, 18 Oct 2016 17:13:02 +0000 (17:13 +0000)]
Merge "ART: Expect a null self in SetEntrypointsInstrumented"

7 years agoART: Expect a null self in SetEntrypointsInstrumented
Andreas Gampe [Tue, 18 Oct 2016 17:03:42 +0000 (10:03 -0700)]
ART: Expect a null self in SetEntrypointsInstrumented

Follow-up to commit 157c77eb9a5d6a7fe6ebcc29afa7f1913a877c87.

Bug: 31684277
Test: m ART_TEST_GC_STRESS=true test-art-host
Change-Id: I9de848ea6a9484798b75a594f3e390ef27394743

7 years agoMerge changes I7061c450,Ie8f8f24b,Ia6cee2cb
Andreas Gampe [Tue, 18 Oct 2016 15:15:56 +0000 (15:15 +0000)]
Merge changes I7061c450,Ie8f8f24b,Ia6cee2cb

* changes:
  ART: Do not free allocation listener in heap destructor
  ART: Fix allocation entrypoint instrumentation
  ART: Fix lock order issue in allocation tracking

7 years agoMerge "Revert "Revert "Revert "Temporarily blacklist 955-method-handles-smali.""""
Narayan Kamath [Tue, 18 Oct 2016 09:49:15 +0000 (09:49 +0000)]
Merge "Revert "Revert "Revert "Temporarily blacklist 955-method-handles-smali.""""

7 years agoMerge "Fix handling of dex cache arrays for method types."
Narayan Kamath [Tue, 18 Oct 2016 09:23:04 +0000 (09:23 +0000)]
Merge "Fix handling of dex cache arrays for method types."

7 years agoART: Do not free allocation listener in heap destructor
Andreas Gampe [Tue, 18 Oct 2016 00:46:15 +0000 (17:46 -0700)]
ART: Do not free allocation listener in heap destructor

Do not deallocate on exit. Libraries are freed only after the heap
has already been destroyed.

Bug: 31684277
Bug: 31684920
Test: m test-art-host
Change-Id: I7061c4500a9ad314e2c00d7d722bb3372dff4810

7 years agoART: Fix allocation entrypoint instrumentation
Andreas Gampe [Tue, 18 Oct 2016 00:44:41 +0000 (17:44 -0700)]
ART: Fix allocation entrypoint instrumentation

Fix the unstarted-runtime case. Special-case the reset call to
the current thread, only.

Bug: 31684277
Test: m test-art-host
Change-Id: Ie8f8f24b2a6041344266a4e6b6bf8ddd9a0352a5

7 years agoART: Fix lock order issue in allocation tracking
Andreas Gampe [Tue, 18 Oct 2016 00:40:27 +0000 (17:40 -0700)]
ART: Fix lock order issue in allocation tracking

(Un)instrumenting requires the instrumenting lock, which must be
acquired before the mutator lock. As the plugin can be called both
with and without the lock held, be careful. For simplicity, acquire
the lock (potentially) and immediately suspend.

Bug: 31684277
Test: m test-art-host
Change-Id: Ia6cee2cbe90f13f5543bdfea815d469b28a0f8f4

7 years agoMerge "event interface going private"
Treehugger Robot [Mon, 17 Oct 2016 23:08:41 +0000 (23:08 +0000)]
Merge "event interface going private"

7 years agoMerge "Remove logging dependency on runtime"
Treehugger Robot [Mon, 17 Oct 2016 22:47:01 +0000 (22:47 +0000)]
Merge "Remove logging dependency on runtime"

7 years agoMerge "Fix invoke-virtual not throwing ICCE in some cases"
Treehugger Robot [Mon, 17 Oct 2016 21:56:12 +0000 (21:56 +0000)]
Merge "Fix invoke-virtual not throwing ICCE in some cases"

7 years agoevent interface going private
Mark Salyzyn [Mon, 17 Oct 2016 21:11:20 +0000 (14:11 -0700)]
event interface going private

Test: compile
Bug: 30465923
Change-Id: I704e0e6ae886207a9625fcb59be4876307d21e5f

7 years agoRemove logging dependency on runtime
David Sehr [Mon, 17 Oct 2016 17:09:33 +0000 (10:09 -0700)]
Remove logging dependency on runtime

Moved the abort backtracing function to runtime, forcing callers to
supply the aborter at InitLogging.  This makes runtime properly layer
on top of logging by removing the cyclic dependency.

Bug: 22322814
Test: test-art-host
Change-Id: I8b2e72174e937bb88fe1bddd6d04b564cfb011a9

7 years agoMerge "Move most mirror:: args to ObjPtr"
Mathieu Chartier [Mon, 17 Oct 2016 20:29:37 +0000 (20:29 +0000)]
Merge "Move most mirror:: args to ObjPtr"

7 years agoFix invoke-virtual not throwing ICCE in some cases
Alex Light [Mon, 17 Oct 2016 20:02:39 +0000 (13:02 -0700)]
Fix invoke-virtual not throwing ICCE in some cases

Due to an oversight invoke-virtual on an interface method would
not cause an ICCE to be thrown if the target method is default. This
could potentially cause incorrect methods to be called at runtime.

Bug: 32201623
Test: mma test-art-host-run-test-978-virtual-interface
Change-Id: Ie565cf2fbe8602b17be0fb051e21d221a17b518f

7 years agoMove most mirror:: args to ObjPtr
Mathieu Chartier [Sat, 15 Oct 2016 01:43:19 +0000 (18:43 -0700)]
Move most mirror:: args to ObjPtr

Fixed possible moving GC bugs in ClinitImageUpdate class.

Bug: 31113334

Test: test-art-host
Change-Id: I0bf6578553d58b944aaa17665f1350bdf5ed15ec

7 years agoMerge "Use FdFile::Copy() in dex2oat for better error checking."
Vladimir Marko [Mon, 17 Oct 2016 16:43:30 +0000 (16:43 +0000)]
Merge "Use FdFile::Copy() in dex2oat for better error checking."

7 years agoRevert "Revert "Revert "Temporarily blacklist 955-method-handles-smali."""
Narayan Kamath [Mon, 17 Oct 2016 15:13:46 +0000 (16:13 +0100)]
Revert "Revert "Revert "Temporarily blacklist 955-method-handles-smali."""

This reverts commit 5665f6a561262b78d85afc975eca5a3138f4efa2.

Test failures were fixed in d4fd5b1ec3bea01ad6985b7fe19a0f80b5fc970b.

Test: make test-art-host.

Change-Id: I45901836a92336ed1a337cdbf3fa9a0181c3d975

7 years agoFix handling of dex cache arrays for method types.
Narayan Kamath [Fri, 14 Oct 2016 17:49:12 +0000 (18:49 +0100)]
Fix handling of dex cache arrays for method types.

- Add support for relocating method type dex cache arrays.
- Add missing call to MethodTypeDexCachePair::Initialize in the
  class_linker.
- Fix alignment calculation for method_types in
  DexCacheArraysLayout.
- Removed unused MethodTypeOffset(uint32_t) method.

Fixes tests with --pic.

Test: make test-art-host
Bug: 30550796

Change-Id: I2bba7228762b9e9834e7659fe62090be78afdfa8

7 years agoMerge "Ensure OpenDexFilesFromImage closes file to prevent file descriptor leak"
Brian Carlstrom [Mon, 17 Oct 2016 15:18:09 +0000 (15:18 +0000)]
Merge "Ensure OpenDexFilesFromImage closes file to prevent file descriptor leak"

7 years agoMerge "Add DCHECK() for class loader in artResolveStringFromCode()."
Vladimir Marko [Mon, 17 Oct 2016 15:08:21 +0000 (15:08 +0000)]
Merge "Add DCHECK() for class loader in artResolveStringFromCode()."

7 years agoUse FdFile::Copy() in dex2oat for better error checking.
Vladimir Marko [Mon, 17 Oct 2016 14:25:10 +0000 (15:25 +0100)]
Use FdFile::Copy() in dex2oat for better error checking.

Previously, read errors would have been silently ignored
and write errors would ungracefully crash.

Also improves performance on Linux, including Android,
by using sendfile(). (We still keep Mac builds around.)

Test: m test-art-host
Change-Id: I689e8b9fee4595c42b353bd10042b60a7d6c1bc7

7 years agoMerge "Do not write empty class table and intern table to image."
Vladimir Marko [Mon, 17 Oct 2016 12:27:55 +0000 (12:27 +0000)]
Merge "Do not write empty class table and intern table to image."

7 years agoMerge "ART: Blacklist test 907 for target"
Treehugger Robot [Sat, 15 Oct 2016 04:06:52 +0000 (04:06 +0000)]
Merge "ART: Blacklist test 907 for target"

7 years agoART: Blacklist test 907 for target
Andreas Gampe [Sat, 15 Oct 2016 02:05:06 +0000 (19:05 -0700)]
ART: Blacklist test 907 for target

Bug: 31684578
Test: m test-art-host
Change-Id: If2353bef8601ba16941a7b1df2befc215b493431

7 years agoMerge changes If95ecaf4,Ifb33cae2
Treehugger Robot [Sat, 15 Oct 2016 02:02:37 +0000 (02:02 +0000)]
Merge changes If95ecaf4,Ifb33cae2

* changes:
  ART: Temporarily use global references for GetLoadedClasses
  ART: Add GetLoadedClasses support

7 years agoMerge "ART: Make JNI global and weak global locks global"
Treehugger Robot [Sat, 15 Oct 2016 01:08:46 +0000 (01:08 +0000)]
Merge "ART: Make JNI global and weak global locks global"

7 years agoEnsure OpenDexFilesFromImage closes file to prevent file descriptor leak
Brian Carlstrom [Fri, 14 Oct 2016 08:04:26 +0000 (01:04 -0700)]
Ensure OpenDexFilesFromImage closes file to prevent file descriptor leak

(cherry picked from commit 645e477c2ce7a59ac98bc86463826cf082a13ad8)

Test: m -j32 test-art-host
Bug: 32095919
Change-Id: I44541edeb403a508e1b9794ee09fb1f55e3f42bf

7 years agoMerge "Move reference processor and mirror::Reference to ObjPtr"
Mathieu Chartier [Fri, 14 Oct 2016 23:40:46 +0000 (23:40 +0000)]
Merge "Move reference processor and mirror::Reference to ObjPtr"

7 years agoART: Temporarily use global references for GetLoadedClasses
Andreas Gampe [Fri, 14 Oct 2016 20:30:56 +0000 (13:30 -0700)]
ART: Temporarily use global references for GetLoadedClasses

Until we have enough local references, use global references.

Bug: 31684578
Bug: 32125344
Test: m test-art-host
Change-Id: If95ecaf424cfc7e8a84c7f99b071ac5d6bfb7797

7 years agoART: Add GetLoadedClasses support
Andreas Gampe [Wed, 12 Oct 2016 19:51:25 +0000 (12:51 -0700)]
ART: Add GetLoadedClasses support

Add support to retrieve all loaded classes. Use the standard
ClassLoader callback infrastructure.

Bug: 31684578
Test: m test-art-host-run-test-907-get-loaded-classes
Change-Id: Ifb33cae27dc32602bcd8fd930d3c7eda02598c26

7 years agoART: Make JNI global and weak global locks global
Andreas Gampe [Fri, 14 Oct 2016 20:27:12 +0000 (13:27 -0700)]
ART: Make JNI global and weak global locks global

Add them to Locks. Give the JNI global table lock
a lock level, close to the weak global JNI references.

Bug: 31684578
Test: m test-art-host
Change-Id: I3857a3b0be69b16811d9999096b2c42e7a25d227

7 years agoMerge "Add a mark bit check in the read barrier jni entrypoint."
Hiroshi Yamauchi [Fri, 14 Oct 2016 21:46:31 +0000 (21:46 +0000)]
Merge "Add a mark bit check in the read barrier jni entrypoint."

7 years agoMove reference processor and mirror::Reference to ObjPtr
Mathieu Chartier [Fri, 14 Oct 2016 21:28:47 +0000 (14:28 -0700)]
Move reference processor and mirror::Reference to ObjPtr

Bug: 31113334

Test: test-art-host

Change-Id: I2c7c3dfd88ebf12a0de271436f8a7781f997e061

7 years agoAdd a mark bit check in the read barrier jni entrypoint.
Hiroshi Yamauchi [Fri, 14 Oct 2016 18:21:38 +0000 (11:21 -0700)]
Add a mark bit check in the read barrier jni entrypoint.

Bug: 30437917
Bug: 12687968
Test: test-art host/N9, N9 libartd boot, Ritz EAAC.
Change-Id: Ic5f8080959f243e80f00da73ba5f4b91a8d8b617

7 years agoMerge "Move mirror::ObjectArray to ObjPtr"
Mathieu Chartier [Fri, 14 Oct 2016 16:54:05 +0000 (16:54 +0000)]
Merge "Move mirror::ObjectArray to ObjPtr"

7 years agoAdd DCHECK() for class loader in artResolveStringFromCode().
Vladimir Marko [Fri, 14 Oct 2016 15:28:52 +0000 (16:28 +0100)]
Add DCHECK() for class loader in artResolveStringFromCode().

Address late comment from
    https://android-review.googlesource.com/281642

Test: m test-art-host
Bug: 20323084
Bug: 30627598
Change-Id: I3ba2617d2bc52ac8ba11307d206e6f5e6c017fb7

7 years agoMerge "Revert "Revert "Temporarily blacklist 955-method-handles-smali."""
Narayan Kamath [Fri, 14 Oct 2016 14:29:03 +0000 (14:29 +0000)]
Merge "Revert "Revert "Temporarily blacklist 955-method-handles-smali."""

7 years agoRevert "Revert "Temporarily blacklist 955-method-handles-smali.""
Narayan Kamath [Fri, 14 Oct 2016 14:27:33 +0000 (14:27 +0000)]
Revert "Revert "Temporarily blacklist 955-method-handles-smali.""

This reverts commit
f18d84699a7c18802f9774069143c173c6b927fb.

Tests are red on the bot. Blacklisting until this is investigated further.

Change-Id: Ibb9b4066abe28e8625c4eed5e0818e6a3fdd4f44

7 years agoMerge "Revert "Temporarily blacklist 955-method-handles-smali.""
Treehugger Robot [Fri, 14 Oct 2016 13:23:03 +0000 (13:23 +0000)]
Merge "Revert "Temporarily blacklist 955-method-handles-smali.""

7 years agoMerge "Small clean up in art::x86_64::ReadBarrierMarkSlowPathX86_64."
Roland Levillain [Fri, 14 Oct 2016 11:47:10 +0000 (11:47 +0000)]
Merge "Small clean up in art::x86_64::ReadBarrierMarkSlowPathX86_64."

7 years agoRevert "Temporarily blacklist 955-method-handles-smali."
Narayan Kamath [Thu, 13 Oct 2016 15:09:33 +0000 (16:09 +0100)]
Revert "Temporarily blacklist 955-method-handles-smali."

This reverts commit adc2ef25244645a650111560d252e32b3e22f463.

The test is green, now that the required smali changes have been
merged into aosp/master.

Test: make test-art-host
Change-Id: I63eed37470d1def3bafccdd00116d7b49a4c9c78

7 years agoDo not write empty class table and intern table to image.
Vladimir Marko [Thu, 13 Oct 2016 11:53:15 +0000 (12:53 +0100)]
Do not write empty class table and intern table to image.

And remove dead ClassLinker and InternTable code that would
be erroneously triggered by not writing the tables.

Test: m test-art-host
Change-Id: I2520daa8d1231e16112d44e364a72d782fa32527

7 years agoMerge "interpreter: support for non-exact invokes."
Treehugger Robot [Fri, 14 Oct 2016 10:19:58 +0000 (10:19 +0000)]
Merge "interpreter: support for non-exact invokes."

7 years agointerpreter: support for non-exact invokes.
Narayan Kamath [Wed, 3 Aug 2016 11:46:58 +0000 (12:46 +0100)]
interpreter: support for non-exact invokes.

Performs primitive argument conversions as well as boxing and unboxing
operations. Support for return value conversions will be added in a
follow up change.

Test: make test-art-host

Change-Id: I2e3348ff64a5826e477f87c12a7d5c390eb3a653

7 years agoMerge "MIPS32: Improve integer comparison with constants."
Nicolas Geoffray [Fri, 14 Oct 2016 08:37:36 +0000 (08:37 +0000)]
Merge "MIPS32: Improve integer comparison with constants."

7 years agoMove mirror::ObjectArray to ObjPtr
Mathieu Chartier [Thu, 13 Oct 2016 20:48:23 +0000 (13:48 -0700)]
Move mirror::ObjectArray to ObjPtr

Also reduce calls to ObjPtr::Ptr.

Bug: 31113334

Test: test-art-host -j32

Change-Id: I73e1b356972bb079b66332f00f7f07451601044e

7 years agoMerge "jni: Add read barrier fast path to jni compiler"
Treehugger Robot [Fri, 14 Oct 2016 00:37:37 +0000 (00:37 +0000)]
Merge "jni: Add read barrier fast path to jni compiler"

7 years agoMerge "Move common throws to ObjPtr"
Mathieu Chartier [Thu, 13 Oct 2016 23:52:45 +0000 (23:52 +0000)]
Merge "Move common throws to ObjPtr"

7 years agoMove common throws to ObjPtr
Mathieu Chartier [Thu, 13 Oct 2016 20:59:58 +0000 (13:59 -0700)]
Move common throws to ObjPtr

Also a few other throws. Removed some calls to ObjPtr::Ptr.

Test: test-art-host

Bug: 31113334

Change-Id: I4082d64134a5a8961489f4309522c28a30968a18

7 years agoMerge "Move mirror::Class to use ObjPtr"
Mathieu Chartier [Thu, 13 Oct 2016 20:08:36 +0000 (20:08 +0000)]
Merge "Move mirror::Class to use ObjPtr"

7 years agoMove mirror::Class to use ObjPtr
Mathieu Chartier [Tue, 4 Oct 2016 20:54:57 +0000 (13:54 -0700)]
Move mirror::Class to use ObjPtr

Leave the return types as non ObjPtr for now. Fixed moving GC bugs
in tests.

Test: test-art-host

Bug: 31113334

Change-Id: I5da1b5ac55dfbc5cc97a64be2c870ba9f512d9b0

7 years agojni: Add read barrier fast path to jni compiler
Igor Murashkin [Thu, 6 Oct 2016 21:59:19 +0000 (14:59 -0700)]
jni: Add read barrier fast path to jni compiler

Static method dispatch via JNI requires a read barrier
for the ArtMethod::GetDeclaringClass() load before adding it to the
JNI StackHandleScope.

We used to call ReadBarrierJni unconditionally but add a branch
to skip calling it if the GC is not currently in the marking phase.

Test: ART_USE_READ_BARRIER=true make test-art-host test-art-target
Bug: 30437917
Change-Id: I4f505ebde17c0a67209c7bb51b3f39e37a06373a

7 years agoSmall clean up in art::x86_64::ReadBarrierMarkSlowPathX86_64.
Roland Levillain [Thu, 13 Oct 2016 15:51:08 +0000 (16:51 +0100)]
Small clean up in art::x86_64::ReadBarrierMarkSlowPathX86_64.

Clearly separate art::x86_64::CpuRegister (register object
used by the x86-64 assembler) from art::x86_64::Register
(register number) in
art::x86_64::ReadBarrierMarkSlowPathX86_64::EmitNativeCode.

Test: ART_USE_READ_BARRIER=true make test-art-host
Bug: 12687968
Change-Id: I4300e9b9c16b18119d4e399092aa1c9543518ab5

7 years agoMerge "Fix optimizing_cfi_test and arm64 code generation."
Nicolas Geoffray [Thu, 13 Oct 2016 15:09:30 +0000 (15:09 +0000)]
Merge "Fix optimizing_cfi_test and arm64 code generation."

7 years agoFix optimizing_cfi_test and arm64 code generation.
Nicolas Geoffray [Thu, 13 Oct 2016 12:42:30 +0000 (13:42 +0100)]
Fix optimizing_cfi_test and arm64 code generation.

Change https://android-review.googlesource.com/#/c/287582/ broke it.

test: m test-art-host-gtest-optimizing_cfi_test
test: m test-art-target on angler
Change-Id: I7fc74a87ffa0b26b8e103b87a2ac1179bea2145a

7 years agoMerge "Fix missing symbols for multiple oat files case"
Vladimir Marko [Thu, 13 Oct 2016 13:31:18 +0000 (13:31 +0000)]
Merge "Fix missing symbols for multiple oat files case"

7 years agoMerge "Generate SHA-1 build ID for host-generated *.oat files (1/2)."
David Srbecky [Thu, 13 Oct 2016 12:52:31 +0000 (12:52 +0000)]
Merge "Generate SHA-1 build ID for host-generated *.oat files (1/2)."

7 years agoMerge "Update HInstruction::NeedsCurrentMethod."
Nicolas Geoffray [Thu, 13 Oct 2016 10:15:52 +0000 (10:15 +0000)]
Merge "Update HInstruction::NeedsCurrentMethod."

7 years agoMerge "ART: Disable test 906 for JIT"
Nicolas Geoffray [Thu, 13 Oct 2016 10:04:00 +0000 (10:04 +0000)]
Merge "ART: Disable test 906 for JIT"

7 years agoMerge "Revert "Revert "Remove dead code from compiler driver."""
Nicolas Geoffray [Thu, 13 Oct 2016 08:13:49 +0000 (08:13 +0000)]
Merge "Revert "Revert "Remove dead code from compiler driver."""

7 years agoMerge "Move Heap::GetInstances to use Handles"
Mathieu Chartier [Thu, 13 Oct 2016 04:09:27 +0000 (04:09 +0000)]
Merge "Move Heap::GetInstances to use Handles"

7 years agoMove Heap::GetInstances to use Handles
Mathieu Chartier [Thu, 13 Oct 2016 02:37:59 +0000 (19:37 -0700)]
Move Heap::GetInstances to use Handles

Prevent moving GC bugs from VisitObjects. Fix JDWP tests.

Test: art/tools/run-jdwp-tests.sh '--mode=host' '--variant=X32' --debug

Bug: 31113334
Change-Id: Ie7f51f1980ec0c1eddc3b59c3e49564eacb3be85

7 years agoFix missing symbols for multiple oat files case
bowen_lai [Wed, 12 Oct 2016 05:28:55 +0000 (13:28 +0800)]
Fix missing symbols for multiple oat files case

Generate the missing symbols when enabling "--multi-image"

Test: m test-art-host-gtest-dex2oat_test
Change-Id: I0ae2fb552ecd741f0b06414bc4a37c2f93ce5389

7 years agoMIPS32: Improve integer comparison with constants.
Alexey Frunze [Fri, 16 Sep 2016 04:37:49 +0000 (21:37 -0700)]
MIPS32: Improve integer comparison with constants.

Test: booted MIPS32 in QEMU
Test: test-art-target-run-test-optimizing on CI20
Test: test-art-target-gtest on CI20

Change-Id: Icbe74099fdebc29a38055ef70d7f14eed770b0a7

7 years agoMerge "Use handles for GetReferringObjects"
Mathieu Chartier [Thu, 13 Oct 2016 02:30:43 +0000 (02:30 +0000)]
Merge "Use handles for GetReferringObjects"

7 years agoUse handles for GetReferringObjects
Mathieu Chartier [Thu, 13 Oct 2016 02:19:56 +0000 (19:19 -0700)]
Use handles for GetReferringObjects

Required since VisitObjects may cause thread suspension. Fixes
failing jdwp tests.

Test: test-art-host
Test: art/tools/run-jdwp-tests.sh '--mode=host' '--variant=X32' --debug

Bug: 31113334
Change-Id: Ic11780b3778c83e7812bc90c0723a293537f376c

7 years agoMerge "Fix moving GC bug in cloning finalizable objects"
Mathieu Chartier [Thu, 13 Oct 2016 01:31:19 +0000 (01:31 +0000)]
Merge "Fix moving GC bug in cloning finalizable objects"

7 years agoART: Disable test 906 for JIT
Andreas Gampe [Thu, 13 Oct 2016 01:21:41 +0000 (18:21 -0700)]
ART: Disable test 906 for JIT

Suppress test which has potential allocations at inopportune
moments.

Bug: 31385354
Test: m ART_TEST_JIT=true test-art-host-run-test-906-iterate-heap
Change-Id: I137d5d2ba20b95ee4c4421e9da7526bee0c57d20

7 years agoFix moving GC bug in cloning finalizable objects
Mathieu Chartier [Wed, 12 Oct 2016 23:08:35 +0000 (16:08 -0700)]
Fix moving GC bug in cloning finalizable objects

It is not safe to have thread suspension in the PreFenceVisitor. The fix is
to add the finalizer reference in the caller.

Test: art/tools/run-libcore-tests.sh '--mode=host' '--variant=X32' --debug

Bug: 31113334

Change-Id: I1e4650f8b75408a3d07e2c51ac334ff98552cfb5

7 years agoMerge "Move registration into android package"
Colin Cross [Thu, 13 Oct 2016 00:02:33 +0000 (00:02 +0000)]
Merge "Move registration into android package"

7 years agoMerge "Replace StackHandleScopeCollection with VariableSizedHandleScope"
Mathieu Chartier [Wed, 12 Oct 2016 23:47:10 +0000 (23:47 +0000)]
Merge "Replace StackHandleScopeCollection with VariableSizedHandleScope"

7 years agoMerge "Add handle wrapper to allocation listener"
Mathieu Chartier [Wed, 12 Oct 2016 23:00:51 +0000 (23:00 +0000)]
Merge "Add handle wrapper to allocation listener"

7 years agoMerge "Recognize XOR-based periodic induction."
Treehugger Robot [Wed, 12 Oct 2016 22:57:20 +0000 (22:57 +0000)]
Merge "Recognize XOR-based periodic induction."

7 years agoMerge "ART: Fix typo"
Treehugger Robot [Wed, 12 Oct 2016 22:47:18 +0000 (22:47 +0000)]
Merge "ART: Fix typo"

7 years agoAdd handle wrapper to allocation listener
Mathieu Chartier [Wed, 12 Oct 2016 22:45:58 +0000 (15:45 -0700)]
Add handle wrapper to allocation listener

Fix failing test for interpreter.

Test: mm -j32 test-art-host-run-test-debug-prebuild-interpreter-relocate-trace-cms-checkjni-picimage-npictest-ndebuggable-904-object-allocation32  ART_TEST_TRACE=true ART_TEST_OPTIMIZING=false ART_TEST_INTERPRETER=true

Change-Id: I9e7e09db82cf13730dc2471ac05260bf6a69ab7c

7 years agoMerge "jni: Disable FastNative path for methods returning objects"
Treehugger Robot [Wed, 12 Oct 2016 22:23:36 +0000 (22:23 +0000)]
Merge "jni: Disable FastNative path for methods returning objects"

7 years agoMove registration into android package
Colin Cross [Wed, 12 Oct 2016 21:26:55 +0000 (14:26 -0700)]
Move registration into android package

Mutator registration is tightly coupled with the android package, move
all registration from the soong package to the android package.

Test: build.ninja identical
Change-Id: I0326d0c88f78edb79eebedb155b69415e351fb61

7 years agoUpdate HInstruction::NeedsCurrentMethod.
Nicolas Geoffray [Wed, 12 Oct 2016 21:03:31 +0000 (22:03 +0100)]
Update HInstruction::NeedsCurrentMethod.

HLoadString and HLoadClass when sharpened may not need it
anymore. Instead just rely on the HCurrentMethod being the
SSA dependency of those instructions.

Also save storing the current method in the stack if the
graph actually doesn't need it.

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

7 years agoRecognize XOR-based periodic induction.
Aart Bik [Wed, 12 Oct 2016 17:01:05 +0000 (10:01 -0700)]
Recognize XOR-based periodic induction.

Rationale:
This is a commonly used construct (e.g. x = !x for booleans
and x ^= 1 for integers). This CL prepares some upcoming
optimizations that exploit such inductions.

Change-Id: I46edffb9de1075a836995daf5c2dfff7891f3034
Test: 530-checker-loops2 and induction_var_analysis_test

7 years agoART: Fix typo
Andreas Gampe [Wed, 12 Oct 2016 20:50:20 +0000 (13:50 -0700)]
ART: Fix typo

Follow-up to commit 27fa96c285c4aa2f64e9bb63a3f38ffdc98c282a.

Bug: 31684277
Test: m test-art-host
Change-Id: I165b350f6c1a216ed6a7ca648abd6004c662c1cb

7 years agojni: Disable FastNative path for methods returning objects
Igor Murashkin [Wed, 12 Oct 2016 20:33:43 +0000 (13:33 -0700)]
jni: Disable FastNative path for methods returning objects

Bug: 32088975
Change-Id: Iba3a8f5462829ccb38f771f8f940b57c4e6a1c3f

7 years agoMerge "Fix the CC monkey crashes."
Treehugger Robot [Wed, 12 Oct 2016 20:42:56 +0000 (20:42 +0000)]
Merge "Fix the CC monkey crashes."

7 years agoReplace StackHandleScopeCollection with VariableSizedHandleScope
Mathieu Chartier [Tue, 11 Oct 2016 23:52:17 +0000 (16:52 -0700)]
Replace StackHandleScopeCollection with VariableSizedHandleScope

VariableSizedHandleScope's internal handle scopes are not pushed
directly on the thread. This means that it is safe to intermix with
other types of handle scopes.

Added test.

Test: clean-oat-host && test-art-host

Change-Id: Id2fd1155788428f394d49615d337d9134824c8f0

7 years agoMerge "ART: Disable test 906 for target"
Andreas Gampe [Wed, 12 Oct 2016 20:11:11 +0000 (20:11 +0000)]
Merge "ART: Disable test 906 for target"

7 years agoART: Disable test 906 for target
Andreas Gampe [Wed, 12 Oct 2016 20:09:03 +0000 (13:09 -0700)]
ART: Disable test 906 for target

Bug: 31385354
Test: m test-art-host-run-test-906-iterate-heap
Change-Id: Ic31d25acd9c50dfefddd567ead30d8d3e3f97d0a

7 years agoMerge "ART: Add heap iteration callback"
Andreas Gampe [Wed, 12 Oct 2016 19:48:18 +0000 (19:48 +0000)]
Merge "ART: Add heap iteration callback"

7 years agoFix the CC monkey crashes.
Hiroshi Yamauchi [Wed, 12 Oct 2016 18:53:57 +0000 (11:53 -0700)]
Fix the CC monkey crashes.

Add ScopedGCCriticalSection around the monitor deflation to avoid race
conditions on the lock word.

Bug: 31773180
Bug: 31712602
Bug: 31712174
Bug: 31712601
Bug: 31712256
Bug: 31710993
Bug: 12687968
Test: test-art host/N9, N9 libartd boot, Ritz EAAC.
Change-Id: Id05c6502fb08ca2e0770af4940b737038c3412d6

7 years agoMerge "Move Heap parameters to ObjPtr"
Mathieu Chartier [Wed, 12 Oct 2016 18:35:03 +0000 (18:35 +0000)]
Merge "Move Heap parameters to ObjPtr"

7 years agoART: Add heap iteration callback
Andreas Gampe [Wed, 12 Oct 2016 02:55:37 +0000 (19:55 -0700)]
ART: Add heap iteration callback

Add callback support for heap iteration. Visiting of fields will
be done in a follow-up.

Add a test.

Bug: 31385354
Test: m test-art-host-run-test-906-iterate-heap
Test: m ART_TEST_GC_STRESS=true ART_TEST_GC_VERIFY=true test-art-host-run-test-906-iterate-heap
Change-Id: I7bcf6751e6df4ef58756ba97701050b2ff5eb07b

7 years agoMove Heap parameters to ObjPtr
Mathieu Chartier [Fri, 7 Oct 2016 00:44:26 +0000 (17:44 -0700)]
Move Heap parameters to ObjPtr

Deleted some unused object dumping code.

Test: test-art-host

Bug: 31113334

Change-Id: I747220caafe6679591fd4b361d7f50383a046164

7 years agoMerge "ART: Use cerr for host unexpected errors"
Treehugger Robot [Wed, 12 Oct 2016 15:47:44 +0000 (15:47 +0000)]
Merge "ART: Use cerr for host unexpected errors"

7 years agoRevert "Revert "Remove dead code from compiler driver.""
Nicolas Geoffray [Wed, 12 Oct 2016 13:03:15 +0000 (13:03 +0000)]
Revert "Revert "Remove dead code from compiler driver.""

This reverts commit 38f250fd3cb36fac27bad7cac8eefacdf8a6e41e.

Change-Id: I491891c9108a0646145553241aa04a9cbba7d29b

7 years agoMerge "Address revew comments for change Ia653d2c72df13889dc85dd8c84997582c034ea4b."
Nicolas Geoffray [Wed, 12 Oct 2016 13:05:08 +0000 (13:05 +0000)]
Merge "Address revew comments for change Ia653d2c72df13889dc85dd8c84997582c034ea4b."

7 years agoART: Use cerr for host unexpected errors
Andreas Gampe [Wed, 12 Oct 2016 03:04:11 +0000 (20:04 -0700)]
ART: Use cerr for host unexpected errors

Use cerr and endl when dumping unexpected signals on Linux. This
simulates the previous special-casing of INTERNAL_FATAL to
immediately print output.

Bug: 31338270
Test: m test-art-host
Test: manual segfault
Change-Id: I9d4471836339bf69681cc4aa43df6d558e7f123d

7 years agoMerge "ART: Add object reclaim support"
Treehugger Robot [Tue, 11 Oct 2016 23:16:48 +0000 (23:16 +0000)]
Merge "ART: Add object reclaim support"

7 years agoART: Add object reclaim support
Andreas Gampe [Tue, 11 Oct 2016 02:09:09 +0000 (19:09 -0700)]
ART: Add object reclaim support

Add support for the object free callback.

Refactor code in support. Add test.

Bug: 31384923
Test: m test-art-host
Test: m test-art-host-run-test-905-object-free
Test: m ART_USE_READ_BARRIER=true test-art-host-run-test-905-object-free
Change-Id: Icde40ad464c723cfe2f7660c07cd2f79b6dc2032

7 years agoMerge "Improved and simplified loop optimizations."
Treehugger Robot [Tue, 11 Oct 2016 19:55:32 +0000 (19:55 +0000)]
Merge "Improved and simplified loop optimizations."

7 years agoImproved and simplified loop optimizations.
Aart Bik [Mon, 10 Oct 2016 22:39:10 +0000 (15:39 -0700)]
Improved and simplified loop optimizations.

Rationale:
Empty preheader simplification has been simplified
to a much more general empty block removal optimization
step. Incremental updating of induction variable
analysis enables repeated elimination or simplification
of induction cycles.

This enabled an extra layer of optimization for
e.g. Benchpress Loop (17.5us. -> 0.24us. -> 0.08us).
So the original 73x speedup is now multiplied
by another 3x, for a total of about 218x.

Test: 618-checker-induction et al.
Change-Id: I394699981481cdd5357e0531bce88cd48bd32879

7 years agoMerge "Enable generic JNI tests for MIPS32"
Treehugger Robot [Tue, 11 Oct 2016 16:03:13 +0000 (16:03 +0000)]
Merge "Enable generic JNI tests for MIPS32"