OSDN Git Service

android-x86/art.git
7 years agoMerge "Use art::Atomic for CopyObject"
Mathieu Chartier [Tue, 11 Oct 2016 00:59:03 +0000 (00:59 +0000)]
Merge "Use art::Atomic for CopyObject"

7 years agoMerge "ART: Add allocation callback"
Andreas Gampe [Tue, 11 Oct 2016 00:43:31 +0000 (00:43 +0000)]
Merge "ART: Add allocation callback"

7 years agoMerge "ART: Switch to name-based IMT hashing"
Treehugger Robot [Mon, 10 Oct 2016 23:39:05 +0000 (23:39 +0000)]
Merge "ART: Switch to name-based IMT hashing"

7 years agoART: Switch to name-based IMT hashing
Andreas Gampe [Tue, 27 Sep 2016 19:19:45 +0000 (12:19 -0700)]
ART: Switch to name-based IMT hashing

Use a hash scheme based on the name. This keeps IMT slots stable
when dex tables change.

This incurs a severe performance penalty for computing the slot.
Measurements on host degraded from 30ns to an average of 85mus.
However, calls in compiled code will not incur this overhead.

Added a test comparing similar interfaces in similar dex files.

Bug: 31594153
Test: test-art-host
Change-Id: Ibb86679ee94bec561984ea25826e56b1a7964cd0

7 years agoMerge "Avoid ThreadStress timeout with art-read-barrier-table-lookup."
Hiroshi Yamauchi [Mon, 10 Oct 2016 20:42:18 +0000 (20:42 +0000)]
Merge "Avoid ThreadStress timeout with art-read-barrier-table-lookup."

7 years agoMerge "ART: Add event callback support"
Treehugger Robot [Mon, 10 Oct 2016 20:37:52 +0000 (20:37 +0000)]
Merge "ART: Add event callback support"

7 years agoART: Add allocation callback
Andreas Gampe [Fri, 7 Oct 2016 22:05:24 +0000 (15:05 -0700)]
ART: Add allocation callback

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

7 years agoMerge "mterp: Placeholder support for invoke-polymorphic"
Bill Buzbee [Mon, 10 Oct 2016 20:27:34 +0000 (20:27 +0000)]
Merge "mterp: Placeholder support for invoke-polymorphic"

7 years agoUse art::Atomic for CopyObject
Mathieu Chartier [Fri, 7 Oct 2016 19:59:33 +0000 (12:59 -0700)]
Use art::Atomic for CopyObject

Just to be sure it doesn't get turned into memcpy.

Also avoid casting ObjectArray to IntArray. This is a strict aliasing
violation.

Bug: 32012820

Test: test-art-host

Change-Id: Icc5d4a758cb4f4e1686389bb0cb74ac08e554f04

7 years agoMerge "MIPS64: Fix art_quick_aput_obj stubs"
Nicolas Geoffray [Mon, 10 Oct 2016 08:34:17 +0000 (08:34 +0000)]
Merge "MIPS64: Fix art_quick_aput_obj stubs"

7 years agoART: Add event callback support
Andreas Gampe [Fri, 7 Oct 2016 18:48:21 +0000 (11:48 -0700)]
ART: Add event callback support

Add basic event callback support infrastructure. Actual users will
follow.

Bug: 31684920
Test: m test-art-host
Change-Id: Ic496933ef3a94f9d27a2779b7f4fdc5b096eab22

7 years agoAvoid ThreadStress timeout with art-read-barrier-table-lookup.
Hiroshi Yamauchi [Sat, 8 Oct 2016 00:07:03 +0000 (17:07 -0700)]
Avoid ThreadStress timeout with art-read-barrier-table-lookup.

Disable MarkFromReadBarrierWithMeasurements for
art-read-barrier-table-lookup to avoid slowdown as it takes more read
barrier slow paths than art-read-barrier.

Increase the timeout.

Bug: 31679493
Bug: 12687968
Test: test-art-host with ART_READ_BARRIER_TYPE=TABLELOOKUP
Change-Id: I1a87864448e28099e522dc7fedce2208189248f2

7 years agomterp: Placeholder support for invoke-polymorphic
buzbee [Fri, 7 Oct 2016 19:56:32 +0000 (12:56 -0700)]
mterp: Placeholder support for invoke-polymorphic

Force the mterp assembly interpreters to fall back to the
reference switch interpreter for invoke-polymorphic and
invoke-polymorphic-range while those new opcodes are under
development.

