OSDN Git Service

android-x86/art.git
7 years agoMerge "MIPS64: Fix art_quick_aput_obj stubs" am: 5065b09332
Nicolas Geoffray [Mon, 10 Oct 2016 08:52:27 +0000 (08:52 +0000)]
Merge "MIPS64: Fix art_quick_aput_obj stubs" am: 5065b09332
am: 669a9b8491

Change-Id: Ic1e058322dca6dac1b24521f326af14fa37b5455

7 years agoMerge "MIPS64: Fix art_quick_aput_obj stubs"
Nicolas Geoffray [Mon, 10 Oct 2016 08:46:55 +0000 (08:46 +0000)]
Merge "MIPS64: Fix art_quick_aput_obj stubs"
am: 5065b09332

Change-Id: Ieb5d20974275cfb5f48f2d76f92180f2b93351f2

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 agoMerge "Use word copying for CopyObject" am: f361a29848
Mathieu Chartier [Fri, 7 Oct 2016 19:54:10 +0000 (19:54 +0000)]
Merge "Use word copying for CopyObject" am: f361a29848
am: 319739ce5c

Change-Id: Ib4232e4fcb247950ad2d42e3e7d475f7231defb6

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

Change-Id: I1aa32d2e9102818da1ca14cb1f66f4781b76749a

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" am: 0d7398fd54
Mathieu Chartier [Fri, 7 Oct 2016 17:08:01 +0000 (17:08 +0000)]
Merge "Move mirror::Object setters to ObjPtr" am: 0d7398fd54
am: 153b83e8da

Change-Id: I813b4b90b3ff65f9f0c9daa61cc3717972968c71

7 years agoMerge "Move mirror::Object setters to ObjPtr"
Mathieu Chartier [Fri, 7 Oct 2016 17:04:01 +0000 (17:04 +0000)]
Merge "Move mirror::Object setters to ObjPtr"
am: 0d7398fd54

Change-Id: I0b01e829b2653192c1c8f6839757c5c648ebc33f

7 years agoMerge "Improved and simplified loop optimizations." am: 6ed8fc7a68
Aart Bik [Fri, 7 Oct 2016 16:58:59 +0000 (16:58 +0000)]
Merge "Improved and simplified loop optimizations." am: 6ed8fc7a68
am: c9550a70a4

Change-Id: Ia3e24acdd7fbc4c72e460c42c2f290e0608011a7

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."
Aart Bik [Fri, 7 Oct 2016 16:55:00 +0000 (16:55 +0000)]
Merge "Improved and simplified loop optimizations."
am: 6ed8fc7a68

Change-Id: Ia0364c2b78ea63ba55e345fc0decdfdca8c35dcd

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 agoMerge "Add "fixups" for ids referenced in code" am: f13f84fd9f
David Sehr [Fri, 7 Oct 2016 15:16:24 +0000 (15:16 +0000)]
Merge "Add "fixups" for ids referenced in code" am: f13f84fd9f
am: 2ccb5bfecb

Change-Id: I66ffeeae10c6c6deb408a20a5bb5ad86e3bcf97d

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:12:53 +0000 (15:12 +0000)]
Merge "Add "fixups" for ids referenced in code"
am: f13f84fd9f

Change-Id: I252b79028d723ceff1d552c5758c969a6b68b7c3

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." am: 2dacb1da03
Nicolas Geoffray [Fri, 7 Oct 2016 08:52:01 +0000 (08:52 +0000)]
Merge "Blacklist test 903." am: 2dacb1da03
am: 22ab7a89cb

Change-Id: Ifc41ca1855ef107525c51510d5eac76b201af836

7 years agoMerge "Blacklist test 903."
Nicolas Geoffray [Fri, 7 Oct 2016 08:48:01 +0000 (08:48 +0000)]
Merge "Blacklist test 903."
am: 2dacb1da03

Change-Id: Iaac0e6471def2421dca5b77cb4d947389b8195cb

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" am: 81ca05d930
Mathieu Chartier [Fri, 7 Oct 2016 00:41:06 +0000 (00:41 +0000)]
Merge "Move remaining jobject related functions to use ObjPtr" am: 81ca05d930
am: 9a160f64c9

