OSDN Git Service
Vladimir Marko [Tue, 10 May 2016 15:23:37 +0000 (15:23 +0000)]
Attribute arena allocations previously marked as STL.
am:
a26b3c51bf
* commit '
a26b3c51bfd97be1100d267f20c46535913e6bb7':
Attribute arena allocations previously marked as STL.
Change-Id: I203dd4de987d1f689b610e9df0fa8a466bb4b992
Vladimir Marko [Mon, 9 May 2016 19:23:34 +0000 (20:23 +0100)]
Attribute arena allocations previously marked as STL.
Bug:
28603175
Bug:
28684584
(cherry picked from commit
3ea5a97d27468cec846d958c38d0d706ef7ec67e)
Change-Id: I7f1bd22e7710cca74f4b10fd13cb8fa2c3b1b318
Vladimir Marko [Tue, 10 May 2016 13:34:13 +0000 (13:34 +0000)]
Merge "Fix ProtoId ordering check in DexFileVerifier." into nyc-dev
am:
f11e547346
* commit '
f11e5473461d9f33d4427187fb945a1edcf2ef34':
Fix ProtoId ordering check in DexFileVerifier.
Change-Id: Ice809c9f52019b6bc26ed8b374be5de098569a63
Vladimir Marko [Tue, 10 May 2016 13:19:41 +0000 (13:19 +0000)]
Merge "Fix ProtoId ordering check in DexFileVerifier." into nyc-dev
David Brazdil [Tue, 10 May 2016 12:53:48 +0000 (12:53 +0000)]
Merge "ART: Fix dominance for irreducible loops" into nyc-dev
am:
74acb01900
* commit '
74acb019008aea5d21f549ef412946611a03e706':
ART: Fix dominance for irreducible loops
Change-Id: If4c96f7555b4371c6c652abdfd6cc983b743a64e
TreeHugger Robot [Tue, 10 May 2016 12:39:12 +0000 (12:39 +0000)]
Merge "ART: Fix dominance for irreducible loops" into nyc-dev
David Brazdil [Fri, 6 May 2016 11:46:21 +0000 (12:46 +0100)]
ART: Fix dominance for irreducible loops
Computation of dominance was broken in the presence of irreducible
loops because the algorithm assumed that back edges are always
dominated by their respective headers and a fix-point iteration is
therefore unnecessary.
This is not true for irreducible loops, forcing us to revisit their
loop headers and all dependent blocks. This patch adds a fix-point
iteration if a back edge not dominated by its header is found.
Bug:
28611485
Change-Id: If84044e49d5b9c682949648033d2861628d7fe05
(cherry picked from commit
3f4a522cc39f5c651e7c718196e989bc81d8c6ef)
Vladimir Marko [Tue, 10 May 2016 11:12:56 +0000 (11:12 +0000)]
Merge "Fix index checks for error strings in DexFileVerifier." into nyc-dev
am:
23fddf80cd
* commit '
23fddf80cdfc51136ad7684d74961778e79be5bc':
Fix index checks for error strings in DexFileVerifier.
Change-Id: I325bd9c6753216af30d08f59eab49c7a977bb17c
Vladimir Marko [Tue, 3 May 2016 16:17:50 +0000 (17:17 +0100)]
Fix ProtoId ordering check in DexFileVerifier.
The code previously checked for kNoDexIndex16 as the type
list terminator. This is incorrect as we should not actually
see the kNoDexIndex16 in type lists in supported dex files.
To make sure that we don't see kNoDexIndex16, check the size
of the arrays with documented limits, i.e. type-ids and
proto-ids, see dex_file.h. In the ProtoId ordering check,
DCHECK() that we don't encounter kNoDexIndex16 and verify
that the previous list is not longer if the current list's
elements match.
Bug:
28580925
(cherry picked from commit
0ca8add2ae34c26291694ecc784d64f0cc1c1380)
Change-Id: Ied6dcbd8d04e3dfef5695dbd9b3a30a079038b2b
Vladimir Marko [Tue, 10 May 2016 11:01:10 +0000 (11:01 +0000)]
Merge "Fix index checks for error strings in DexFileVerifier." into nyc-dev
Vladimir Marko [Tue, 10 May 2016 10:59:23 +0000 (10:59 +0000)]
Merge "Optimizing: LoadString may not have any side effects." into nyc-dev
am:
b7a459b8da
* commit '
b7a459b8da59c6cba29ce707a94f8804f741c169':
Optimizing: LoadString may not have any side effects.
Change-Id: I83b3b9ad01c6c0eac775c11c3dd6914f65490b87
Vladimir Marko [Tue, 10 May 2016 10:44:26 +0000 (10:44 +0000)]
Merge "Optimizing: LoadString may not have any side effects." into nyc-dev
Nicolas Geoffray [Tue, 10 May 2016 09:38:08 +0000 (09:38 +0000)]
Merge "Relax the DCHECK in load store elimination." into nyc-dev
am:
6282080843
* commit '
6282080843ce4a05e8d36056950016ff8f0da1a6':
Relax the DCHECK in load store elimination.
Change-Id: Ie98662dac823b75c0adc2a984a2fdb61e349a223
Aart Bik [Tue, 10 May 2016 09:38:08 +0000 (09:38 +0000)]
Workaround invokesuper underspecified behavior.
am:
ffaa91d39b
* commit '
ffaa91d39baf82006afe74ad6e59cfd498334017':
Workaround invokesuper underspecified behavior.
Change-Id: Ifab8e2cf5e38f75028e9ce585c47fa430307430c
Vladimir Marko [Tue, 5 Apr 2016 10:18:49 +0000 (11:18 +0100)]
Optimizing: LoadString may not have any side effects.
LoadString does not have any side effects if the string is
known to be in the dex cache or it's a boot image string
referenced directly, as specified by the string load kind.
We need to clear the side effects for these cases to avoid
a DCHECK() failure when such LoadString instruction ends up
between a ClinitCheck and an instruction to which we want to
merge that ClinitCheck. This may happen as a consequence of
inlining, LICM and DCE as shown by a regression test.
Bug:
27929914
(cherry picked from commit
ace7a000a433ce4ecf94f30adea39c01a76fa936)
Change-Id: Iaf9c63b6e58aae1e246b43ca52eea0b47a6ad565
TreeHugger Robot [Tue, 10 May 2016 09:25:18 +0000 (09:25 +0000)]
Merge "Relax the DCHECK in load store elimination." into nyc-dev
Vladimir Marko [Tue, 3 May 2016 15:31:52 +0000 (16:31 +0100)]
Fix index checks for error strings in DexFileVerifier.
Bug:
28552165
(cherry picked from commit
59399abce0223e74af00193436e39e109d98dacb)
Change-Id: Ic7d687fbb20d5bd68a606c40fe60007b05f1c59b
Nicolas Geoffray [Wed, 4 May 2016 13:00:12 +0000 (14:00 +0100)]
Relax the DCHECK in load store elimination.
The DCHECK was too strong, as we could come from a field or array
get on null, instead of null directly.
bug:
27831001
(cherry picked from commit
65fef30952bb92acec7ed36f7f431d93f7ce88b3)
Change-Id: Ia3ba1235e95408d66349a02fc438df9c2cf9e255
Aart Bik [Tue, 5 Apr 2016 00:28:59 +0000 (17:28 -0700)]
Workaround invokesuper underspecified behavior.
The verifier allows invokesuper on a class unrelated
to the referring class. However, the runtime uses the vtable of
the super class of the referring class to lookup the ArtMethod.
Since the receiver has no relation to the referring class, this lead
to either jumping to a wrong method, or "luckily" throw a
NoSuchMethodError if the vtable index is out of bounds of the super
class of the referring class.
This changes the runtime behavior to always throw NoSuchMethodError
when hitting such invokesuper.
Also, we make the verifier consistent with the runtime by treating
such calls unresolved.
bug=
27627004
(cherry picked from commit
f663e341c550d1aa6f8f587d0ae0dbf7d254ff55)
Change-Id: Ibec5a1e3a3320c474e1e0e5634a9ef62ea734cdf
Richard Uhler [Mon, 9 May 2016 16:01:31 +0000 (16:01 +0000)]
Merge "Hold a ClassLoader reference in NativeAllocationRegistry." into nyc-dev
am:
ceeb3b73f8
* commit '
ceeb3b73f84e8b11f362605007d382405d08d95c':
Hold a ClassLoader reference in NativeAllocationRegistry.
Change-Id: I65933ae102e66dcea23afbb226992bf1f815f4e9
Richard Uhler [Mon, 9 May 2016 15:50:29 +0000 (15:50 +0000)]
Merge "Hold a ClassLoader reference in NativeAllocationRegistry." into nyc-dev
Nicolas Geoffray [Mon, 9 May 2016 09:20:11 +0000 (09:20 +0000)]
Merge "Fix braino when parsing invoke transition weight." into nyc-dev
am:
025db8dddd
* commit '
025db8dddd885eae077cbd7cc14cf35858f9d397':
Fix braino when parsing invoke transition weight.
Change-Id: I7194dabbdbd43489abb05071e239fc802b1c225a
TreeHugger Robot [Mon, 9 May 2016 09:15:46 +0000 (09:15 +0000)]
Merge "Fix braino when parsing invoke transition weight." into nyc-dev
Nicolas Geoffray [Fri, 6 May 2016 15:52:36 +0000 (16:52 +0100)]
Fix braino when parsing invoke transition weight.
bug:
27865109
Change-Id: I73e2763216b5596f601c456076c3b01c1dd000da
Alex Light [Sat, 7 May 2016 19:27:04 +0000 (19:27 +0000)]
Fix test for verification of clinit method
am:
c30bc58d94
* commit '
c30bc58d94eba469e0402ed4cca144a1909f2aff':
Fix test for verification of clinit method
Change-Id: I03df97e873aab37ba72b48e3739292af6cfae058
Alex Light [Sat, 7 May 2016 00:36:36 +0000 (17:36 -0700)]
Fix test for verification of clinit method
Bug:
28605638
Change-Id: Idbf2d59c20b7dda1efb9aa61bce2cefbe2c0040a
(cherry picked from commit
0ed0521a7f55b2efef8e71d0802893aa1d5b83e2)
Alex Light [Fri, 6 May 2016 23:48:23 +0000 (23:48 +0000)]
Merge "Make <clinit> verification stronger for v37+." into nyc-dev
am:
53685b0ae9
* commit '
53685b0ae91039ee7e7a803592e580b675d53794':
Make <clinit> verification stronger for v37+.
Change-Id: I2150524814d0d7e54e58d0df360182589b9144f7
TreeHugger Robot [Fri, 6 May 2016 23:38:12 +0000 (23:38 +0000)]
Merge "Make <clinit> verification stronger for v37+." into nyc-dev
Dimitry Ivanov [Fri, 6 May 2016 22:02:54 +0000 (22:02 +0000)]
Merge "Fix libart tests on target" into nyc-dev
am:
89f4eb5d93
* commit '
89f4eb5d93ffaf24ae237662df20aea9acd65ab0':
Fix libart tests on target
Change-Id: Ide52a630ad1e5eb065392ef4db2bbe39442587ee
David Sehr [Fri, 6 May 2016 22:02:54 +0000 (22:02 +0000)]
Remove a common subexpression from profman output
am:
727074b62e
* commit '
727074b62ef86dfb631a99214e6726d7d9c6c6be':
Remove a common subexpression from profman output
Change-Id: I6525256675368f1a0a593f3d743acd2d710fbadc
TreeHugger Robot [Fri, 6 May 2016 21:57:11 +0000 (21:57 +0000)]
Merge "Fix libart tests on target" into nyc-dev
Alex Light [Fri, 6 May 2016 17:39:06 +0000 (10:39 -0700)]
Make <clinit> verification stronger for v37+.
Preserve the verification behavior of M for v35 dex files. v37+ get
stronger behavior
Bug:
28605638
Change-Id: If1ff4abcc61e0945f924fe4e10e173c03b4cd1a9
(cherry picked from commit
f0ecae7730b6c0145e0176cc619bdfba48201105)
Dimitry Ivanov [Fri, 6 May 2016 00:24:28 +0000 (17:24 -0700)]
Fix libart tests on target
1. Add libart/d.so to the list of additional public libraries
2. Fix java.library.path to include /system/lib(64)? for tests
run by dalvikvm
Bug: http://b/
28449304
Change-Id: I11f2dc22e445389160d6f7ed6743bb9664cf3745
(cherry picked from commit
90d48f28af67ab44d755363bf92d57a1b3e72a29)
David Sehr [Fri, 6 May 2016 19:29:35 +0000 (12:29 -0700)]
Remove a common subexpression from profman output
Change-Id: I12fa4a36f4e9d980a720bb52c6b736ffc91a6700
David Brazdil [Fri, 6 May 2016 13:59:30 +0000 (13:59 +0000)]
Stop populating irreducible loop at header
am:
e4a97f9268
* commit '
e4a97f926882ffb12707655a755a1c8f96620f91':
Stop populating irreducible loop at header
Change-Id: Ie00eebbe04b7d6ab254a6e22b5d697ce0d0fe14b
David Brazdil [Thu, 5 May 2016 10:27:03 +0000 (11:27 +0100)]
Stop populating irreducible loop at header
Recent CL modified the (previously exponential) algorithm for
populating irreducible loops so as to not visit blocks multiple times.
However, the new condition for an early exit did not take into account
that it is not necessary to visit predecessors of the loop header.
The algorithm remains correct but does unnecessary work.
Bug:
27856014
Change-Id: If72f8be82e79838f0dd9678082a3bbaabb51e43b
(cherry picked from commit
5a620590e5cf6d6817693edffd661371555de88b)
David Sehr [Thu, 5 May 2016 23:25:34 +0000 (23:25 +0000)]
Add braces per the coding convention
am:
64b0f0bf5b
* commit '
64b0f0bf5b03fc53282f61c1d2d2dc6b8c7e7a3e':
Add braces per the coding convention
Change-Id: I974075bb056e1dc4b579efd9982f99b678e268d2
David Sehr [Thu, 5 May 2016 20:39:43 +0000 (13:39 -0700)]
Add braces per the coding convention
Bug:
28599906
Change-Id: Ie2cb4f6865b7756ceaf65c400a4090fc9423232a
David Sehr [Thu, 5 May 2016 18:54:00 +0000 (18:54 +0000)]
Limit profman log spam with time threshold
am:
305ed710a8
* commit '
305ed710a8ea732e59bdc782121dea3389adc357':
Limit profman log spam with time threshold
Change-Id: I93684ffc3a6de75e16ec073ae2f8ec5c68ae2ba5
David Sehr [Thu, 5 May 2016 16:02:38 +0000 (09:02 -0700)]
Limit profman log spam with time threshold
Bug:
28599906
Change-Id: Ibe1001da94c7916761c8f3b4b5dbacd8cf3809a7
Nicolas Geoffray [Thu, 5 May 2016 08:14:14 +0000 (08:14 +0000)]
Merge "Revert "(dl)Close native libraries on unload"" into nyc-dev
am:
2ded6f21bc
* commit '
2ded6f21bcf7055b40fdd97f9277488451e4e0ec':
Revert "(dl)Close native libraries on unload"
Change-Id: Iee1742e5c290d253d44ab25dabf3489104aa2ff8
Nicolas Geoffray [Thu, 5 May 2016 08:03:20 +0000 (08:03 +0000)]
Merge "Revert "(dl)Close native libraries on unload"" into nyc-dev
Nicolas Geoffray [Thu, 5 May 2016 08:02:57 +0000 (08:02 +0000)]
Revert "(dl)Close native libraries on unload"
Failures on test 136.
Bug: http://b/
28406866
This reverts commit
35f01195c4cf6e3c6fbb8b51f5a41b26132b4bdd.
Change-Id: I0c581e6f1aeb61285d3b132dbd9508e611ee4258
Dimitry Ivanov [Wed, 4 May 2016 22:32:53 +0000 (22:32 +0000)]
Merge "(dl)Close native libraries on unload" into nyc-dev
am:
38e6af0aee
* commit '
38e6af0aeea32021cb3b3ef00772f782cc4764f8':
(dl)Close native libraries on unload
Change-Id: Ib50f420721ad8905e9e2739eff92d106f04102bb
Dimitry Ivanov [Wed, 4 May 2016 22:22:06 +0000 (22:22 +0000)]
Merge "(dl)Close native libraries on unload" into nyc-dev
Nicolas Geoffray [Wed, 4 May 2016 14:59:17 +0000 (14:59 +0000)]
Merge "Do not look at dead phis during SsaRedundantPhiElimination." into nyc-dev
am:
e4c30e4627
* commit '
e4c30e4627a70945736acd2828f39aa880a1ddb8':
Do not look at dead phis during SsaRedundantPhiElimination.
Change-Id: I0aae747e50a225a8e5a5d71dd8863bbd0532749a
TreeHugger Robot [Wed, 4 May 2016 14:34:57 +0000 (14:34 +0000)]
Merge "Do not look at dead phis during SsaRedundantPhiElimination." into nyc-dev
Nicolas Geoffray [Wed, 4 May 2016 11:05:56 +0000 (12:05 +0100)]
Do not look at dead phis during SsaRedundantPhiElimination.
Otherwise, we may replace a dead loop phi with its incoming input.
This broke an assumption during liveness analysis in the presence
of irreducible loops.
bug:
28256552
(cherry picked from commit
05b3fa02ed8ef62841a92cd96526ba3a06bf1f63)
Change-Id: I297c8fbd9a2414dd852aa932595f7b42d8f1a584
Nicolas Geoffray [Wed, 4 May 2016 12:32:12 +0000 (12:32 +0000)]
Merge "Check if a class is verified before visiting profiling info." into nyc-dev
am:
1c113cdab1
* commit '
1c113cdab105c11cbc2d3c3f4fc4d7c3b001b728':
Check if a class is verified before visiting profiling info.
Change-Id: I352905731f26cb278cec4e8db826fdf35176f453
TreeHugger Robot [Wed, 4 May 2016 12:17:15 +0000 (12:17 +0000)]
Merge "Check if a class is verified before visiting profiling info." into nyc-dev
Nicolas Geoffray [Wed, 4 May 2016 10:35:36 +0000 (10:35 +0000)]
Merge "Put a handle on the String object." into nyc-dev
am:
e9425382bd
* commit '
e9425382bd7b5dab85a02759c9209505924cbd68':
Put a handle on the String object.
Change-Id: I6d6375253a33f30fca4beb1dff5fb9fd07109106
Nicolas Geoffray [Wed, 4 May 2016 08:51:24 +0000 (09:51 +0100)]
Check if a class is verified before visiting profiling info.
The call to IsNative expects non-retired classes, and we know
we don't have any profiling info for non-verified classes anyway.
bug:
28542527
(cherry picked from commit
022dd86f9c1fd63dfd7e052a876289387393a78f)
Change-Id: I247ce08b6996bdae526a5e106dacdbb7b70504af
TreeHugger Robot [Wed, 4 May 2016 10:22:00 +0000 (10:22 +0000)]
Merge "Put a handle on the String object." into nyc-dev
Nicolas Geoffray [Tue, 3 May 2016 13:04:02 +0000 (14:04 +0100)]
Put a handle on the String object.
Otherwise, a GC could occur in the loop below, and the String
be moved (note that there was already one for the Class object to
protect for that same problem).
bug:
27561834
(cherry picked from commit
a96f316f6f0526c91c6c102a267df6b1e4df39da)
Change-Id: I89c093dd67982abb3502975097a337c7e3816360
Andreas Gampe [Tue, 3 May 2016 23:58:24 +0000 (23:58 +0000)]
Merge "ART: Dump more OatDexFile data in oatdump" into nyc-dev
am:
040bd29547
* commit '
040bd295478edfcbd68ba04e549aab875078a7a6':
ART: Dump more OatDexFile data in oatdump
Change-Id: I02b0545fff5242cf1f8764904dce1980ac06b309
TreeHugger Robot [Tue, 3 May 2016 23:53:52 +0000 (23:53 +0000)]
Merge "ART: Dump more OatDexFile data in oatdump" into nyc-dev
Alex Light [Tue, 3 May 2016 23:37:34 +0000 (23:37 +0000)]
Fix vtable corruption.
am:
b554343e1d
* commit '
b554343e1d72104f0b26e749c1877d0566667a85':
Fix vtable corruption.
Change-Id: I3b5086010a5ef2e348443d50de5167172e4f3812
Dimitry Ivanov [Tue, 3 May 2016 22:05:41 +0000 (15:05 -0700)]
(dl)Close native libraries on unload
Dlclose native libraries when VM unloads a classloader. This
change is made to avoid leakage of adress space and RSS for
mapped but unreachable native libraries.
Bug: http://b/
28406866
Change-Id: Iccaa87210908872c2013506d8a310955c1e3d888
Alex Light [Tue, 3 May 2016 01:51:34 +0000 (18:51 -0700)]
Fix vtable corruption.
Due to failing to keep track of superclass implementations of
interface methods we could end up in situations where methods were
placed onto a class's vtable multiple times. This could cause virtual
and interface dispatches on subclasses to fail by causing corruption
of the subclass's vtable and iftable.
Bug:
28333278
(cherry picked from commit
d6c2bfaff8850a9a02ee9b75cf8c96eadd8d5c69)
Change-Id: I37d9740ca912daf37cdf9ff82697bbc5db46177a
Richard Uhler [Tue, 3 May 2016 20:05:50 +0000 (13:05 -0700)]
Hold a ClassLoader reference in NativeAllocationRegistry.
So that the native library isn't unloaded before we have a chance to
call the freeFunction.
Bug:
28406866
Change-Id: Iafe4fdc68482b68a4b14d10880fa15dcbb65adf2
Andreas Gampe [Sat, 30 Apr 2016 00:52:07 +0000 (17:52 -0700)]
ART: Dump more OatDexFile data in oatdump
Add some stats about the enclosed dex file and type table when
dumping an oat file.
Bug:
28251566
Change-Id: I80c14e85d68cd1e3e4c64b7b9d86059d5ac8a6ad
Narayan Kamath [Tue, 3 May 2016 11:34:48 +0000 (11:34 +0000)]
Merge "DexFile: Add an API to query oat file status." into nyc-dev
am:
a421e9e758
* commit '
a421e9e758ebb29d3ca7d2b8911e8dfa9a3ded22':
DexFile: Add an API to query oat file status.
Change-Id: Ia0dc9d4af4e0cb1089328bf5c517c8701428f9c3
Narayan Kamath [Tue, 3 May 2016 11:31:00 +0000 (11:31 +0000)]
Merge "DexFile: Add an API to query oat file status." into nyc-dev
Narayan Kamath [Mon, 2 May 2016 12:14:48 +0000 (13:14 +0100)]
DexFile: Add an API to query oat file status.
Adds DexFile.getDexFileStatus(path), which returns an opaque,
human-readable string representation of the oat file status. This
representation isn't guaranteed to be stable and can change from
release to release.
bug:
27494108
Change-Id: I5fc42225ae65eb19dcd0c619a40cf674b34fc49c
Dimitry Ivanov [Tue, 3 May 2016 05:54:36 +0000 (05:54 +0000)]
Fix check_jni_compiler tests
am:
2041f98d80
* commit '
2041f98d807edd8afa2ef8c172ed1967472c3d9e':
Fix check_jni_compiler tests
Change-Id: I5cccd0a5d3d23cb715a98c4e1bbfbdcaf217c584
Dimitry Ivanov [Tue, 3 May 2016 05:54:31 +0000 (05:54 +0000)]
Supply librarySearchPath to PathClassLoader
am:
0452f4dcde
* commit '
0452f4dcde1b67e4a5ee80e0c1ccd70156bf89ba':
Supply librarySearchPath to PathClassLoader
Change-Id: I3c9a4b9a6359b2abed798ca3f5b3cb428d168c2c
Dimitry Ivanov [Fri, 29 Apr 2016 18:14:25 +0000 (11:14 -0700)]
Fix check_jni_compiler tests
Test needs to initialize nativeloader on runtime->Start(),
and reset it when runtime is stopped.
Bug: http://b/
28449304
Change-Id: I0ba946fe5fc2817dff73154e3191444106dfcb08
(cherry picked from commit
5edb063fc050bad66fe4ae41c93f6d08b0ccccfe)
Dimitry Ivanov [Mon, 2 May 2016 21:36:40 +0000 (21:36 +0000)]
Merge "Reset NativeLoader on DestroyJavaVM" into nyc-dev
am:
e20267080d
* commit '
e20267080da1a800095a92744341b3148c36addb':
Reset NativeLoader on DestroyJavaVM
Change-Id: I155d53758c7b57d6f33d4e27d375501d74da02fd
Dimitry Ivanov [Thu, 28 Apr 2016 23:29:22 +0000 (16:29 -0700)]
Supply librarySearchPath to PathClassLoader
PathClassLoader needs librarySearchPath in order to
be able to find native libraries.
The java.library.path property is no longer implicitly
applied to all basedexclassloaders, and needs to be
passed explicitly.
Bug: http://b/
28449304
Change-Id: Id5b4273553d783c0f7a964f72ecb2c99f3aeaf6f
(cherry picked from commit
3a79b6389df39928823a7a8e862c2f647a1cd164)
Dimitry Ivanov [Mon, 2 May 2016 21:20:00 +0000 (21:20 +0000)]
Merge "Reset NativeLoader on DestroyJavaVM" into nyc-dev
Dimitry Ivanov [Fri, 29 Apr 2016 23:02:38 +0000 (16:02 -0700)]
Reset NativeLoader on DestroyJavaVM
Native loader keeps vector of weak references
to classloader. ResetNativeLoader instructs
it to clear this vector once JavaVM is
destroyed.
Bug: http://b/
28453840
Change-Id: I45e38c45268a741d86ec686266b13fde7d5fb9a2
Mathieu Chartier [Sat, 30 Apr 2016 01:56:14 +0000 (01:56 +0000)]
Merge "Fix profile saver to use base dex location" into nyc-dev
am:
dcb95ccfa4
* commit '
dcb95ccfa4e3e6acc299e8f8ce9964e5f62490ac':
Fix profile saver to use base dex location
Change-Id: I35f856301533e890074c63b23759afd4657a9c50
Mathieu Chartier [Sat, 30 Apr 2016 01:52:04 +0000 (01:52 +0000)]
Merge "Fix profile saver to use base dex location" into nyc-dev
Hans Boehm [Sat, 30 Apr 2016 00:44:50 +0000 (00:44 +0000)]
Merge "Correct monitor pool synchronization" into nyc-dev
am:
da19488a46
* commit '
da19488a46bf9d0828ce88c504f7fbddddf805ed':
Correct monitor pool synchronization
Change-Id: Id280a8daefb6f05c440d0a5c31a6c12cc5a64be1
Hans Boehm [Sat, 30 Apr 2016 00:37:45 +0000 (00:37 +0000)]
Merge "Correct monitor pool synchronization" into nyc-dev
Andreas Gampe [Fri, 29 Apr 2016 23:17:34 +0000 (23:17 +0000)]
Merge "ART: Disambiguate access-checks mode from lock-counting" into nyc-dev
am:
f957a5fcb5
* commit '
f957a5fcb5e21e50eac7d0071ebcf88d750fb0c0':
ART: Disambiguate access-checks mode from lock-counting
Change-Id: I1137d5b3478ca2eb80d0bc003c38e21dc1a94d67
Andreas Gampe [Fri, 29 Apr 2016 23:13:53 +0000 (23:13 +0000)]
Merge "ART: Disambiguate access-checks mode from lock-counting" into nyc-dev
Andreas Gampe [Fri, 29 Apr 2016 23:08:20 +0000 (23:08 +0000)]
Merge "ART: Fix Mac build" into nyc-dev
am:
8e181b2193
* commit '
8e181b2193e0c556709d568eb2c5f38846bcd65f':
ART: Fix Mac build
Change-Id: Ib87e11050d0f1c79e14d9fd0e3f7d5034ff9676b
Andreas Gampe [Fri, 29 Apr 2016 23:04:50 +0000 (23:04 +0000)]
Merge "ART: Fix Mac build" into nyc-dev
Andreas Gampe [Fri, 29 Apr 2016 22:04:49 +0000 (15:04 -0700)]
ART: Fix Mac build
Fix Mac build after
fc6898769ae1ef91ec3e41c0a273401213cb82cd.
Bug:
28423466
Change-Id: I6942bc86f1b0819d84bced5499afb0a4d235a39e
Jeff Hao [Fri, 29 Apr 2016 21:13:36 +0000 (21:13 +0000)]
Merge "Add ability to see if a dex file is backed by an oat file." into nyc-dev
am:
739343484a
* commit '
739343484a30e6d13b22bcb7b4ce16ad606cb53e':
Add ability to see if a dex file is backed by an oat file.
Change-Id: I010f07921f5b05acd000ba63b88d350184427804
Jeff Hao [Fri, 29 Apr 2016 21:07:48 +0000 (21:07 +0000)]
Merge "Add ability to see if a dex file is backed by an oat file." into nyc-dev
Mathieu Chartier [Fri, 29 Apr 2016 19:03:56 +0000 (12:03 -0700)]
Fix profile saver to use base dex location
Previously we were using the dex location. This only matches the
base location for the main dex file, and resulted in only the
main dex file to have classes recorded.
Bug:
28463739
Change-Id: I0117352150c7244dd048338dbb677abdd4554eb0
Hans Boehm [Wed, 27 Apr 2016 22:04:24 +0000 (15:04 -0700)]
Correct monitor pool synchronization
The previous implementation allowed a thread looking up a monitor
to see an uninitialized monitor_chunks_ list if the list had
just been resized. The obvious small fix would be to replace the
relaxed load in LookupMonitor with an acquire load. But the
extra fence (on ARM) may involve an appreciable performance hit.
This instead redesigns the data structure to avoid the race in
LookupMonitor, along with the need to use atomics there at all. The
down side is a little more address arithmetic in LookupMonitor(),
a mild decrease in the limit on the total number of monitors, and
use of one extra page, since we now always reserve space for the
first page worth of monitor chunk pointers.
To me, the new algorithm feels cleaner and easier to reason about.
Although this problem was externally reported, it seems unlikely
that it was responsible for frequent failures. It could only
be triggered when the monitor chunk list was resized, which should
be quite rare.
Bug:
28385279
Change-Id: I433155d91702878f6b114480eda1fbf09706f623
(cherry picked from commit
a319f4dbeea00701a0d12dc39b7bf0a5323f6b2a)
Richard Uhler [Fri, 29 Apr 2016 19:54:25 +0000 (19:54 +0000)]
Merge "Deduplicate simple roots in hprof." into nyc-dev
am:
dc97e0498d
* commit '
dc97e0498dd1971afb02bdba80254b63f26aac24':
Deduplicate simple roots in hprof.
Change-Id: I69f83f0fb341945e8e20897f7befd7d9fa0295c1
Richard Uhler [Fri, 29 Apr 2016 19:51:13 +0000 (19:51 +0000)]
Merge "Deduplicate simple roots in hprof." into nyc-dev
Andreas Gampe [Fri, 29 Apr 2016 18:40:53 +0000 (18:40 +0000)]
Merge "ART: Log all monitor operations to systrace" into nyc-dev
am:
206d27da4e
* commit '
206d27da4e38df51e2fc44de3ed4d1f54198662a':
ART: Log all monitor operations to systrace
Change-Id: Ib042789c64eea65f11f0551e672742a088dda9ac
TreeHugger Robot [Fri, 29 Apr 2016 18:37:18 +0000 (18:37 +0000)]
Merge "ART: Log all monitor operations to systrace" into nyc-dev
Brian Carlstrom [Fri, 29 Apr 2016 18:11:07 +0000 (18:11 +0000)]
Merge "Add null checks to weak DexCache references" into nyc-dev
am:
640735afca
* commit '
640735afca514104d951fca80105216af26c4b61':
Add null checks to weak DexCache references
Change-Id: I3667d6e0c5e4c6582aafe290124b76782a1d7181
Brian Carlstrom [Fri, 29 Apr 2016 18:02:58 +0000 (18:02 +0000)]
Merge "Add null checks to weak DexCache references" into nyc-dev
buzbee [Fri, 29 Apr 2016 17:40:56 +0000 (17:40 +0000)]
Merge "ART: Add missing EXPORT_PCs to x86/_64 mterp" into nyc-dev
am:
a0be9d724f
* commit '
a0be9d724fa83d7a2c98f0d6197228547310e36b':
ART: Add missing EXPORT_PCs to x86/_64 mterp
Change-Id: Id69f0a48644ff2b61103c5ee2a66c53d97e567b6
Bill Buzbee [Fri, 29 Apr 2016 17:37:28 +0000 (17:37 +0000)]
Merge "ART: Add missing EXPORT_PCs to x86/_64 mterp" into nyc-dev
Mathieu Chartier [Fri, 29 Apr 2016 17:29:00 +0000 (17:29 +0000)]
Merge "Add contender method for lock contention" into nyc-dev
am:
0e7316828d
* commit '
0e7316828d5a92f7a0771886a131b96f4dd6c117':
Add contender method for lock contention
Change-Id: I2e65f579ae94cfbab4e85443d7497e40f82c5492
Brian Carlstrom [Fri, 29 Apr 2016 17:28:34 +0000 (10:28 -0700)]
Add null checks to weak DexCache references
Bug:
28452385
Change-Id: I88243af47b8e091c360927d1bdb867770f092475
Mathieu Chartier [Fri, 29 Apr 2016 17:24:42 +0000 (17:24 +0000)]
Merge "Add contender method for lock contention" into nyc-dev
Mathieu Chartier [Fri, 29 Apr 2016 00:21:08 +0000 (17:21 -0700)]
Add contender method for lock contention
Now prints the method that is attempting to acquire the lock.
Bug:
28223501
Change-Id: I47c4261d14d8767a873594594b7675a176b71d70
Andreas Gampe [Tue, 26 Apr 2016 03:08:55 +0000 (20:08 -0700)]
ART: Log all monitor operations to systrace
Add a VLOG option ("-verbose:systrace-locks") to log all monitor
operations to systrace. This requires non-fastpath thread
entrypoints, and ATRACE tags for locking and unlocking.
Do a bit of cleanup to the entrypoint initialization to share
common setup.
Bug:
28423466
Change-Id: Ie67e4aa946ec15f8fcf8cb7134c5d3cff0119ab3
buzbee [Thu, 28 Apr 2016 23:08:44 +0000 (16:08 -0700)]
ART: Add missing EXPORT_PCs to x86/_64 mterp
Any time there is a possiblity that execution flow will leave
the mterp environment and transition either to an alternate
interpreter or compiled code, we need to export the cached copy of
the current Dalvik PC. One path out related to on-stack-replacement
was missed in both x86 and x86_64 versions of mterp (other targets
are OK).
Note that there is an outstanding feature request to add support
to catch missing EXPORT_PCs (Bug:
26572899), though as envisioned
it would not have caught this one.
Bug:
28249238
(cherry picked from commit
963758dbfbbbc95bbfa82d5e02258d9fd481a459)
Change-Id: I3936509665636c0b77580dda12520a82ee814fa5
Nicolas Geoffray [Fri, 29 Apr 2016 15:36:38 +0000 (15:36 +0000)]
Remove invoke after inlining.
am:
366728f70c
* commit '
366728f70c3bf3598cea3c37fa57c7c9428706fa':
Remove invoke after inlining.
Change-Id: Ie519b75dafd66baeecfd6d2a2e60396e17ff771a
Nicolas Geoffray [Fri, 29 Apr 2016 12:56:01 +0000 (13:56 +0100)]
Remove invoke after inlining.
bug:
28460178
(cherry picked from commit
1be7cbd532a41981019f1e89c8ecf404bc9af809)
Change-Id: I9a84af048600a4653af284a9b171c2ba4c4dcca5