Test: test-art-host

Change-Id: I6167432164bd869c91d0804521d5edc9549f622e

7 years agoMerge "Use word copying for CopyObject"
Mathieu Chartier [Fri, 7 Oct 2016 19:45:02 +0000 (19:45 +0000)]
Merge "Use word copying for CopyObject"

7 years agoUse word copying for CopyObject
Mathieu Chartier [Fri, 7 Oct 2016 17:51:53 +0000 (10:51 -0700)]
Use word copying for CopyObject

Prevent word tearing.

Bug: 32012820

Test: test-art-host

Change-Id: Ie3d5817f3bdf49e0d949caeccd7cd3512d61bdf7

7 years agoMerge "Move mirror::Object setters to ObjPtr"
Mathieu Chartier [Fri, 7 Oct 2016 16:57:40 +0000 (16:57 +0000)]
Merge "Move mirror::Object setters to ObjPtr"

7 years agoMerge "Improved and simplified loop optimizations."
Treehugger Robot [Fri, 7 Oct 2016 16:51:06 +0000 (16:51 +0000)]
Merge "Improved and simplified loop optimizations."

7 years agoMIPS64: Fix art_quick_aput_obj stubs
Goran Jakovljevic [Fri, 7 Oct 2016 15:03:28 +0000 (17:03 +0200)]
MIPS64: Fix art_quick_aput_obj stubs

Prevent situations where $gp is calculated and saved twice in a row
without restoring it. When restored in the end, its value was wrong.

This fixes test failure in stub_test.APutObj.

Test: mma test-art-target-gtest-stub_test64 on QEMU

Change-Id: I63b37ecee8d3576c57c0f6862d00bc03965b042d

7 years agoImproved and simplified loop optimizations.
Aart Bik [Thu, 6 Oct 2016 18:36:57 +0000 (11:36 -0700)]
Improved and simplified loop optimizations.

Rationale:
This CL merges some common cases into one, thereby simplifying
the code quite a bit. It also prepares for more general induction
cycles (rather than the simple phi-add currently used). Finally,
it generalizes the closed form elimination with empty loops.
As a result of the latter, elaborate but weird code like:

  private static int waterFall() {
    int i = 0;
    for (; i < 10; i++);
    for (; i < 20; i++);
    for (; i < 30; i++);
    for (; i < 40; i++);
    for (; i < 50; i++);
    return i;
  }

now becomes just this (on x86)!

    mov eax, 50
    ret

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

7 years agoMerge "Add "fixups" for ids referenced in code"
David Sehr [Fri, 7 Oct 2016 15:10:06 +0000 (15:10 +0000)]
Merge "Add "fixups" for ids referenced in code"

7 years agoMerge "Blacklist test 903."
Nicolas Geoffray [Fri, 7 Oct 2016 08:41:37 +0000 (08:41 +0000)]
Merge "Blacklist test 903."

7 years agoBlacklist test 903.
Nicolas Geoffray [Fri, 7 Oct 2016 08:29:20 +0000 (09:29 +0100)]
Blacklist test 903.

bug:31681198
Change-Id: I2d5578242d594be791aedd99266263ec53182d77

7 years agoMerge "Move remaining jobject related functions to use ObjPtr"
Mathieu Chartier [Fri, 7 Oct 2016 00:31:27 +0000 (00:31 +0000)]
Merge "Move remaining jobject related functions to use ObjPtr"

7 years agoAdd "fixups" for ids referenced in code
David Sehr [Fri, 7 Oct 2016 00:09:32 +0000 (17:09 -0700)]
Add "fixups" for ids referenced in code

Allow better visualization by determining which type_id, string_id,
method_id, and field_id values are used by code_items.

Bug: 29921113
Change-Id: Ia6ff72064104cd5c0868e972ca65536dbeb37b09
Test: dexlayout -s {some favorite apks}

7 years agoMove mirror::Object setters to ObjPtr
Mathieu Chartier [Thu, 6 Oct 2016 22:13:58 +0000 (15:13 -0700)]
Move mirror::Object setters to ObjPtr

Bug: 31113334

Test: test-art-host

Change-Id: I2c4c84645e194c3c435a4a6fd670176b0e98671f

7 years agoMerge "ART: Register object tagging table"
Andreas Gampe [Thu, 6 Oct 2016 22:26:42 +0000 (22:26 +0000)]
Merge "ART: Register object tagging table"