Change-Id: I8a0fa5a09032d5dc701f294df3ceaff6751e095c

7 years agoMerge "Move remaining jobject related functions to use ObjPtr"
Mathieu Chartier [Fri, 7 Oct 2016 00:37:35 +0000 (00:37 +0000)]
Merge "Move remaining jobject related functions to use ObjPtr"
am: 81ca05d930

Change-Id: Ic7e25af0f020ab4d0a33aa9b06596602ed428908

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" am: a2dca22534
Andreas Gampe [Thu, 6 Oct 2016 22:35:56 +0000 (22:35 +0000)]
Merge "ART: Register object tagging table" am: a2dca22534
am: adf7b717d6

Change-Id: I3db3bb0c55a88a8771342f4d21c145dc7cd22fec

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

Change-Id: Ia95c94f63a7f8468588d45951e08279cb2ecfef2

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" am: 2b31c0ac03
Igor Murashkin [Thu, 6 Oct 2016 19:33:44 +0000 (19:33 +0000)]
Merge "test: Fix jni_compiler_test for const correctness" am: 2b31c0ac03
am: c64c485078

Change-Id: I1009714d699b3b4cba0ac2ade3085d3007d51d1d

7 years agoMerge "test: Fix jni_compiler_test for const correctness"
Igor Murashkin [Thu, 6 Oct 2016 19:30:45 +0000 (19:30 +0000)]
Merge "test: Fix jni_compiler_test for const correctness"
am: 2b31c0ac03

Change-Id: Ib428bf1ad3bb99723caba8c932c6912bf4b5024a

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" am: 18f7de841f
Mathieu Chartier [Thu, 6 Oct 2016 18:31:09 +0000 (18:31 +0000)]
Merge "Allow early abort logging" am: 18f7de841f
am: af1f4c92a4

Change-Id: I71139a1ef20b53b0cdb572cdb3feed114633c5b0

7 years agoMerge "ART: Support object tagging" am: 83805a2c02
Andreas Gampe [Thu, 6 Oct 2016 18:30:55 +0000 (18:30 +0000)]
Merge "ART: Support object tagging" am: 83805a2c02
am: ae54c0ed55

Change-Id: I811150e2a0817466f387d562b4f1292d63c3a7c1

7 years agoMerge "ObjPtr misc cleanup" am: db8eed0fa5
Mathieu Chartier [Thu, 6 Oct 2016 18:30:42 +0000 (18:30 +0000)]
Merge "ObjPtr misc cleanup" am: db8eed0fa5
am: 54fa4375d3

Change-Id: Idbf9406cbffa721294d45351ee6ab862a7917ad5

7 years agoMerge "Allow early abort logging"
Mathieu Chartier [Thu, 6 Oct 2016 18:27:40 +0000 (18:27 +0000)]
Merge "Allow early abort logging"
am: 18f7de841f

Change-Id: I440edc8dcf2daa1a6eea1e9c2beb674d5d0160f7

7 years agoMerge "ART: Support object tagging"
Andreas Gampe [Thu, 6 Oct 2016 18:27:26 +0000 (18:27 +0000)]
Merge "ART: Support object tagging"
am: 83805a2c02

Change-Id: I9b5e8d52f20c97508e74642cc3f5fa2c5f0c42a2

7 years agoMerge "ObjPtr misc cleanup"
Mathieu Chartier [Thu, 6 Oct 2016 18:27:11 +0000 (18:27 +0000)]
Merge "ObjPtr misc cleanup"
am: db8eed0fa5

Change-Id: I819d4147416c486ae1b2e35585f72a798a29dfe4

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" am: 54aaba2420
Hiroshi Yamauchi [Thu, 6 Oct 2016 17:32:08 +0000 (17:32 +0000)]
Merge "Temporarily add debug logging for b/31357497" am: 54aaba2420
am: 75034cdde3

Change-Id: I0b5f925a90f986418c7b681b3e41bb433ebc6b38

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

Change-Id: I3f2741c058832f413fa28f1ef342f1a8f13ce6df

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."" am: 6e9854e4df
Neil Fuller [Thu, 6 Oct 2016 09:03:08 +0000 (09:03 +0000)]
Merge "Revert "Blacklist flaky test."" am: 6e9854e4df
am: cea79bb3e8

