OSDN Git Service
David Brazdil [Tue, 12 Apr 2016 14:33:45 +0000 (14:33 +0000)]
Merge "ART: Speed up HGraph::PopulateIrreducibleRecursive" am:
62358ed
am:
a9b3479
* commit '
a9b3479f1c6312a5595c2fdeae2fe6e0ba9686b0':
ART: Speed up HGraph::PopulateIrreducibleRecursive
Change-Id: Ia62b071c08b3cfd9a20681b0ae86c13b2a7e9a92
David Brazdil [Tue, 12 Apr 2016 14:28:12 +0000 (14:28 +0000)]
Merge "ART: Speed up HGraph::PopulateIrreducibleRecursive"
am:
62358ed
* commit '
62358ed8377fd14fd9890b54c09f927ce51fc443':
ART: Speed up HGraph::PopulateIrreducibleRecursive
Change-Id: I56543b65bbb1ef6dcaf4fd336596e80380981956
David Brazdil [Tue, 12 Apr 2016 14:19:33 +0000 (14:19 +0000)]
Merge "ART: Speed up HGraph::PopulateIrreducibleRecursive"
David Brazdil [Tue, 5 Apr 2016 16:15:19 +0000 (17:15 +0100)]
ART: Speed up HGraph::PopulateIrreducibleRecursive
Populating an irreducible loop can potentially traverse all possible
paths through the HGraph, leading to an exponential algorithm.
This patch adds a bit vector of nodes whose membership in the loop
has been decided and need not be revisited again.
Bug:
27856014
Change-Id: I3696f08c846e6f40e5de44cb771811bac7e3e08a
Vladimir Marko [Tue, 12 Apr 2016 14:11:30 +0000 (14:11 +0000)]
Merge "Remove recursive ALWAYS_INLINE" am:
8eec0bb
am:
51207ad
* commit '
51207ad76601961451eb4e9c8c7177edad5eda90':
Remove recursive ALWAYS_INLINE
Change-Id: Ifb13bfcd32ce2e13e3314592c4b5a3ff8a4573ab
Goran Jakovljevic [Tue, 12 Apr 2016 14:05:56 +0000 (14:05 +0000)]
Merge "Remove recursive ALWAYS_INLINE"
am:
8eec0bb
* commit '
8eec0bbb10dd2909aeb973ee5799e9f736bf3fc3':
Remove recursive ALWAYS_INLINE
Change-Id: If8312283a79385f37de0b955e0633b3a314b29cd
Vladimir Marko [Tue, 12 Apr 2016 13:58:51 +0000 (13:58 +0000)]
Merge "Remove recursive ALWAYS_INLINE"
Sergio Giro [Tue, 12 Apr 2016 13:54:47 +0000 (13:54 +0000)]
Merge "unstarted_runtime: add cutout for Math.floor" am:
b2880a9
am:
416f1db
* commit '
416f1db66fc5366e09518a2e53b9c9c7f61a0f4b':
unstarted_runtime: add cutout for Math.floor
Change-Id: I911f568f1671e6572231ef4d1551f77734dc886c
Sergio Giro [Tue, 12 Apr 2016 13:49:11 +0000 (13:49 +0000)]
Merge "unstarted_runtime: add cutout for Math.floor"
am:
b2880a9
* commit '
b2880a9c743e433ddaede6bb54911a4b6483ee0a':
unstarted_runtime: add cutout for Math.floor
Change-Id: I7ca1d09fab18f1a1aa4a1a790f597e6ef464eb7c
Sergio Giro [Tue, 12 Apr 2016 13:39:24 +0000 (13:39 +0000)]
Merge "unstarted_runtime: add cutout for Math.floor"
Sergio Giro [Mon, 11 Apr 2016 19:49:20 +0000 (20:49 +0100)]
unstarted_runtime: add cutout for Math.floor
Needed in order to make BouncyCastleProvider initializable in
compile time
(cherry picked from commit
a8908ef14cf2d2e0d05e41e319da5d6909325ae2)
Bug:
28108158
Change-Id: Id6b4e3d4dde45354562603f41134d8d21da2b423
Narayan Kamath [Tue, 12 Apr 2016 13:15:44 +0000 (13:15 +0000)]
Revert "Update expectations for 031-class-attributes."
am:
26e818d
* commit '
26e818d520e8af9f1355a0eda6b111d741411210':
Revert "Update expectations for 031-class-attributes."
Change-Id: I70950c685bdbb03f6815c2f65faeec06950b2991
Narayan Kamath [Tue, 12 Apr 2016 12:38:09 +0000 (13:38 +0100)]
Revert "Update expectations for 031-class-attributes."
This reverts commit
32580ebd54bfeef62d5769439d336ca33f5592b0.
The original commit tracked OpenJDK behaviour, which we've decided
to revert because several apps depend on the value of Package.toString.
bug:
28057303
(cherry picked from commit
ae4904905f10997f99a42310785b8f33625e20e9)
Change-Id: If03b91aab42dfaa9c838434b9a28f73cd970e34b
Narayan Kamath [Tue, 12 Apr 2016 13:04:36 +0000 (13:04 +0000)]
Merge "Revert "Update expectations for 031-class-attributes."" am:
04c2b2d
am:
5998ef9
* commit '
5998ef9fbf032e69ea7811282c680c2771066928':
Revert "Update expectations for 031-class-attributes."
Change-Id: I385b76a780f33ac0c79a9967525227ac55848139
Narayan Kamath [Tue, 12 Apr 2016 12:59:00 +0000 (12:59 +0000)]
Merge "Revert "Update expectations for 031-class-attributes.""
am:
04c2b2d
* commit '
04c2b2de69460d41e0c39c1f7d9fb77376c3aa8b':
Revert "Update expectations for 031-class-attributes."
Change-Id: I38b30b15397b0c5515a02d55a05808f75e70fd68
Narayan Kamath [Tue, 12 Apr 2016 12:52:34 +0000 (12:52 +0000)]
Merge "Revert "Update expectations for 031-class-attributes.""
Narayan Kamath [Tue, 12 Apr 2016 12:38:09 +0000 (13:38 +0100)]
Revert "Update expectations for 031-class-attributes."
This reverts commit
32580ebd54bfeef62d5769439d336ca33f5592b0.
The original commit tracked OpenJDK behaviour, which we've decided
to revert because several apps depend on the value of Package.toString.
bug:
28057303
Goran Jakovljevic [Tue, 12 Apr 2016 11:11:16 +0000 (13:11 +0200)]
Remove recursive ALWAYS_INLINE
GCC (mips32 Buildbot) is complaining about recursive inlining.
Clean up after
https://android-review.googlesource.com/#/c/214918/.
Change-Id: I221c53c32403e5e433e30cfee7b2ae36680f39e6
Sergio Giro [Tue, 12 Apr 2016 10:53:28 +0000 (10:53 +0000)]
Merge "unstarted_runtime: add cutout for Math.floor" into nyc-dev
am:
0fc5d4a
* commit '
0fc5d4ac0c4a099546a445a09de54f2b29c27637':
unstarted_runtime: add cutout for Math.floor
Change-Id: I0059c34e5cd6450dc2a6e2ea08b0a977f6a94e7c
Sergio Giro [Tue, 12 Apr 2016 10:40:04 +0000 (10:40 +0000)]
Merge "unstarted_runtime: add cutout for Math.floor" into nyc-dev
Mathieu Chartier [Tue, 12 Apr 2016 02:41:23 +0000 (02:41 +0000)]
Merge changes from topic \'image_layout\' am:
780b461
am:
66dfb68
* commit '
66dfb68a3413515a9deceaa573e9909582335394':
Fix relocate in place to handle arbitrary app image layout
Revert "Revert "Reduce dirty image pages by improving binning""
Revert "Reduce dirty image pages by improving binning"
Reduce dirty image pages by improving binning
Change-Id: I5e9f46478833dd434467ac3509d6f3049b039e06
Mathieu Chartier [Tue, 12 Apr 2016 02:36:26 +0000 (02:36 +0000)]
Merge changes from topic \'image_layout\'
am:
780b461
* commit '
780b46126af0b4239ff5a3a88f347548d960bbe4':
Fix relocate in place to handle arbitrary app image layout
Revert "Revert "Reduce dirty image pages by improving binning""
Revert "Reduce dirty image pages by improving binning"
Reduce dirty image pages by improving binning
Change-Id: I9e40aa3e4465c297bd74f825e6c21d1e3f5372d3
Mathieu Chartier [Tue, 12 Apr 2016 02:23:10 +0000 (02:23 +0000)]
Merge changes from topic 'image_layout'
* changes:
Fix relocate in place to handle arbitrary app image layout
Revert "Revert "Reduce dirty image pages by improving binning""
Revert "Reduce dirty image pages by improving binning"
Reduce dirty image pages by improving binning
Mathieu Chartier [Mon, 11 Apr 2016 19:03:48 +0000 (12:03 -0700)]
Fix relocate in place to handle arbitrary app image layout
Previously the relocation had bugs where it would not work correctly
if the iftable was after the class since the object arrays would not
yet be updated to be the relocated address when we went through them
to fixup the ArtMethod pointers.
Also fixes a bug where the superclass of a class could not be
updated when we walk through it for visiting instance fields of
large objects.
Changed RelocateInPlace to use a simplier single pass approach.
Bug:
27906566
Bug:
22858531
(cherry picked from commit
564289c753cbe3521f9523b350bd713c1fe2fbd4)
Change-Id: I97affab6ff353dfdc4d1bf31df69ceb96a0c7a1a
Mathieu Chartier [Sat, 9 Apr 2016 02:01:05 +0000 (19:01 -0700)]
Revert "Revert "Reduce dirty image pages by improving binning""
This reverts commit
8ace610a222892f7b700e4f95e50fa6315ab85c0.
(cherry picked from commit
80c563ba136fd8da8791cf0f1a5f8f7026816ead)
Change-Id: I5b312f41d8b96eb189ea8b9d3a3ab861c5c9d515
Mathieu Chartier [Sat, 9 Apr 2016 01:54:36 +0000 (18:54 -0700)]
Revert "Reduce dirty image pages by improving binning"
This reverts commit
794bff5f622c79fd7bd9899e700cf052a375c675.
(cherry picked from commit
8ace610a222892f7b700e4f95e50fa6315ab85c0)
Change-Id: Id53d64a04aa8766a2cb283a2f7b8354590213b13
Mathieu Chartier [Thu, 7 Apr 2016 21:16:26 +0000 (14:16 -0700)]
Reduce dirty image pages by improving binning
Change ordering from dirty to less dirty since ArtFields are clean
and they are last. Add separate binning for DexCache and instances
of java lang object (probably a lock object).
Business card .art RAM (on shamu):
PSS Private Dirty
.art mmap 1011 600
.art mmap 990 560
Bug:
27906566
(cherry picked from commit
794bff5f622c79fd7bd9899e700cf052a375c675)
Change-Id: I31c9ff41c3d713fc3b14573c2b731325ac6f366f
Mathieu Chartier [Tue, 12 Apr 2016 01:39:04 +0000 (01:39 +0000)]
Don\'t abort during app image loading with no boot image
am:
19578c9
* commit '
19578c9ae94725aaa82ef32fbfb2f9fd09321844':
Don't abort during app image loading with no boot image
Change-Id: I82719035eea1840f223237ea1f8f3551a0c0199f
Mathieu Chartier [Tue, 12 Apr 2016 01:39:04 +0000 (01:39 +0000)]
Fix relocate in place to handle arbitrary app image layout
am:
564289c -s ours
* commit '
564289c753cbe3521f9523b350bd713c1fe2fbd4':
Fix relocate in place to handle arbitrary app image layout
Change-Id: If99e268e3d49529495dfeb6a8e6c37b646e8d9d6
Mathieu Chartier [Tue, 12 Apr 2016 01:33:56 +0000 (01:33 +0000)]
Revert "Revert "Reduce dirty image pages by improving binning""
am:
80c563b
* commit '
80c563ba136fd8da8791cf0f1a5f8f7026816ead':
Revert "Revert "Reduce dirty image pages by improving binning""
Change-Id: Ia5b1d1b2fcc1bee961d5334874b18c96abb65187
Mathieu Chartier [Mon, 11 Apr 2016 20:56:45 +0000 (13:56 -0700)]
Don't abort during app image loading with no boot image
Fail gracefully instead. Fixes test 119.
Bug:
22858531
(cherry picked from commit
e719926c78d6b717ecc0d3d1620a757ae3019d20)
Change-Id: If39e0cf146a3bd03bf23646077e9547dd56ec81c
Mathieu Chartier [Mon, 11 Apr 2016 19:03:48 +0000 (12:03 -0700)]
Fix relocate in place to handle arbitrary app image layout
Previously the relocation had bugs where it would not work correctly
if the iftable was after the class since the object arrays would not
yet be updated to be the relocated address when we went through them
to fixup the ArtMethod pointers.
Also fixes a bug where the superclass of a class could not be
updated when we walk through it for visiting instance fields of
large objects.
Changed RelocateInPlace to use a simplier single pass approach.
Bug:
27906566
Bug:
22858531
Change-Id: I97affab6ff353dfdc4d1bf31df69ceb96a0c7a1a
Mathieu Chartier [Mon, 11 Apr 2016 21:24:39 +0000 (21:24 +0000)]
Merge "Don\'t abort during app image loading with no boot image" am:
80bda17
am:
c02a52a
* commit '
c02a52a434440395e7accb511ccc58b3fd815c62':
Don't abort during app image loading with no boot image
Change-Id: I95a063f6f58a85719ff159d3acf3e06406366c0e
Mathieu Chartier [Mon, 11 Apr 2016 21:19:40 +0000 (21:19 +0000)]
Merge "Don\'t abort during app image loading with no boot image"
am:
80bda17
* commit '
80bda17d9810507fa016206fff90acd0e1337a3a':
Don't abort during app image loading with no boot image
Change-Id: I054825af8356a1bfdc0f6d43c8166b6a1bbd5c34
Mathieu Chartier [Mon, 11 Apr 2016 21:12:11 +0000 (21:12 +0000)]
Merge "Don't abort during app image loading with no boot image"
Mathieu Chartier [Mon, 11 Apr 2016 20:56:45 +0000 (13:56 -0700)]
Don't abort during app image loading with no boot image
Fail gracefully instead. Fixes test 119.
Bug:
22858531
Change-Id: If17acf5365f8a8fc0a2f6445c558960c62c8f948
Sergio Giro [Mon, 11 Apr 2016 19:49:20 +0000 (20:49 +0100)]
unstarted_runtime: add cutout for Math.floor
Needed in order to make BouncyCastleProvider initializable in
compile time
Bug:
28108158
Change-Id: If445a0b3e4a072d7139e2506c2a5910312b302d1
Calin Juravle [Mon, 11 Apr 2016 17:44:57 +0000 (17:44 +0000)]
Merge "ART: Make mterp jit profiling race tolerant" am:
d521826
am:
d4494f6
* commit '
d4494f646536b1b0b1eed997eccc488199a001df':
ART: Make mterp jit profiling race tolerant
Change-Id: I3f6ab8463d54752988bffdcef83557f628a2e5fa
buzbee [Mon, 11 Apr 2016 17:39:59 +0000 (17:39 +0000)]
Merge "ART: Make mterp jit profiling race tolerant"
am:
d521826
* commit '
d521826f27ea58ac0520887e5df15b35a589802d':
ART: Make mterp jit profiling race tolerant
Change-Id: Ic36b6b5c847085482eb1b28a15b6a81985ee04d8
Calin Juravle [Mon, 11 Apr 2016 17:32:24 +0000 (17:32 +0000)]
Merge "ART: Make mterp jit profiling race tolerant"
Nicolas Geoffray [Mon, 11 Apr 2016 16:00:57 +0000 (16:00 +0000)]
Merge "MIPS: Improving art_quick_imt_conflict_trampoline" am:
1e24b28
am:
c541579
* commit '
c54157992d5e4f4f3568868f6ea85565824a7750':
MIPS: Improving art_quick_imt_conflict_trampoline
Change-Id: I4ca3ccd072af700c591b9f33ebe2e0a2baef55ed
buzbee [Mon, 11 Apr 2016 14:48:18 +0000 (07:48 -0700)]
ART: Make mterp jit profiling race tolerant
The JIT profiling mechanism is intentionally non-precise to minimize
performance overhead. In general, this is not a problem. However,
the on-stack replacement mechanism assumes an order of method
compilation than can sometimes be violated if conditions are just
right.
This change allows compilation requests that were dropped due to
a race condition to eventually be re-issued. It does this by allowing
the 16-bit hotness counter to wrap around.
Change-Id: I2ac8056af8c4f7f8cef3f2c3db70b0394c26a566
Goran Jakovljevic [Mon, 11 Apr 2016 15:53:46 +0000 (15:53 +0000)]
Merge "MIPS: Improving art_quick_imt_conflict_trampoline"
am:
1e24b28
* commit '
1e24b28e89223dc4749a54582e7eaf929ca0cb5f':
MIPS: Improving art_quick_imt_conflict_trampoline
Change-Id: I3e19e7c9ae0d8cb45dbfdd5edaff6c2ea2853879
Nicolas Geoffray [Mon, 11 Apr 2016 15:45:57 +0000 (15:45 +0000)]
Merge "MIPS: Improving art_quick_imt_conflict_trampoline"
Andreas Gampe [Mon, 11 Apr 2016 15:43:58 +0000 (15:43 +0000)]
Merge "ART: Change prebuild run-test setup" am:
b5a0647
am:
9fcda11
* commit '
9fcda114ca0c77b660c46dd3fbc7c0531695c69a':
ART: Change prebuild run-test setup
Change-Id: I4169ed7e0f9665133ef75a5c4c313d26ed9b6f6b
Andreas Gampe [Mon, 11 Apr 2016 15:39:06 +0000 (15:39 +0000)]
Merge "ART: Change prebuild run-test setup"
am:
b5a0647
* commit '
b5a0647c2323246a9328b6eb0123df60e26d4d66':
ART: Change prebuild run-test setup
Change-Id: I198eab5f71384c8ce829ac877676833153856538
Andreas Gampe [Mon, 11 Apr 2016 15:29:56 +0000 (15:29 +0000)]
Merge "ART: Change prebuild run-test setup"
Vladimir Marko [Mon, 11 Apr 2016 14:31:36 +0000 (14:31 +0000)]
Merge "Oatdump: Smarter StackMap lookup to improve performance." am:
0432b41
am:
c1cf292
* commit '
c1cf2929b899bf5795c0626c9ba80227b78a5bc8':
Oatdump: Smarter StackMap lookup to improve performance.
Change-Id: Idde5d04ef8161aed5677b5a3118f15f34de75f04
Vladimir Marko [Mon, 11 Apr 2016 14:26:48 +0000 (14:26 +0000)]
Merge "Oatdump: Smarter StackMap lookup to improve performance."
am:
0432b41
* commit '
0432b41abde95c8eae76714ad652316682b317d6':
Oatdump: Smarter StackMap lookup to improve performance.
Change-Id: Ia57341abdafbb53e6e2baec62a63d81269dedc8b
Vladimir Marko [Mon, 11 Apr 2016 14:18:05 +0000 (14:18 +0000)]
Merge "Oatdump: Smarter StackMap lookup to improve performance."
Calin Juravle [Mon, 11 Apr 2016 14:12:40 +0000 (14:12 +0000)]
Merge "Revert "Revert "Revert "Revert "ART: Improve JitProfile perf in arm/arm64 mterp""""" am:
787a500
am:
c925e50
* commit '
c925e506593e7ba3f076c8f3229c0156acd885a4':
Revert "Revert "Revert "Revert "ART: Improve JitProfile perf in arm/arm64 mterp""""
Change-Id: If1affe3d97a4478d4a1bace5d6780534b57d920c
Bill Buzbee [Mon, 11 Apr 2016 14:07:56 +0000 (14:07 +0000)]
Merge "Revert "Revert "Revert "Revert "ART: Improve JitProfile perf in arm/arm64 mterp"""""
am:
787a500
* commit '
787a50072e8e0ce5ba417c94a9591558580f8ffe':
Revert "Revert "Revert "Revert "ART: Improve JitProfile perf in arm/arm64 mterp""""
Change-Id: I2ee3222189f402de291cf7f95cc0cc555d00da8f
Calin Juravle [Mon, 11 Apr 2016 13:56:56 +0000 (13:56 +0000)]
Merge "Revert "Revert "Revert "Revert "ART: Improve JitProfile perf in arm/arm64 mterp"""""
Vladimir Marko [Fri, 8 Apr 2016 10:18:25 +0000 (11:18 +0100)]
Oatdump: Smarter StackMap lookup to improve performance.
Shaves off roughly 10% from the oatdump_test time.
Bug:
27824283
Change-Id: I6c2fd3b1db2723871641d43aeb543581d405cfcb
Nicolas Geoffray [Mon, 11 Apr 2016 08:36:55 +0000 (08:36 +0000)]
Merge "Implement on-stack replacement for MIPS32 and MIPS64" am:
4009bc6
am:
5388c63
* commit '
5388c636d4087d61d6bacd00a9e09f27aa3f6eda':
Implement on-stack replacement for MIPS32 and MIPS64
Change-Id: I5c921794219b8866c26ef84ee7d4e82e99c19d1d
Goran Jakovljevic [Mon, 11 Apr 2016 08:32:08 +0000 (08:32 +0000)]
Merge "Implement on-stack replacement for MIPS32 and MIPS64"
am:
4009bc6
* commit '
4009bc645e3358d3150b7f94dd90a2c939f0fa51':
Implement on-stack replacement for MIPS32 and MIPS64
Change-Id: I04f85f7e3245036607257afc2348dbd7f2bab632
Nicolas Geoffray [Mon, 11 Apr 2016 08:24:18 +0000 (08:24 +0000)]
Merge "Implement on-stack replacement for MIPS32 and MIPS64"
Mathieu Chartier [Sat, 9 Apr 2016 02:06:59 +0000 (02:06 +0000)]
Revert "Reduce dirty image pages by improving binning"
am:
8ace610
* commit '
8ace610a222892f7b700e4f95e50fa6315ab85c0':
Revert "Reduce dirty image pages by improving binning"
Change-Id: I90a181ca6386357e7af46154b90f809632cf51a9
Mathieu Chartier [Sat, 9 Apr 2016 02:01:05 +0000 (19:01 -0700)]
Revert "Revert "Reduce dirty image pages by improving binning""
This reverts commit
8ace610a222892f7b700e4f95e50fa6315ab85c0.
Mathieu Chartier [Sat, 9 Apr 2016 01:54:36 +0000 (18:54 -0700)]
Revert "Reduce dirty image pages by improving binning"
This reverts commit
794bff5f622c79fd7bd9899e700cf052a375c675.
Mathieu Chartier [Sat, 9 Apr 2016 00:31:34 +0000 (00:31 +0000)]
Merge "Reduce dirty image pages by improving binning" into nyc-dev
am:
c9acdcc
* commit '
c9acdcc640052cdb7b73cfe7711a464eb5aea052':
Reduce dirty image pages by improving binning
Change-Id: I9889aca2bad332080e76ea9c4ae60430f0662fb1
Mathieu Chartier [Sat, 9 Apr 2016 00:31:34 +0000 (00:31 +0000)]
Store precice set of which constructors require barriers
am:
b7248b9 -s ours
* commit '
b7248b9f1a6d62a30f0cefc12de63c216b5d46e2':
Store precice set of which constructors require barriers
Change-Id: I7567dd7c7ebdff664f36d07c7f5ce5cc743e854b
Andreas Gampe [Wed, 23 Mar 2016 17:54:21 +0000 (10:54 -0700)]
ART: Change prebuild run-test setup
Prebuild was meant to check whether the runtime correctly loads
pre-existing oat files. With the advent of patching images, this
has actually been reduced to "does the runtime run self-patchoat"
correctly.
We cannot produce a prebuilt oat file that does not have to be
patched, as the runtime will patch the image when it starts.
There are two options to make this more meaningful:
* In the prebuild setting, first run patchoat to explicitly create
a valid dalvik-cache.
* Change the dex2oat output to be the odex file, which can be
patched like a regular file.
This change shows the latter approach.
Change-Id: I5234e10d78f7ea6c7ad8598db67d3fad8ba42b67
Alex Light [Fri, 8 Apr 2016 19:06:56 +0000 (19:06 +0000)]
Merge "Make sure non-fatal errors aren\'t printed." am:
dea5933
am:
24d5417
* commit '
24d54171033021ba6bab8a099292fd5ee502ab39':
Make sure non-fatal errors aren't printed.
Change-Id: Ib38340f234e73e513010a9f438fd3aad5f8c2621
Andreas Gampe [Fri, 8 Apr 2016 18:58:46 +0000 (18:58 +0000)]
Merge "ART: Refactor imgdiag internals" am:
c52e3f9
am:
a35bde7
* commit '
a35bde7cf6cc9b6480569a1a9aba0a60f10a5295':
ART: Refactor imgdiag internals
Change-Id: I2c669814dd521a2c02932bb5480e4c9f3bc3d93b
Alex Light [Fri, 8 Apr 2016 18:58:45 +0000 (18:58 +0000)]
Merge "Make sure non-fatal errors aren\'t printed."
am:
dea5933
* commit '
dea59334a2bf9f7709fdb1874c5db6e9537bc291':
Make sure non-fatal errors aren't printed.
Change-Id: I2e8e6e5db320825e2d4cc4cbb931277181f0ed33
Andreas Gampe [Fri, 8 Apr 2016 18:49:35 +0000 (18:49 +0000)]
Merge "ART: Refactor imgdiag internals"
am:
c52e3f9
* commit '
c52e3f9e300d5c3f30f13a7812f0ff7aa8d9a4b1':
ART: Refactor imgdiag internals
Change-Id: I32cf0bcb4f4431562c32e510930e2b76dd738d80
Mathieu Chartier [Fri, 8 Apr 2016 18:49:01 +0000 (18:49 +0000)]
Merge "Reduce dirty image pages by improving binning" into nyc-dev
Alex Light [Fri, 8 Apr 2016 18:42:03 +0000 (18:42 +0000)]
Merge "Make sure non-fatal errors aren't printed."
Andreas Gampe [Fri, 8 Apr 2016 18:33:25 +0000 (18:33 +0000)]
Merge "ART: Refactor imgdiag internals"
Mathieu Chartier [Fri, 8 Apr 2016 18:16:15 +0000 (18:16 +0000)]
Merge changes from topic \'rr_barrier\' am:
e835f3a
am:
5cf09ba
* commit '
5cf09ba6aba1d456ecc5b47085616914c490c708':
Store precice set of which constructors require barriers
Revert "Revert "Check if we require barrier if we did not resolve classes""
Revert "Revert "Change RequiresConstructorBarrier default to yes""
Change-Id: I0eac446a8b1b712fb3678d87d1be4b07aba7fffe
Mathieu Chartier [Fri, 8 Apr 2016 18:07:07 +0000 (18:07 +0000)]
Merge changes from topic \'rr_barrier\'
am:
e835f3a
* commit '
e835f3a2e4a7af404e61a88058712f77737d87cd':
Store precice set of which constructors require barriers
Revert "Revert "Check if we require barrier if we did not resolve classes""
Revert "Revert "Change RequiresConstructorBarrier default to yes""
Change-Id: Ib0083850b2870223c13e1aa3128f5f656de868e8
Mathieu Chartier [Thu, 7 Apr 2016 20:19:19 +0000 (13:19 -0700)]
Store precice set of which constructors require barriers
Fixes bugs where things in the boot image might not have been
calculated even though resolved_clases was true. This only occured
for app and test compiles though.
Fixes test 476-checker-ctor-memory-barrier which was failing due to
inlining something in the boot class path and getting a unexpected
barrier since the barrier defaults to enabled.
No measurable increase in RAM usage.
(cherry picked from commit
c4ae916def97b9e1ef6df35c8fabb3921a0e380c)
Bug:
28005874
Change-Id: I4a417819aa129c95f4a83c38df1a66eb77824ea9
Bill Buzbee [Fri, 8 Apr 2016 17:52:25 +0000 (17:52 +0000)]
Merge "ART: Fix race in on-stack replacement" am:
250a23c
am:
4766a4a
* commit '
4766a4af2bd5e3fe8433fe758db94921b6b1bb15':
ART: Fix race in on-stack replacement
Change-Id: Ib7fd162bdbd4ea62e1803a7420435a140c566456
Mathieu Chartier [Fri, 8 Apr 2016 17:50:05 +0000 (17:50 +0000)]
Merge changes from topic 'rr_barrier'
* changes:
Store precice set of which constructors require barriers
Revert "Revert "Check if we require barrier if we did not resolve classes""
Revert "Revert "Change RequiresConstructorBarrier default to yes""
Mathieu Chartier [Thu, 7 Apr 2016 21:16:26 +0000 (14:16 -0700)]
Reduce dirty image pages by improving binning
Change ordering from dirty to less dirty since ArtFields are clean
and they are last. Add separate binning for DexCache and instances
of java lang object (probably a lock object).
Business card .art RAM (on shamu):
PSS Private Dirty
.art mmap 1011 600
.art mmap 990 560
Bug:
27906566
Change-Id: Ib3116953df7adafdc1560b064365c8b56e71483e
buzbee [Fri, 8 Apr 2016 17:45:20 +0000 (17:45 +0000)]
Merge "ART: Fix race in on-stack replacement"
am:
250a23c
* commit '
250a23c892bb809267325c0744c6f70fca49ac94':
ART: Fix race in on-stack replacement
Change-Id: I73be63f71d7ad8c91ee617dee8e812cabf8bbbd3
Mathieu Chartier [Thu, 7 Apr 2016 20:19:19 +0000 (13:19 -0700)]
Store precice set of which constructors require barriers
Fixes bugs where things in the boot image might not have been
calculated even though resolved_clases was true. This only occured
for app and test compiles though.
Fixes test 476-checker-ctor-memory-barrier which was failing due to
inlining something in the boot class path and getting a unexpected
barrier since the barrier defaults to enabled.
No measurable increase in RAM usage.
Bug:
28005874
Change-Id: I4a417819aa129c95f4a83c38df1a66eb77824ea9
Bill Buzbee [Fri, 8 Apr 2016 17:28:49 +0000 (17:28 +0000)]
Merge "ART: Fix race in on-stack replacement"
Alex Light [Fri, 8 Apr 2016 16:44:54 +0000 (09:44 -0700)]
Make sure non-fatal errors aren't printed.
During run-test setup `du` can print error messages if the folder it
is running on is modified during its execution. We silence these error
messages since they shouldn't affect the validity of the test.
Change-Id: I9f59e39c2a346414f025ce1fa79b453329080d30
Roland Levillain [Fri, 8 Apr 2016 16:18:48 +0000 (16:18 +0000)]
Merge "Ignore libcore.java.lang.ThreadTest failures on device." am:
6c5d868
am:
2b63a40
* commit '
2b63a40b125fbe0904947d523c66d1eb71a71796':
Ignore libcore.java.lang.ThreadTest failures on device.
Change-Id: I499ed39f2fe7c64dd391b60c68dd7b4863b57276
Roland Levillain [Fri, 8 Apr 2016 16:13:59 +0000 (16:13 +0000)]
Merge "Ignore libcore.java.lang.ThreadTest failures on device."
am:
6c5d868
* commit '
6c5d868c94401aeb7596d5d36380b61c7ed81222':
Ignore libcore.java.lang.ThreadTest failures on device.
Change-Id: I531a2a34824bdaadfacde195dfd179ceccfb9e62
buzbee [Thu, 7 Apr 2016 21:42:47 +0000 (14:42 -0700)]
ART: Fix race in on-stack replacement
The expected sequence of events for on-stack replacement is:
1. Method goes warm, triggering enhanced profiling
2. Method goes hot, triggering method compilation
3. Method goes really hot, triggering an osr method compilation.
4. Interpreter polls for the existence of an osr entry point,
and transitons to compiled code if found.
We have a race problem if #2 and #3 happen closely together, and
the osr method compilation begins before the regular method
compilation. In that case, the jit sees that the method is
already being compiled (the osr method - but it does not
distinguish the two), and discards the normal compilation request.
So, the osr version is compiled and the normal version is discarded.
In #4, the MaybeDoOnStackReplacement() check assumes that a normal
version of the compiled method must exist before doing an on-stack
replacement, so it keeps returning false.
This is why we were seeing sporadic timeout failures of
570-checker-osr when the mterp fast branch profiling was
introduced. The branch profiling performance enhancements
greatly reduced the time between #2 and #3, increasing the liklihood
of losing the race. Further, the new code clamped hotness to avoid
wrap-around. The race existed (and likely occurred) in the previous
version, but because hotness counters were allowed to overflow and
wrap around you'd eventually hit the threshold a second time and
try again - masking the problem.
Tip 'o the hat to Serguei Katkov for identifying the problem.
A possible solution (taken in this CL) is to differentiate osr
compilations from normal method compilations.
Bug:
27939339
Change-Id: I71044516b35dc69de9fc2d2a445e33809ac650ed
Bill Buzbee [Mon, 4 Apr 2016 16:59:29 +0000 (16:59 +0000)]
Revert "Revert "Revert "Revert "ART: Improve JitProfile perf in arm/arm64 mterp""""
Bug:
28081559
This reverts commit
961ea9fe42edcc2c57469bf451d1ca421da5cd59.
Change-Id: I98a5bb8112646706ae7bd73bf6393cb956466be3
Roland Levillain [Fri, 8 Apr 2016 16:01:18 +0000 (16:01 +0000)]
Merge "Ignore libcore.java.lang.ThreadTest failures on device."
Roland Levillain [Fri, 8 Apr 2016 15:04:11 +0000 (16:04 +0100)]
Ignore libcore.java.lang.ThreadTest failures on device.
Since https://android-review.googlesource.com/#/c/209427
has been merged, libcore.java.lang.ThreadTest tests are
failing with this error on ARM64:
java.lang.UnsatisfiedLinkError: dlopen failed: library "libnativehelper_compat_libc++.so" not found
at java.lang.Runtime.loadLibrary0(Runtime.java:977)
at java.lang.System.loadLibrary(System.java:1628)
at libcore.java.lang.ThreadTest.<clinit>(ThreadTest.java:26)
Ignore those failures for now to make the build turn green
again, while we investigate.
Bug:
28082914
Change-Id: Ia8c3c776c99aace06701479d1440c828d39cbec3
Jeff Hao [Fri, 8 Apr 2016 08:12:40 +0000 (08:12 +0000)]
Merge "Fix combined checksum calculation to use isa." am:
82a0229
am:
a5bfd62
* commit '
a5bfd6228ce2d36c342e240e0cd5d6d06d8388e7':
Fix combined checksum calculation to use isa.
Change-Id: I6b7ad47114b6770bf062286629f0297dc97596fb
Jeff Hao [Fri, 8 Apr 2016 08:12:39 +0000 (08:12 +0000)]
Merge "Combine checksum of all boot images." am:
9863b6c
am:
6c24b6a -s ours
* commit '
6c24b6a91bf2d75ec93452ba5f85e3def9d7ee60':
Combine checksum of all boot images.
Change-Id: I7214920053576d77c324cbd477c2800eb60f76c1
Jeff Hao [Fri, 8 Apr 2016 03:23:36 +0000 (03:23 +0000)]
Merge "Fix combined checksum calculation to use isa."
am:
82a0229
* commit '
82a0229e949eb3ea209c2bd33fe2d60908f5dbc7':
Fix combined checksum calculation to use isa.
Change-Id: I94ed5fb0d1a738111974e8bf502251859e8df855
Jeff Hao [Fri, 8 Apr 2016 03:23:36 +0000 (03:23 +0000)]
Merge "Combine checksum of all boot images."
am:
9863b6c
* commit '
9863b6cd07945b83d3a91a27c94963d8b313df2d':
Combine checksum of all boot images.
Change-Id: I1926eeff7d3e69bc2925fa7507fbe845bb982899
Jeff Hao [Fri, 8 Apr 2016 03:16:37 +0000 (03:16 +0000)]
Merge "Fix combined checksum calculation to use isa."
Jeff Hao [Fri, 8 Apr 2016 03:16:24 +0000 (03:16 +0000)]
Merge "Combine checksum of all boot images."
Jeff Hao [Fri, 8 Apr 2016 02:46:31 +0000 (19:46 -0700)]
Fix combined checksum calculation to use isa.
Bug:
28054110
(cherry-picked from commit
8bbda8e683a1933755d0b8a68fed620cd63148ee)
Change-Id: I228db6ea1003e4e70d6a5fa7345d56409e70bd87
Jeff Hao [Fri, 8 Apr 2016 02:57:27 +0000 (02:57 +0000)]
Fix combined checksum calculation to use isa.
am:
539d38c
* commit '
539d38c67c521aa17741a41fc4c4462b576adfd9':
Fix combined checksum calculation to use isa.
Change-Id: I6a67cd930954248451f7948f3ae366595c0b83cc
Jeff Hao [Thu, 7 Apr 2016 22:40:54 +0000 (15:40 -0700)]
Combine checksum of all boot images.
Allows a change to be detected in more than just the first image.
Combines checksums of all boot images using xor. A better hash is left
as TODO.
Bug:
28054110
(cherry-picked from commit
4f351aae00f43dd4e3290976f249d3664cc47091)
Change-Id: Ia557e2460ca582082368ef93508c04ce32c3036a
Jeff Hao [Fri, 8 Apr 2016 02:46:31 +0000 (19:46 -0700)]
Fix combined checksum calculation to use isa.
Bug:
28054110
Change-Id: Ifcd1b0c4549a22bf4181f8acad222da05ac9f1ce
Jeff Hao [Fri, 8 Apr 2016 01:51:38 +0000 (01:51 +0000)]
Combine checksum of all boot images.
am:
4f351aa
* commit '
4f351aae00f43dd4e3290976f249d3664cc47091':
Combine checksum of all boot images.
Change-Id: Ife392ac22d5cb97035468408db0818ca06ad338b
Jeff Hao [Thu, 7 Apr 2016 22:40:54 +0000 (15:40 -0700)]
Combine checksum of all boot images.
Allows a change to be detected in more than just the first image.
Combines checksums of all boot images using xor. A better hash is left
as TODO.
Bug:
28054110
Change-Id: Ifbdd6cbb0104c95e8926ba4f8a207cc72dbb7f79
Bill Buzbee [Fri, 8 Apr 2016 00:03:10 +0000 (00:03 +0000)]
Merge "ART: Fix interpreter single-step when doing OSR" am:
dc80925
am:
dc7e534
* commit '
dc7e534cd0a56380bf0d1934a368f90495c39064':
ART: Fix interpreter single-step when doing OSR
Change-Id: Icc4ca25b95e1100e438e125ac8ecee7c851ed4e6
buzbee [Thu, 7 Apr 2016 23:59:31 +0000 (23:59 +0000)]
Merge "ART: Fix interpreter single-step when doing OSR"
am:
dc80925
* commit '
dc8092521b50b108607ed54afde94d20a22468df':
ART: Fix interpreter single-step when doing OSR
Change-Id: I717599ea10d051b56167b82784087c48631ef322