7 years agoMove remaining jobject related functions to use ObjPtr
Mathieu Chartier [Thu, 6 Oct 2016 01:32:08 +0000 (18:32 -0700)]
Move remaining jobject related functions to use ObjPtr

Also added ObjPtr::DownCast.

Bug: 31113334

Test: test-art-host

Change-Id: I59c253211dc435579ffdfd49f856861ab13d262c

7 years agoART: Register object tagging table
Andreas Gampe [Thu, 6 Oct 2016 20:13:30 +0000 (13:13 -0700)]
ART: Register object tagging table

Actually register object tagging table with the runtime so it
gets swept properly.

Bug: 31385027
Test: m test-art-host
Test: m ART_USE_READ_BARRIER=true test-art-host
Change-Id: I4364458ece2893e6a85fe7518df39fb838199f20

7 years agoMerge "test: Fix jni_compiler_test for const correctness"
Treehugger Robot [Thu, 6 Oct 2016 19:27:59 +0000 (19:27 +0000)]
Merge "test: Fix jni_compiler_test for const correctness"

7 years agoMerge "Allow early abort logging"
Treehugger Robot [Thu, 6 Oct 2016 18:24:19 +0000 (18:24 +0000)]
Merge "Allow early abort logging"

7 years agoMerge "ART: Support object tagging"
Treehugger Robot [Thu, 6 Oct 2016 18:24:03 +0000 (18:24 +0000)]
Merge "ART: Support object tagging"

7 years agoMerge "ObjPtr misc cleanup"
Treehugger Robot [Thu, 6 Oct 2016 18:22:32 +0000 (18:22 +0000)]
Merge "ObjPtr misc cleanup"

7 years agotest: Fix jni_compiler_test for const correctness
Igor Murashkin [Thu, 6 Oct 2016 17:51:11 +0000 (10:51 -0700)]
test: Fix jni_compiler_test for const correctness

Change-Id: Id0ea8f18f8fac3cf884a43a2ae6448bb0221209a

7 years agoMerge "Temporarily add debug logging for b/31357497"
Hiroshi Yamauchi [Thu, 6 Oct 2016 17:19:17 +0000 (17:19 +0000)]
Merge "Temporarily add debug logging for b/31357497"

7 years agoMerge "Revert "Blacklist flaky test.""
Neil Fuller [Thu, 6 Oct 2016 08:55:03 +0000 (08:55 +0000)]
Merge "Revert "Blacklist flaky test.""

7 years agoRevert "Blacklist flaky test."
Neil Fuller [Thu, 6 Oct 2016 08:40:07 +0000 (08:40 +0000)]
Revert "Blacklist flaky test."

Reverts the blacklisting of NetworkSecurityPolicyTest
#testCleartextTrafficPolicyWithJarHttpURLConnection.

This reverts commit 71ceb721240d50d396ea1a61a2bf2832be345007.

Bug: 31944681
Change-Id: Ib0f13cfec021e258ceba480c43cced59c554b3f5

7 years agoMerge "Fix a deadlock between thread flip and suspend request."
Treehugger Robot [Thu, 6 Oct 2016 02:57:57 +0000 (02:57 +0000)]
Merge "Fix a deadlock between thread flip and suspend request."

7 years agoAllow early abort logging
Mathieu Chartier [Wed, 5 Oct 2016 21:12:45 +0000 (14:12 -0700)]
Allow early abort logging

Print unattached threads with native stack traces for early abort.

Bug: 31855501

Test: test-art-host -j32
Test: thread_list_->Dump in Runtime::Start.
Change-Id: I5364625e798356c4fa1f88a8c646e374e59d93b0

7 years agoTemporarily add debug logging for b/31357497
Hiroshi Yamauchi [Thu, 6 Oct 2016 01:13:23 +0000 (18:13 -0700)]
Temporarily add debug logging for b/31357497

Note the check can't be a DCHECK because 103-string-append runs with the
non-debug build (libart.so).

Bug: 31357497
Bug: 12687968
Test: run-test 103-string-append on N9.
Change-Id: I30ebe9111fa6c42796dcafa182ae066214805173

7 years agoMerge "Revert "Revert "Add dex file writer to dexlayout tool."""
Treehugger Robot [Thu, 6 Oct 2016 01:12:23 +0000 (01:12 +0000)]
Merge "Revert "Revert "Add dex file writer to dexlayout tool."""