Change-Id: I0e4f5181717a03de5316ff8859cd27a7efae6abf

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

Change-Id: I42572b4eb6f2fc4b33121896ae63b45b42d428db

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." am: 81c6c8e6de
Hiroshi Yamauchi [Thu, 6 Oct 2016 03:06:14 +0000 (03:06 +0000)]
Merge "Fix a deadlock between thread flip and suspend request." am: 81c6c8e6de
am: d33bd5f68c

Change-Id: I813558eff9ca2ac09507f80cc77e96d6d0e3f922

7 years agoMerge "Fix a deadlock between thread flip and suspend request."
Hiroshi Yamauchi [Thu, 6 Oct 2016 03:03:15 +0000 (03:03 +0000)]
Merge "Fix a deadlock between thread flip and suspend request."
am: 81c6c8e6de

Change-Id: I828a59ecc430d1371355cdcb5e95b5eb4b5e8674

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 agoMerge "Revert "Revert "Add dex file writer to dexlayout tool.""" am: 765dee21f3
Jeff Hao [Thu, 6 Oct 2016 01:21:10 +0000 (01:21 +0000)]
Merge "Revert "Revert "Add dex file writer to dexlayout tool.""" am: 765dee21f3
am: 6449dd7204

Change-Id: I25418a101bbb4fd15a03bbf8e27d08bc63da7e68

7 years agoMerge "Revert "Revert "Add dex file writer to dexlayout tool."""
Jeff Hao [Thu, 6 Oct 2016 01:17:38 +0000 (01:17 +0000)]
Merge "Revert "Revert "Add dex file writer to dexlayout tool."""
am: 765dee21f3

Change-Id: I41b548c0ca1b1f1b412aafadf6dc5d9006d645da

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" am:...
Igor Murashkin [Wed, 5 Oct 2016 23:49:02 +0000 (23:49 +0000)]
Merge "jni: Test that pushed handle scopes are popped after JNI transitions" am: 30267ea042
am: 15912e9d0c

Change-Id: Ib692e0f5b962cb3a14d1c6a0625288e84ef74510

7 years agoMerge "jni: Test that pushed handle scopes are popped after JNI transitions"
Igor Murashkin [Wed, 5 Oct 2016 23:46:32 +0000 (23:46 +0000)]
Merge "jni: Test that pushed handle scopes are popped after JNI transitions"
am: 30267ea042

Change-Id: Ic422b92661e7fe4fee9e9c13ae450850c0744548

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" am: 6206a5d523
Mathieu Chartier [Wed, 5 Oct 2016 23:41:02 +0000 (23:41 +0000)]
Merge "Change java_lang_reflect_Field.cc to use ObjPtr" am: 6206a5d523
am: d3b604f0c3

Change-Id: I643c6d38e2bf245cb0a6774db985e6ef334d20fc

7 years agoMerge "Change java_lang_reflect_Field.cc to use ObjPtr"
Mathieu Chartier [Wed, 5 Oct 2016 23:38:01 +0000 (23:38 +0000)]
Merge "Change java_lang_reflect_Field.cc to use ObjPtr"
am: 6206a5d523

Change-Id: I83eac899d4bb2d8230312fdb073fc1779db82265

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" am: 463a67dd60
Mathieu Chartier [Wed, 5 Oct 2016 22:03:26 +0000 (22:03 +0000)]
Merge "Change indirect reference table to use ObjPtr" am: 463a67dd60
am: 22316a1570

Change-Id: I7c7b64fa33ff1805627408a821e2ed0c9c25e8b2

7 years agoMerge "Change indirect reference table to use ObjPtr"
Mathieu Chartier [Wed, 5 Oct 2016 22:00:55 +0000 (22:00 +0000)]
Merge "Change indirect reference table to use ObjPtr"
am: 463a67dd60

Change-Id: Id1faabb203c6885d873acd0515a1dbaf68915334

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." am: 78c6fefdb9
Aart Bik [Wed, 5 Oct 2016 20:36:50 +0000 (20:36 +0000)]
Merge "Refactoring of graph linearization and linear order." am: 78c6fefdb9
am: ac2065c9a3