7 years agoFix a deadlock between thread flip and suspend request.
Hiroshi Yamauchi [Mon, 3 Oct 2016 22:32:01 +0000 (15:32 -0700)]
Fix a deadlock between thread flip and suspend request.

See 31683379#9 for the deadlock scenario.

Make ModifySuspendCount(+1) retry if the thread flip function is set.

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

7 years agoMerge "jni: Test that pushed handle scopes are popped after JNI transitions"
Treehugger Robot [Wed, 5 Oct 2016 23:41:27 +0000 (23:41 +0000)]
Merge "jni: Test that pushed handle scopes are popped after JNI transitions"

7 years agoMerge "Change java_lang_reflect_Field.cc to use ObjPtr"
Treehugger Robot [Wed, 5 Oct 2016 23:32:05 +0000 (23:32 +0000)]
Merge "Change java_lang_reflect_Field.cc to use ObjPtr"

7 years agoObjPtr misc cleanup
Mathieu Chartier [Wed, 5 Oct 2016 22:56:52 +0000 (15:56 -0700)]
ObjPtr misc cleanup

Check for subtypes in constructor.

Remove various calls to MakeObjPtr and ObjPtr::Ptr.

Bug: 31113334

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

7 years agoChange java_lang_reflect_Field.cc to use ObjPtr
Mathieu Chartier [Wed, 5 Oct 2016 20:48:41 +0000 (13:48 -0700)]
Change java_lang_reflect_Field.cc to use ObjPtr

Also deleted some calls to ObjPtr::Ptr and fixed formatting.

Bug: 31113334

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

7 years agoMerge "Change indirect reference table to use ObjPtr"
Treehugger Robot [Wed, 5 Oct 2016 21:55:20 +0000 (21:55 +0000)]
Merge "Change indirect reference table to use ObjPtr"

7 years agojni: Test that pushed handle scopes are popped after JNI transitions
Igor Murashkin [Wed, 5 Oct 2016 21:33:30 +0000 (14:33 -0700)]
jni: Test that pushed handle scopes are popped after JNI transitions

There was previously a bug in generic JNI for @CriticalNative where new
handle scopes were pushed, but then not popped after the native call
was done. This caused a bug with stale pointers being found by GC.

Bug: 31933313
Change-Id: I423f9e7a7d391ba3a4771c830691931f0025b354

7 years agoMerge "Refactoring of graph linearization and linear order."
Treehugger Robot [Wed, 5 Oct 2016 20:29:58 +0000 (20:29 +0000)]
Merge "Refactoring of graph linearization and linear order."

7 years agoChange indirect reference table to use ObjPtr
Mathieu Chartier [Wed, 5 Oct 2016 02:06:30 +0000 (19:06 -0700)]
Change indirect reference table to use ObjPtr

Bug: 31113334

Test: test-art-host

Change-Id: I340fdf430897ebd790ea4e35f94bcee776e98445

7 years agoMerge "Initialize dex cache while holding dex_lock"
Mathieu Chartier [Wed, 5 Oct 2016 19:59:08 +0000 (19:59 +0000)]
Merge "Initialize dex cache while holding dex_lock"

7 years agoART: Support object tagging
Andreas Gampe [Tue, 13 Sep 2016 02:58:13 +0000 (19:58 -0700)]
ART: Support object tagging

Add support for tagging in the JVMTI plugin.

Bug: 31385027
Test: m test-art-host
Change-Id: I4d8fb12cd23ca60dc0b0ce9051d1c77e5eb18aa9

7 years agoRefactoring of graph linearization and linear order.
Aart Bik [Wed, 5 Oct 2016 00:33:56 +0000 (17:33 -0700)]
Refactoring of graph linearization and linear order.

Rationale:
Ownership of graph's linear order and iterators was
a bit unclear now that other phases are using it.
New approach allows phases to compute their own
order, while ssa_liveness is sole owner for graph
(since it is not mutated afterwards).

Also shortens lifetime of loop's arena.

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

7 years agoMerge "Don't push handle scope for critical native generic JNI"
Treehugger Robot [Wed, 5 Oct 2016 18:19:36 +0000 (18:19 +0000)]
Merge "Don't push handle scope for critical native generic JNI"

7 years agoMerge "Remove #include "oat_file.h" from class_linker.h ."
Vladimir Marko [Wed, 5 Oct 2016 17:00:41 +0000 (17:00 +0000)]
Merge "Remove #include "oat_file.h" from class_linker.h ."

7 years agoDon't push handle scope for critical native generic JNI
Mathieu Chartier [Tue, 4 Oct 2016 22:41:42 +0000 (15:41 -0700)]
Don't push handle scope for critical native generic JNI

Leaving a stale handle scope causes problems for the GC the next
time roots are visited. At this point the stack will have other
contents and the GC will attempt to mark many invalid roots.

Bug: 31933313

Test: non preopt eng build booting.
Test: test-art-host

(cherry picked from commit 92879f9bbcfc034660ed1ff5ef741d7f2bcb116f)

Change-Id: I7d57964ccd2b59a05bb06f67062f646362ce1204

7 years agoInitialize dex cache while holding dex_lock
Mathieu Chartier [Thu, 15 Sep 2016 17:24:43 +0000 (10:24 -0700)]
Initialize dex cache while holding dex_lock

Fixes multiple threads calling RegisterDexFile occasionally getting
DCHECK failures due to the arrays not being null since the BSS ones
is per dex file.

Bug: 31369621

Test: test-art-host, no DCHECK failure during debug booting

Change-Id: I7b6e4cd03460dd1213eb4e044bdcf5f6103fd5f9

7 years agoMerge "Make it possible to pass an arena allocator to HLoopOptimization."
Treehugger Robot [Wed, 5 Oct 2016 16:03:30 +0000 (16:03 +0000)]
Merge "Make it possible to pass an arena allocator to HLoopOptimization."

7 years agoMerge "Temporarily blacklist 955-method-handles-smali."
Narayan Kamath [Wed, 5 Oct 2016 13:46:49 +0000 (13:46 +0000)]
Merge "Temporarily blacklist 955-method-handles-smali."

7 years agoTemporarily blacklist 955-method-handles-smali.
Narayan Kamath [Wed, 5 Oct 2016 13:15:01 +0000 (14:15 +0100)]
Temporarily blacklist 955-method-handles-smali.

Needs a companion smali change 7b348e4f323f44a7c44282.

Test: make test-art-host

Change-Id: Id245d9ead8467315c97cfe07103da2b406b08c49

7 years agoMake it possible to pass an arena allocator to HLoopOptimization.
Nicolas Geoffray [Wed, 5 Oct 2016 12:49:44 +0000 (13:49 +0100)]
Make it possible to pass an arena allocator to HLoopOptimization.

loop_optimization_test uses memory from HLoopOptimization's
allocator, which is scoped by the Run method.

Fix is to pass custom allocator.

test: m test-art-host-gtest
Change-Id: I359330e22202519f400a26da5403eeb00f0b2db4

7 years agoRemove #include "oat_file.h" from class_linker.h .
Vladimir Marko [Tue, 4 Oct 2016 13:44:28 +0000 (14:44 +0100)]
Remove #include "oat_file.h" from class_linker.h .

Refactor the OatClass and OatMethod related functions from
ClassLinker to OatFile and ArtMethod, respectively. Refactor
the remaining ClassLinker dependencies on OatFile to break
the #include dependency and reduce incremental build times.

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

7 years agoMerge "Basic implementation of invoke / invoke-polymorphic."
Treehugger Robot [Wed, 5 Oct 2016 12:19:30 +0000 (12:19 +0000)]
Merge "Basic implementation of invoke / invoke-polymorphic."

7 years agoMerge "Properly scope HLoopOptimization's allocator."
Treehugger Robot [Wed, 5 Oct 2016 10:30:14 +0000 (10:30 +0000)]
Merge "Properly scope HLoopOptimization's allocator."

7 years agoBasic implementation of invoke / invoke-polymorphic.
Narayan Kamath [Wed, 3 Aug 2016 11:46:58 +0000 (12:46 +0100)]
Basic implementation of invoke / invoke-polymorphic.

Basic switch interpreter support for invoke-polymorphic. This change
allows for virtual/interface and static invokes on method handles.

Support for direct invokes (including constructors) and field
getters and setters will be added in follow up changes.

Bug: 30550796
Test: make test-art-host

Change-Id: Ieb3a991d974060d930d56467908d5c7c11d0e38e

7 years agoProperly scope HLoopOptimization's allocator.
Nicolas Geoffray [Wed, 5 Oct 2016 08:55:42 +0000 (09:55 +0100)]
Properly scope HLoopOptimization's allocator.