Change-Id: Ic2fc38ace9dcb4c0ac0c1e27ba79f34611c98373

7 years agoMerge "Refactoring of graph linearization and linear order."
Aart Bik [Wed, 5 Oct 2016 20:34:20 +0000 (20:34 +0000)]
Merge "Refactoring of graph linearization and linear order."
am: 78c6fefdb9

Change-Id: I15ebff4861446000918e11a85972708b9a47ab09

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 agoMerge "Initialize dex cache while holding dex_lock" am: 7638651be2
Mathieu Chartier [Wed, 5 Oct 2016 20:06:20 +0000 (20:06 +0000)]
Merge "Initialize dex cache while holding dex_lock" am: 7638651be2
am: 0a881d4341

Change-Id: I4c89b4d7c6db27dcb26d376609a7867e68fe8305

7 years agoMerge "Initialize dex cache while holding dex_lock"
Mathieu Chartier [Wed, 5 Oct 2016 20:03:47 +0000 (20:03 +0000)]
Merge "Initialize dex cache while holding dex_lock"
am: 7638651be2

Change-Id: I067b023de98cc6d559437f01339ef814ca9fadde

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" am: cf42ad62df
Mathieu Chartier [Wed, 5 Oct 2016 18:27:40 +0000 (18:27 +0000)]
Merge "Don't push handle scope for critical native generic JNI" am: cf42ad62df
am: 2b5f912538

Change-Id: Ia2ce952cae1f906fe75e99cb5316a1f519366a5b

7 years agoMerge "Don't push handle scope for critical native generic JNI"
Mathieu Chartier [Wed, 5 Oct 2016 18:25:10 +0000 (18:25 +0000)]
Merge "Don't push handle scope for critical native generic JNI"
am: cf42ad62df

Change-Id: Icc0c28b73311cd864204d955e2dce209d3232288

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 ." am: 2f61867045
Vladimir Marko [Wed, 5 Oct 2016 17:07:07 +0000 (17:07 +0000)]
Merge "Remove #include "oat_file.h" from class_linker.h ." am: 2f61867045
am: 6622934a0a

Change-Id: Ifd187a18923c661a47570cb45c205dab712bc060

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

Change-Id: Ieb002dddb7408806db914e7c81f521a45e1452f3

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." am: 4aa6a93c46
Nicolas Geoffray [Wed, 5 Oct 2016 16:11:00 +0000 (16:11 +0000)]
Merge "Make it possible to pass an arena allocator to HLoopOptimization." am: 4aa6a93c46
am: cb4ea84388

Change-Id: Ib13aebaed943217800ee0f22e675a23df70fba7b

7 years agoMerge "Make it possible to pass an arena allocator to HLoopOptimization."
Nicolas Geoffray [Wed, 5 Oct 2016 16:08:01 +0000 (16:08 +0000)]
Merge "Make it possible to pass an arena allocator to HLoopOptimization."
am: 4aa6a93c46

Change-Id: I8dbf05c57f04e10a1578c405ee6a02659667a82d

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." am: 99ce62c347
Narayan Kamath [Wed, 5 Oct 2016 13:54:52 +0000 (13:54 +0000)]
Merge "Temporarily blacklist 955-method-handles-smali." am: 99ce62c347
am: 08d85bf8bd

Change-Id: I84c2b0773cd7b06804771bfae5a65390aa239fb6

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

Change-Id: I5873a5f978a0d387faa2f9d3460e04ee7a990916

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 agoMerge "Basic implementation of invoke / invoke-polymorphic." am: 8ee0b085be
Narayan Kamath [Wed, 5 Oct 2016 12:26:17 +0000 (12:26 +0000)]
Merge "Basic implementation of invoke / invoke-polymorphic." am: 8ee0b085be
am: c150534c9b

Change-Id: I8b7358aaf3e14589bdd7a60edfbc2ea8f7b54c37

7 years agoMerge "Basic implementation of invoke / invoke-polymorphic."
Narayan Kamath [Wed, 5 Oct 2016 12:23:47 +0000 (12:23 +0000)]
Merge "Basic implementation of invoke / invoke-polymorphic."
am: 8ee0b085be

Change-Id: Ia59c4669734575f6cf0bd426a89fd4fc3caa6462