HOptimization classes do not get their destructor called,
as they are arena objects. So the scope for the optimization
allocator needs to be the Run method.

Also anticipate bisection search breakage by adding
HLoopOptimization to the list of recognized optimizations.

Change-Id: I7770989c39d5700a3b6b0a20af5d4b874dfde111

7 years agoMerge "MIPS32: Fix GenerateVirtualCall in the presence of intrinsics"
Treehugger Robot [Wed, 5 Oct 2016 03:55:28 +0000 (03:55 +0000)]
Merge "MIPS32: Fix GenerateVirtualCall in the presence of intrinsics"

7 years agoMerge "Revert "Compute PPID at ninja time""
Colin Cross [Wed, 5 Oct 2016 01:38:09 +0000 (01:38 +0000)]
Merge "Revert "Compute PPID at ninja time""

7 years agoMerge "Fix build break from merge conflict"
Mathieu Chartier [Wed, 5 Oct 2016 00:54:38 +0000 (00:54 +0000)]
Merge "Fix build break from merge conflict"

7 years agoFix build break from merge conflict
Mathieu Chartier [Wed, 5 Oct 2016 00:48:45 +0000 (17:48 -0700)]
Fix build break from merge conflict

Bug: 31113334

Test: mm -j32

Change-Id: I5643a0ec22cf03a54671a5c7fa0ebda41cc9a8c3

7 years agoMerge "Rename ObjPtr::Decode to ObjPtr::Ptr"
Mathieu Chartier [Wed, 5 Oct 2016 00:39:07 +0000 (00:39 +0000)]
Merge "Rename ObjPtr::Decode to ObjPtr::Ptr"

7 years agoMerge "Fix a CC crash with ThreadStress."
Hiroshi Yamauchi [Wed, 5 Oct 2016 00:27:46 +0000 (00:27 +0000)]
Merge "Fix a CC crash with ThreadStress."

7 years agoRevert "Compute PPID at ninja time"
Colin Cross [Tue, 4 Oct 2016 23:06:16 +0000 (23:06 +0000)]
Revert "Compute PPID at ninja time"

This reverts commit b1c17bb080ccf41b30909c0401df59e6f3a1ebb1.

It breaks make test-art-host when /bin/sh is not bash, as
/bin/sh -c /bin/bash -c echo $PPID
returns the pid of /bin/sh, not the pid of ninja.

Test: none
Change-Id: Ia4e5f76ea4c5f5b5c102ce54ae03c3fccb23a49f

7 years agoFix a CC crash with ThreadStress.
Hiroshi Yamauchi [Tue, 4 Oct 2016 22:20:36 +0000 (15:20 -0700)]
Fix a CC crash with ThreadStress.

Add a read barrier on the locked object in Monitor::DescribeWait().

Bug: 31848261
Bug: 12687968
Test: test-art-host with CC and N9 libartd boot.
Change-Id: I569e1499c2aadf54d9074a8a790e5d512c2dad4f

7 years agoMerge "Fix build breakage."
Nicolas Geoffray [Tue, 4 Oct 2016 21:59:14 +0000 (21:59 +0000)]
Merge "Fix build breakage."

7 years agoFix build breakage.
Nicolas Geoffray [Tue, 4 Oct 2016 21:56:35 +0000 (22:56 +0100)]
Fix build breakage.

Revert did not apply cleanly.

test: make test-art-host
Change-Id: Id94d377d19dc80237951ad40fd5e01f8fec67a47

7 years agoMerge "Revert "Remove dead code from compiler driver.""
Nicolas Geoffray [Tue, 4 Oct 2016 21:45:24 +0000 (21:45 +0000)]
Merge "Revert "Remove dead code from compiler driver.""

7 years agoRevert "Remove dead code from compiler driver."
Nicolas Geoffray [Tue, 4 Oct 2016 21:44:45 +0000 (21:44 +0000)]
Revert "Remove dead code from compiler driver."

This reverts commit 44b3da25191052acc18528d8ade9cf3038505180.

Change-Id: I0cf049ed967bcaf8dfd89fc88288d992c63a4939

7 years agoRevert "Revert "Add dex file writer to dexlayout tool.""
Jeff Hao [Tue, 4 Oct 2016 18:13:44 +0000 (18:13 +0000)]
Revert "Revert "Add dex file writer to dexlayout tool.""

This reverts commit fd1a6c2a08ca3e2476b7424b9b0fa58e73b29e87.

Fixed output being clobbered during DexLayoutTest.DexFileOutput.
Option added to put dex output file in scratch directory.

Bug: 29921113
Test: mm test-art-host-gtest-dexlayout_test

Change-Id: I9e6b139cf06aaa39c83ad1e74329db266464a8e4

7 years agoMerge "A first implementation of a loop optimization framework."
Aart Bik [Tue, 4 Oct 2016 20:40:23 +0000 (20:40 +0000)]
Merge "A first implementation of a loop optimization framework."

7 years agoMerge changes I65bc7769,Ib24c7060
Andreas Gampe [Tue, 4 Oct 2016 19:08:14 +0000 (19:08 +0000)]
Merge changes I65bc7769,Ib24c7060

* changes:
  ART: Reprint long messages on abort
  ART: Clean up IRT-related abort messaging

7 years agoMerge "Revert "Revert "Store resolved Strings for AOT code in .bss."""
Vladimir Marko [Tue, 4 Oct 2016 19:00:30 +0000 (19:00 +0000)]
Merge "Revert "Revert "Store resolved Strings for AOT code in .bss."""

7 years agoMerge "Option to gnuplot dex layout"
David Sehr [Tue, 4 Oct 2016 18:06:48 +0000 (18:06 +0000)]
Merge "Option to gnuplot dex layout"

7 years agoOption to gnuplot dex layout
David Sehr [Mon, 26 Sep 2016 14:44:04 +0000 (07:44 -0700)]
Option to gnuplot dex layout

Display the portions of the dex file that are accessed by the classes in
the dex file.  Optionally limit the display to only those classes that
are present in a runtime profile.

Bug: 29921113
Change-Id: I2a998fba448fec6c23941d3b4358531b1336e1b3
Test: dexlayout test

7 years agoRename ObjPtr::Decode to ObjPtr::Ptr
Mathieu Chartier [Tue, 4 Oct 2016 01:01:28 +0000 (18:01 -0700)]
Rename ObjPtr::Decode to ObjPtr::Ptr

Done to prevent ambiguity with ScopedObjectAccess::Decode.

Bug: 31113334

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

7 years agoRevert "Revert "Store resolved Strings for AOT code in .bss.""
Vladimir Marko [Mon, 3 Oct 2016 08:46:48 +0000 (08:46 +0000)]
Revert "Revert "Store resolved Strings for AOT code in .bss.""

Fixed oat_test to keep dex files alive. Fixed mips build.
Rewritten the .bss GC root visiting and added write barrier
to the artResolveStringFromCode().

Test: build aosp_mips-eng
Test: m ART_DEFAULT_GC_TYPE=SS test-art-target-host-gtest-oat_test
Test: Run ART test suite on host and Nexus 9.
Bug: 20323084
Bug: 30627598

This reverts commit 5f926055cb88089d8ca27243f35a9dfd89d981f0.

Change-Id: I07fa2278d82b8eb64964c9a4b66cb93726ccda6b

7 years agoMerge "Compute PPID at ninja time"
Colin Cross [Tue, 4 Oct 2016 16:45:44 +0000 (16:45 +0000)]
Merge "Compute PPID at ninja time"

7 years agoMerge "Remove dead code from compiler driver."
Nicolas Geoffray [Tue, 4 Oct 2016 14:08:10 +0000 (14:08 +0000)]
Merge "Remove dead code from compiler driver."

7 years agoRemove dead code from compiler driver.
Nicolas Geoffray [Mon, 3 Oct 2016 14:09:25 +0000 (15:09 +0100)]
Remove dead code from compiler driver.

test: m test-art-host
Change-Id: Ie4b6a4c371fff6c9c213d8d6604eb09a5e71d595

7 years agoMerge "Revert "Add dex file writer to dexlayout tool.""
Nicolas Geoffray [Tue, 4 Oct 2016 11:01:53 +0000 (11:01 +0000)]
Merge "Revert "Add dex file writer to dexlayout tool.""

7 years agoRevert "Add dex file writer to dexlayout tool."
Nicolas Geoffray [Tue, 4 Oct 2016 11:01:17 +0000 (11:01 +0000)]
Revert "Add dex file writer to dexlayout tool."

Bug: 29921113

This reverts commit 69b58cf399c3507ca3debf9ec9b2db3c5a0fe7f2.

Change-Id: I8bf9b1222d99489059e45f47d220396a853170a4

7 years agoMIPS32: Fix GenerateVirtualCall in the presence of intrinsics
Goran Jakovljevic [Tue, 4 Oct 2016 08:17:34 +0000 (10:17 +0200)]
MIPS32: Fix GenerateVirtualCall in the presence of intrinsics

Fix GenerateVirtualCall like it is done in the
I0ed88a48b313a8d28bc39fae40631123aadb13ef for all other architectures.

Test: mma -j2 test-art-target-run-test-optimizing on CI20
Change-Id: Ie55c62701b20c4f40badc95563b2aef9e83807de

7 years agoMerge "interpreter: Remove unnecessary template arg from DoCallCommon."
Narayan Kamath [Tue, 4 Oct 2016 08:35:13 +0000 (08:35 +0000)]
Merge "interpreter: Remove unnecessary template arg from DoCallCommon."

7 years agointerpreter: Remove unnecessary template arg from DoCallCommon.
Narayan Kamath [Mon, 3 Oct 2016 15:51:22 +0000 (16:51 +0100)]
interpreter: Remove unnecessary template arg from DoCallCommon.

The function was always called with a fixed size array so there's
no real advantage in templatizing it this way.

Test: make build-art-host

Change-Id: I782e113225f1c97877f2bcb5afe8df9ae8efd26e

7 years agoMerge "Add handle wrapper for interpreter field get/set"
Mathieu Chartier [Tue, 4 Oct 2016 08:02:59 +0000 (08:02 +0000)]
Merge "Add handle wrapper for interpreter field get/set"

7 years agoAdd handle wrapper for interpreter field get/set
Mathieu Chartier [Tue, 4 Oct 2016 05:49:46 +0000 (22:49 -0700)]
Add handle wrapper for interpreter field get/set

The listeners have thread suspension for jdwp tests.

Bug: 31113334

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

Change-Id: I08f17432cc0c79ee9a0163eb88d4d6355f6851ca

7 years agoART: Reprint long messages on abort
Andreas Gampe [Tue, 4 Oct 2016 02:47:08 +0000 (19:47 -0700)]
ART: Reprint long messages on abort

Add an abort message parameter to Runtime::Abort. In case the message
is multiline (and will thus not be completely preserved in the
Android abort reason), reprint the message after all threads have
been dumped.

Bug: 31893081
Test: m test-art-host
Change-Id: I65bc77691fec79f7c868a90d6132805fcc91e473

7 years agoART: Clean up IRT-related abort messaging
Andreas Gampe [Mon, 3 Oct 2016 18:42:31 +0000 (11:42 -0700)]
ART: Clean up IRT-related abort messaging

Change AbortIfNoCheckJNI to take the abort message as a parameter.
This way it can be passed down.

Bug: 31893081
Test: m test-art-host
Change-Id: Ib24c7060f1b32c9613ab84e6c1966082c866bc14

7 years agoMerge changes I50493bca,I8b266ad0
Mathieu Chartier [Tue, 4 Oct 2016 01:06:05 +0000 (01:06 +0000)]
Merge changes I50493bca,I8b266ad0

* changes:
  Use ObjPtr for ResolvedFieldAccessTest and ResolvedMethodAccessTest
  Move ArtField to ObjPtr

7 years agoCompute PPID at ninja time
Colin Cross [Mon, 3 Oct 2016 23:40:13 +0000 (16:40 -0700)]
Compute PPID at ninja time

Using $(shell $$PPID) to compute PPID will return the pid of kati, which
will be the same for multiple sequential runs of make without changing
any makefiles.  Replace it with a bash subshell command to return the pid
of ninja, which will be different for every call to make.

ART_HOST_TEST_DIR now contains $ that need to propagate to the final
bash command, and must be evaluated exactly once.  Escape the $ in
${ART_HOST_TEST_DIR} in define-test-art-run-test so that
${ART_HOST_TEST_DIR} is not substituted in the function call to prevent
evaluating its contents in the $(eval) that wraps it, which would
substitute out the necessary $.

Test: m -j test-art-host
Change-Id: I3303805481cc1c77d1a321674e8c7c003043a7c4

7 years agoMerge "Add dex file writer to dexlayout tool."
Jeff Hao [Tue, 4 Oct 2016 00:46:26 +0000 (00:46 +0000)]
Merge "Add dex file writer to dexlayout tool."