OSDN Git Service
Richard Uhler [Fri, 27 May 2016 21:03:23 +0000 (21:03 +0000)]
Merge "Don\'t use dlopen on host for already loaded oat files." into nyc-dev
am:
a26e5d0cb0
* commit '
a26e5d0cb095c6ec88ae4ee517a3cd805edb50e2':
Don't use dlopen on host for already loaded oat files.
Change-Id: I9a6e97bcb066b5abfa3b009ada58439772c6e957
Richard Uhler [Fri, 27 May 2016 20:50:15 +0000 (20:50 +0000)]
Merge "Don't use dlopen on host for already loaded oat files." into nyc-dev
Richard Uhler [Tue, 24 May 2016 22:04:22 +0000 (15:04 -0700)]
Don't use dlopen on host for already loaded oat files.
Because the behavior of dlopen on the host is different then the
target in that case, and it causes tests to fail.
Bug:
28826195
(cherry picked from commit
a206c745dbb64b14f05c87891d425475c2f6d63a)
Change-Id: I29b04be07b4d26dc1ac5e6f35550745eb15e6728
Roland Levillain [Fri, 27 May 2016 11:24:11 +0000 (11:24 +0000)]
Merge "Remove duplicate libcore failures expectations." into nyc-dev
am:
5eda8d2a60
* commit '
5eda8d2a60e8da89336e2a1eba5fd2f7edaf2e1b':
Remove duplicate libcore failures expectations.
Change-Id: I5b03108e70bc7a2ecc53d1d998d019c0f3aff553
Narayan Kamath [Fri, 27 May 2016 11:14:56 +0000 (11:14 +0000)]
Merge "Remove duplicate libcore failures expectations." into nyc-dev
Nicolas Geoffray [Fri, 27 May 2016 10:21:23 +0000 (10:21 +0000)]
Don\'t use JACK alpha anymore.
am:
1c23f83ba6
* commit '
1c23f83ba672611428f8993cb2a7770bee06e4a1':
Don't use JACK alpha anymore.
Change-Id: If451f4e2ed0399831ea7afe6989fa12e7cb63c0b
Nicolas Geoffray [Thu, 14 Apr 2016 12:32:01 +0000 (13:32 +0100)]
Don't use JACK alpha anymore.
(cherry picked from commit
99e6d2d9b2585f605e02041f351b494f82f82121)
Bug:
28977632
Change-Id: Id37d90446be5d63cb0cf0131e34b562147e88335
Roland Levillain [Thu, 26 May 2016 16:38:46 +0000 (17:38 +0100)]
Remove duplicate libcore failures expectations.
Some jsr166 entries were already listed in
libcore/expectations/knownfailures.txt.
Bug:
28977632
Change-Id: I35788008262bac6f10d96f53e8e8f21e2364f091
Vladimir Marko [Thu, 26 May 2016 11:44:26 +0000 (11:44 +0000)]
Merge "Fix OatWriter to update the header checksum correctly." into nyc-dev
am:
6c5b9b9113
* commit '
6c5b9b91136aa4939d0252eb719c86289c72780e':
Fix OatWriter to update the header checksum correctly.
Change-Id: Iff4c0b48f9314ed903d8396f83b30995bca0313d
Vladimir Marko [Thu, 26 May 2016 11:35:24 +0000 (11:35 +0000)]
Merge "Fix OatWriter to update the header checksum correctly." into nyc-dev
Mathieu Chartier [Thu, 26 May 2016 02:10:27 +0000 (02:10 +0000)]
Merge "Prune class path classes from profile" into nyc-dev
am:
f498cd2a5e
* commit '
f498cd2a5e308ec4b66a1a0e363fe1c387bf1307':
Prune class path classes from profile
Change-Id: Ibd4f400ea5dfee7a0536fd4a2923d74e74029416
Mathieu Chartier [Thu, 26 May 2016 01:38:14 +0000 (01:38 +0000)]
Merge "Prune class path classes from profile" into nyc-dev
Mathieu Chartier [Wed, 25 May 2016 22:05:59 +0000 (15:05 -0700)]
Prune class path classes from profile
Fixes a theoretical case where classes not in the app, but in the in
the class path could have been included in the image. The dex caches
for these classes are not properly handled and need to be pruned.
Not including the classes in the image classes makes sure the that
class linker automatically prunes them and frees the dex cache with
the explicit garbage collection.
Bug:
28452385
Change-Id: Ia44813863b5f1c79367049838021a64cc3842fc9
Calin Juravle [Wed, 25 May 2016 21:47:45 +0000 (21:47 +0000)]
Merge "Fix profile saver reference point when calculating the sleep time" into nyc-dev
am:
38a68c7c05
* commit '
38a68c7c05682e5489831de0b5894d4558f7246c':
Fix profile saver reference point when calculating the sleep time
Change-Id: I49de08641419ccdb7ef654b14c9cbaecf9fc1cc4
TreeHugger Robot [Wed, 25 May 2016 21:35:45 +0000 (21:35 +0000)]
Merge "Fix profile saver reference point when calculating the sleep time" into nyc-dev
Richard Uhler [Wed, 25 May 2016 19:29:16 +0000 (19:29 +0000)]
Merge changes Idf64b96b,Ie717089d into nyc-dev
am:
c52269542a
* commit '
c52269542a652250c011018f602d1db346f6cd68':
Base isDexOptNeeded result on OatFileAssistant::IsUpToDate.
Only compile dex files if they are not up to date.
Change-Id: Ie20c820d8339bdd2c79d2a6dbe9e5b3ef7192f3b
Richard Uhler [Wed, 25 May 2016 19:18:07 +0000 (19:18 +0000)]
Merge changes Idf64b96b,Ie717089d into nyc-dev
* changes:
Base isDexOptNeeded result on OatFileAssistant::IsUpToDate.
Only compile dex files if they are not up to date.
Calin Juravle [Wed, 25 May 2016 17:09:53 +0000 (18:09 +0100)]
Fix profile saver reference point when calculating the sleep time
It is wrong to use last_time_ns_saver_woke_up_ as a reference. We should
use sleep_start.
Bug:
28953776
Change-Id: I88ab36c18b3b7b6e310bcdc6c59cadedc4cc9260
Vladimir Marko [Wed, 25 May 2016 11:49:49 +0000 (12:49 +0100)]
Fix OatWriter to update the header checksum correctly.
Make sure we update the checksum with dex file data, type
lookup tables and thunks produced by the relative patcher.
Bug:
28874264
Change-Id: I5b83237132ccb784acea6c195d0ed909ee33b99a
Nicolas Geoffray [Wed, 25 May 2016 16:56:33 +0000 (16:56 +0000)]
Merge "Remove bogus DCHECK." into nyc-dev
am:
26da99595f
* commit '
26da99595fd9b4298af68937c1c6302faec4e4da':
Remove bogus DCHECK.
Change-Id: I0590bd737d54d3cecaa89c4ae0500160ab48d3a9
TreeHugger Robot [Wed, 25 May 2016 16:51:24 +0000 (16:51 +0000)]
Merge "Remove bogus DCHECK." into nyc-dev
Brian Carlstrom [Wed, 25 May 2016 15:41:56 +0000 (15:41 +0000)]
Avoid long sleep in ProfileSaver
am:
8f15335d96
* commit '
8f15335d96eef7a3bcdd4f2b309a727791b67e68':
Avoid long sleep in ProfileSaver
Change-Id: I7c1f68449cfec3fa4cc8578515f31e4182e383df
Nicolas Geoffray [Wed, 25 May 2016 13:52:37 +0000 (14:52 +0100)]
Remove bogus DCHECK.
bug:
28771056
(cherry picked from commit
0950abe82f86a9943feb7719876ec291c6581037)
Change-Id: I8c5b737c0882ecb8d67d8f799356f30afe3dd87b
Brian Carlstrom [Wed, 25 May 2016 02:45:30 +0000 (19:45 -0700)]
Avoid long sleep in ProfileSaver
This was due to subtracting a >20s number of nanos from the constant for 20s.
Bug:
28880120
Change-Id: Ia30b80661f869843484cbac029008530128bd300
Mathieu Chartier [Wed, 25 May 2016 01:27:16 +0000 (01:27 +0000)]
Fix broken DCHECK
am:
55accd5725
* commit '
55accd5725442026c8c32dc773b1cd12a65f90f6':
Fix broken DCHECK
Change-Id: I015af6d4e11db54c8784a76085e1c2607a7c8123
Mathieu Chartier [Wed, 25 May 2016 00:41:21 +0000 (17:41 -0700)]
Fix broken DCHECK
Dex cache may now contain references into boot image. Only check
classes that are actually in the application image.
Bug:
28295348
Change-Id: I9d92137c99a53924b13182ded6afabdeb441437d
Mathieu Chartier [Wed, 25 May 2016 00:22:55 +0000 (00:22 +0000)]
Merge "Add methods with samples during launch to profile" into nyc-dev
am:
db6a864ed4
* commit '
db6a864ed402c2c7028e9b545d43182391d6bab6':
Add methods with samples during launch to profile
Change-Id: Ic1a4cf1475071c2dc3e3f8c7f837c68881d36d1b
Mathieu Chartier [Tue, 24 May 2016 23:30:03 +0000 (23:30 +0000)]
Merge "Add methods with samples during launch to profile" into nyc-dev
Mingyao Yang [Tue, 24 May 2016 23:16:22 +0000 (23:16 +0000)]
Merge "Fix an assert during jdwp debugging." into nyc-dev
am:
988df5652d
* commit '
988df5652dad6bea8f7395b86d0ff0bc9364d0b0':
Fix an assert during jdwp debugging.
Change-Id: I5247545c6f5d836321267c4406150ca6babcd8e7
Mingyao Yang [Tue, 24 May 2016 23:16:21 +0000 (23:16 +0000)]
Merge "Revert "Revert "Move rewritten StringFactory call results into dex registers for deopt""" into nyc-dev
am:
3176415348
* commit '
31764153483a77124c8c52d512fa7ef6dcc16fa6':
Revert "Revert "Move rewritten StringFactory call results into dex registers for deopt""
Change-Id: If69888d6d11ab3bbedbdc2902ab1cbde9d4873c0
Mingyao Yang [Tue, 24 May 2016 23:09:36 +0000 (23:09 +0000)]
Merge "Fix an assert during jdwp debugging." into nyc-dev
Mingyao Yang [Tue, 24 May 2016 23:09:23 +0000 (23:09 +0000)]
Merge "Revert "Revert "Move rewritten StringFactory call results into dex registers for deopt""" into nyc-dev
Richard Uhler [Tue, 24 May 2016 22:42:37 +0000 (15:42 -0700)]
Base isDexOptNeeded result on OatFileAssistant::IsUpToDate.
So that it is consistent with when ART will try to run dex2oat.
Bug:
28826195
Change-Id: Idf64b96bf9a6f4ee67dd1af78e6177e078a3c593
Richard Uhler [Tue, 17 May 2016 17:34:52 +0000 (10:34 -0700)]
Only compile dex files if they are not up to date.
Instead of trying to compile them all the time, and relying on file
permissions to keep us from overwriting up-to-date dex files with
different compiler filters.
Bug:
27641809
Bug:
28639246
Bug:
28826195
Change-Id: Ie717089d58517427b6f9a522b48146761c57a1a9
Mathieu Chartier [Wed, 18 May 2016 15:51:52 +0000 (08:51 -0700)]
Add methods with samples during launch to profile
For the snapshot taken after application launch we look at all of
the methods with one or more samples.
Launch time:
books: 1933ms -> 1457ms (33% speedup).
plus: 1361ms -> 1260ms (8% speedup)
music: 3085ms -> 2963ms (4% speedup)
maps: 1583ms -> 1390ms (14% speedup)
Oat sizes:
books:
10871424 ->
13365888 (+23%)
plus:
17715624 ->
19493288 (+13%)
music:
17076864 ->
18289280 (+7%)
maps:
32264832 ->
35787392 (+12%)
Bug:
28750506
Change-Id: I3a955dc74b41a96911254ac5087de77bea2267c7
Aart Bik [Tue, 24 May 2016 20:13:05 +0000 (20:13 +0000)]
Merge "Fix bug in verifier: soft fail was hiding hard fail." into nyc-dev
am:
1621936c1b
* commit '
1621936c1bdf8263e7e9f2d88f16ccaad5d3de81':
Fix bug in verifier: soft fail was hiding hard fail.
Change-Id: I519f25a72c51306f19b99606aa731d19c17a4943
Jeff Hao [Tue, 24 May 2016 20:13:03 +0000 (20:13 +0000)]
Merge "Don\'t update checksum if data ptr is null." into nyc-dev
am:
ea14dfea44
* commit '
ea14dfea44b3a7e4426709914d98092ff1db5a5c':
Don't update checksum if data ptr is null.
Change-Id: I697528ae47654455f07993ff9115a1a576e1edf4
Aart Bik [Tue, 24 May 2016 19:51:37 +0000 (19:51 +0000)]
Merge "Fix bug in verifier: soft fail was hiding hard fail." into nyc-dev
TreeHugger Robot [Tue, 24 May 2016 19:44:05 +0000 (19:44 +0000)]
Merge "Don't update checksum if data ptr is null." into nyc-dev
Nicolas Geoffray [Tue, 24 May 2016 18:50:40 +0000 (18:50 +0000)]
Merge "Put boot class loader classes and strings in dex cache of app images." into nyc-dev
am:
8fdde87a55
* commit '
8fdde87a55eb36da90ee170bd75ee7778f2702b8':
Put boot class loader classes and strings in dex cache of app images.
Change-Id: I0c441094603867c40da246adc263048d05d6fa12
TreeHugger Robot [Tue, 24 May 2016 18:26:18 +0000 (18:26 +0000)]
Merge "Put boot class loader classes and strings in dex cache of app images." into nyc-dev
Jeff Hao [Tue, 24 May 2016 02:17:04 +0000 (19:17 -0700)]
Don't update checksum if data ptr is null.
Passing a nullptr to adler32 resets it to its initial value.
Bug:
28874264
Change-Id: I863fa4d489618c1c6fa579cc89fb050f4cd23760
Aart Bik [Mon, 23 May 2016 21:58:49 +0000 (14:58 -0700)]
Fix bug in verifier: soft fail was hiding hard fail.
Rationale:
Dexfuzzing found a situation where a soft fail (modifying
a final field) was hiding a hard fail (type error on that
field), which caused a crash in the compiler later on.
Also added a crash-before/pass-after regression test,
so we don't add the return by accident later.
BUG=
28908555
(cherry picked from commit
c2bc26513ea7c5e2dd9f3b102fb23fd207e4ce63)
Change-Id: Ie79c4afa28cddbca4dfb78e5c75da6644612c15c
Mingyao Yang [Thu, 19 May 2016 17:48:40 +0000 (10:48 -0700)]
Revert "Revert "Move rewritten StringFactory call results into dex registers for deopt""
Potential gc points can make the result value stale. We now set the result value
to null proactively once it's moved to shadow frame registers. IsStringInit()
is written in a way that does string comparison instead of requiring method
resolution so that it doesn't have a gc point. Also we don't cache the callee
method during frame unwinding since the method may be rewritten already.
(cherry picked from commit
ffedec510c07cf0f77d0cce51940838f2e630514)
Bug:
28555675
Change-Id: Ic51511a4a0fc84a852d8d907f91e7835f49ac478
Vladimir Marko [Tue, 24 May 2016 15:45:56 +0000 (15:45 +0000)]
Merge "Compile JNI stubs for verify-profile and interpret-only." into nyc-dev
am:
67e44c0aef
* commit '
67e44c0aef679038eda36b6155a8a63c85a521cc':
Compile JNI stubs for verify-profile and interpret-only.
Change-Id: Icf0a7e811270f52230851a5c5d4bc02eca80f3d0
Dimitry Ivanov [Tue, 24 May 2016 15:45:55 +0000 (15:45 +0000)]
Merge "Remove no-op call to android_update_LD_LIBRARY_PATH" into nyc-dev
am:
05f221c84b
* commit '
05f221c84b02580838b980b3605a25ce4e54cee0':
Remove no-op call to android_update_LD_LIBRARY_PATH
Change-Id: I7c3b6f9213878bfffaf43156480740baa18e8625
Vladimir Marko [Tue, 24 May 2016 15:40:04 +0000 (15:40 +0000)]
Merge "Compile JNI stubs for verify-profile and interpret-only." into nyc-dev
Dimitry Ivanov [Tue, 24 May 2016 15:35:58 +0000 (15:35 +0000)]
Merge "Remove no-op call to android_update_LD_LIBRARY_PATH" into nyc-dev
Roland Levillain [Tue, 24 May 2016 12:46:39 +0000 (12:46 +0000)]
Enforce class definition ordering rules in v37 Dex files.
am:
31349988d7
* commit '
31349988d7c44fe453bde9525fd10a371e543c28':
Enforce class definition ordering rules in v37 Dex files.
Change-Id: Ie6a437bc417a3ed30f1040f69b2beb66d3bbc635
Roland Levillain [Wed, 18 May 2016 10:41:33 +0000 (11:41 +0100)]
Enforce class definition ordering rules in v37 Dex files.
These new checks also reject classes extending or
implementing themselves directly or transitively within
a single Dex file.
(cherry picked from commit
621b5eab8eed7746925bca489114d706ad455572)
Bug:
28812524
Bug:
28797012
Bug:
28685551
Bug:
27682580
Change-Id: I51c43f8b4b6a7abaade63682411e61f21767f5d4
Nicolas Geoffray [Tue, 26 Apr 2016 17:30:31 +0000 (18:30 +0100)]
Put boot class loader classes and strings in dex cache of app images.
The reason for b/
28295348 was that an ArtMethod of the boot image was
in the app image dex cache, but the declaring class of that
boot image method was not.
Since objects of boot images don't need fixups, the comparisons for
FixupStrings and FixupResolvedTypes was always false for them.
bug:
28295348
Change-Id: Ida6d42c902692914c302b7fe3d003f73710de6e1
Dimitry Ivanov [Tue, 24 May 2016 00:16:55 +0000 (17:16 -0700)]
Remove no-op call to android_update_LD_LIBRARY_PATH
With linker-namespaces enabled for all target sdk versions
the call to android_update_LD_LIBRARY_PATH is no longer needed.
Bug: http://b/
26040253
Bug: http://b/
27702070
Change-Id: I77c27c10a435e223824e1b69f727d0bc37a26306
Jeff Hao [Mon, 23 May 2016 23:27:02 +0000 (23:27 +0000)]
Merge "Fix oat_writer to use WriteData which updates checksum." into nyc-dev
am:
1d84c20c8c
* commit '
1d84c20c8c7b7d30f23b5e6913e7dfdf79cb8f39':
Fix oat_writer to use WriteData which updates checksum.
Change-Id: Ib24d46812f1f14b6bd35292aa4e30aa2c26ac553
Jeff Hao [Mon, 23 May 2016 23:18:09 +0000 (23:18 +0000)]
Merge "Fix oat_writer to use WriteData which updates checksum." into nyc-dev
Jeff Hao [Mon, 23 May 2016 21:30:44 +0000 (14:30 -0700)]
Fix oat_writer to use WriteData which updates checksum.
OatWriter was using WriteFully in some places instead.
Bug:
28874264
Change-Id: Ibaea4536a7838f49feb98efe9c00a976fb5b2453
Vladimir Marko [Mon, 23 May 2016 14:32:42 +0000 (15:32 +0100)]
Compile JNI stubs for verify-profile and interpret-only.
This is the intended behavior to have a good JNI transition
performance.
Bug:
28902384
Change-Id: Iedb2ca343d66cf422ef2dc0527639e81d6ba8960
Roland Levillain [Mon, 23 May 2016 15:07:29 +0000 (15:07 +0000)]
Do not set property jpda.settings.syncPort in JDWP tests.
am:
135d9f8819
* commit '
135d9f881970d160405a93fbcab8206a2e6d498b':
Do not set property jpda.settings.syncPort in JDWP tests.
Change-Id: Ia49b0bdd2f17da5008a65669aabd17cd02c2b5d1
Roland Levillain [Fri, 20 May 2016 17:16:54 +0000 (18:16 +0100)]
Do not set property jpda.settings.syncPort in JDWP tests.
Let the OS choose the port automatically.
(cherry picked from commit
7235dd15e47d6f4b5e92400269cc206e01c514da)
Bug:
28869570
Change-Id: I79775f9e72f7f8d0f9ec3d68c6f0bdb057ca13ff
Mathieu Chartier [Fri, 20 May 2016 23:27:06 +0000 (23:27 +0000)]
Merge "Only fill methods with 0xFE on debug builds" into nyc-dev
am:
6b2f0b5775
* commit '
6b2f0b5775380de2cb8714f9d2cee91ea4c6d543':
Only fill methods with 0xFE on debug builds
Change-Id: I2deb4002dfeb4c618324cb4dfd2f0876e3425f20
Mathieu Chartier [Fri, 20 May 2016 23:20:00 +0000 (23:20 +0000)]
Merge "Only fill methods with 0xFE on debug builds" into nyc-dev
Mathieu Chartier [Thu, 19 May 2016 17:13:04 +0000 (10:13 -0700)]
Only fill methods with 0xFE on debug builds
The GC scans classes without holding any locks, we can not fill
the methods if it is running. Added a GC critical section to address
this. Fixes random crash when scanning classes' methods.
Only for debug builds to not hurt performance.
Bug:
28699001
Change-Id: If96155eaf3fc0e6df31f57dcf32fbd4063b09345
Andreas Gampe [Thu, 19 May 2016 22:41:01 +0000 (22:41 +0000)]
Merge "ART: Check whether an oat file exists before opening" into nyc-dev
am:
1e8a22fa84
* commit '
1e8a22fa849119aa8ea24b3811e74dea12bdb8c3':
ART: Check whether an oat file exists before opening
Change-Id: If7aa7cb04a827073a840771eae63f6ecbe4a3cd9
Aart Bik [Thu, 19 May 2016 22:41:00 +0000 (22:41 +0000)]
Merge "Do not allow OSR jump while debugging is active." into nyc-dev
am:
8a325a905d
* commit '
8a325a905df6bf8269bc8457bcbc665bf492ee1a':
Do not allow OSR jump while debugging is active.
Change-Id: Ifc8b6b939b0474ffcd74c2c9bce799458b5511ae
Andreas Gampe [Thu, 19 May 2016 22:35:45 +0000 (22:35 +0000)]
Merge "ART: Check whether an oat file exists before opening" into nyc-dev
Aart Bik [Thu, 19 May 2016 22:34:19 +0000 (22:34 +0000)]
Merge "Do not allow OSR jump while debugging is active." into nyc-dev
Aart Bik [Wed, 18 May 2016 22:44:07 +0000 (15:44 -0700)]
Do not allow OSR jump while debugging is active.
Rationale:
This prevents dangerous transitions between interpreter
and osr compiled code while e.g. single stepping through
a method that is becoming hot.
BUG=
28672961
(cherry picked from commit
29bdaeef925f35eed68f3e52d04416daa0a62317)
Change-Id: I7647710dbe794a1b3320a9666d3e3be85fc40ccd
Calin Juravle [Thu, 19 May 2016 19:12:37 +0000 (19:12 +0000)]
Merge "Add missing check for IsShuttingDown in profile saver" into nyc-dev
am:
29173dece8
* commit '
29173dece894749d9e37fd9a93cb911ee36c1b41':
Add missing check for IsShuttingDown in profile saver
Change-Id: Ie5f389bff7e7cf43b3740987d28098d4bf0bfe25
TreeHugger Robot [Thu, 19 May 2016 18:52:34 +0000 (18:52 +0000)]
Merge "Add missing check for IsShuttingDown in profile saver" into nyc-dev
Mathieu Chartier [Thu, 19 May 2016 17:23:31 +0000 (17:23 +0000)]
Merge "Fix profile saver initial wait" into nyc-dev
am:
84c5ad8ea5
* commit '
84c5ad8ea51f8fde8eedddd3dc979dcc1f6e02aa':
Fix profile saver initial wait
Change-Id: I4ec430e720673bf19af856edab13cbd1b3199d96
Calin Juravle [Wed, 18 May 2016 22:49:36 +0000 (15:49 -0700)]
Add missing check for IsShuttingDown in profile saver
Bug:
28814718
Change-Id: I709fc30147047c7a420cd6ff2f0c3b57c54c2021
Mathieu Chartier [Thu, 19 May 2016 17:04:35 +0000 (17:04 +0000)]
Merge "Fix profile saver initial wait" into nyc-dev
Roland Levillain [Thu, 19 May 2016 14:40:58 +0000 (14:40 +0000)]
Merge "Revert "Move rewritten StringFactory call results into dex registers for deopt"" into nyc-dev
am:
79d123fae7
* commit '
79d123fae76a8c03983a37997f2e2039f7e2bc96':
Revert "Move rewritten StringFactory call results into dex registers for deopt"
Change-Id: I5782a3c70910e9cb7644059288c50b9e34c45d8c
TreeHugger Robot [Thu, 19 May 2016 14:30:18 +0000 (14:30 +0000)]
Merge "Revert "Move rewritten StringFactory call results into dex registers for deopt"" into nyc-dev
Roland Levillain [Thu, 19 May 2016 13:00:55 +0000 (13:00 +0000)]
Revert "Move rewritten StringFactory call results into dex registers for deopt"
This reverts commit
0ea451b4d74e8ddc28ea5ce87ef6d21113a3cdd5.
597-deopt-new-string is failing.
Bug:
28846692
Bug:
28555675
Change-Id: I8274e5ae1d065dedc562132882b39e7f3fe5baf4
Andreas Gampe [Thu, 19 May 2016 05:11:44 +0000 (05:11 +0000)]
ART: Fix Mac build
am:
17fc4bda79
* commit '
17fc4bda7987654709dcc24ea5a7bd6a859e0966':
ART: Fix Mac build
Change-Id: Ie955a9907abcb1a94b0c6106bb573d9b42288f6c
Andreas Gampe [Thu, 19 May 2016 04:27:00 +0000 (21:27 -0700)]
ART: Fix Mac build
Follow-up to
9821cceebf077cb747aed543582b3d740a03ea7f.
Bug:
28801010
Change-Id: I0bbdf83d64ea81e56824aa19bfae3baa341a2b73
Andreas Gampe [Thu, 19 May 2016 04:10:42 +0000 (21:10 -0700)]
ART: Check whether an oat file exists before opening
The two-stage process of dlopen and our own loader is expensive.
Considering that the OatFileAssistant needs to check two locations,
one of which is unlikely to have a file for the common case of apps
installed in data, do a file existence check before attempting to
load the file.
Remove an unused variable.
Saves about 0.25ms on a N6P.
Bug:
28801010
Change-Id: I0aff9c276c0f539723f8a92663f14ce72160c44d
Andreas Gampe [Thu, 19 May 2016 03:56:35 +0000 (03:56 +0000)]
Merge "ART: Optimize PreSetup pass for oat-file open" into nyc-dev
am:
b938d19c29
* commit '
b938d19c29aa055118a35885c2411824fd3e20a7':
ART: Optimize PreSetup pass for oat-file open
Change-Id: I1452ccdd5efb249ac2ad23118547f7afaf48ba4e
TreeHugger Robot [Thu, 19 May 2016 03:51:04 +0000 (03:51 +0000)]
Merge "ART: Optimize PreSetup pass for oat-file open" into nyc-dev
Mathieu Chartier [Thu, 19 May 2016 02:51:23 +0000 (19:51 -0700)]
Fix profile saver initial wait
Was using TimedWait for the initial wait, but this can return
early if the process receives any interrupt (due to futex). The
solution is to use a wait loop. If the wait returned early, not
enough classes were including in the profile. This negatively
affected application launch times in some scenarios.
Sample wait times before the change:
Waited 2.002s
Waited 97.808ms
Waited 182.676ms
Waited 2.000s
Waited 1.678s
Bug:
27688727
Change-Id: Ia84878e1278d70b4cc239374a2107d0f111dbdc5
Mingyao Yang [Wed, 18 May 2016 20:34:22 +0000 (20:34 +0000)]
Move rewritten StringFactory call results into dex registers for deopt
am:
0ea451b4d7
* commit '
0ea451b4d74e8ddc28ea5ce87ef6d21113a3cdd5':
Move rewritten StringFactory call results into dex registers for deopt
Change-Id: Ib1dbec5abc54d74cc6c6dc118b997299c72b69ba
Andreas Gampe [Wed, 18 May 2016 20:09:54 +0000 (13:09 -0700)]
ART: Optimize PreSetup pass for oat-file open
The PreSetup pass for opening an oatfile with dlopen parses all
shared objects and tries to retrieve the corresponding mem map
(so as to have a fake MemMap to reserve the space for any scanning
operations and so on). Optimistically optimize this pass by counting
the number of shared objects before the dlopen, and skipping as
many afterwards.
This saves about half a millisecond on an N6P.
Bug:
28801010
Change-Id: I70156f9875e89c5af3c9e36e8f01c5662e3f736e
Mingyao Yang [Mon, 16 May 2016 18:01:49 +0000 (11:01 -0700)]
Move rewritten StringFactory call results into dex registers for deopt
Bug:
28555675
(cherry picked from commit
8ca33bf04060fadd5b35fa93fa56547c62fe52e7)
Change-Id: I9236df283f2e83ca5dcde01f73dc0522d745cd59
Roland Levillain [Wed, 18 May 2016 14:57:42 +0000 (14:57 +0000)]
Merge "Catch classes inheriting from themselves in the class linker." into nyc-dev
am:
3fdf31d101
* commit '
3fdf31d101819d4e0200e80d1692ffcbe785af90':
Catch classes inheriting from themselves in the class linker.
Change-Id: Ied64a7c6cd4eeb75eae59b46bd55a23720d44510
Roland Levillain [Wed, 18 May 2016 14:48:45 +0000 (14:48 +0000)]
Merge "Catch classes inheriting from themselves in the class linker." into nyc-dev
Roland Levillain [Wed, 18 May 2016 11:25:38 +0000 (12:25 +0100)]
Catch classes inheriting from themselves in the class linker.
Bug:
28685551
Bug:
27682580
Bug:
28830038
Change-Id: If568013bf3c82c1df9b282522712d9af5ca5945d
Andreas Gampe [Wed, 18 May 2016 00:48:38 +0000 (00:48 +0000)]
ART: Fix systrace monitor logging
am:
825ab1c3f4
* commit '
825ab1c3f44fd84e5967f023c2dd8d36c6906f08':
ART: Fix systrace monitor logging
Change-Id: Ica2a4c61591c8270a8caf10a6457090b65b58bd4
Mingyao Yang [Tue, 10 May 2016 21:30:41 +0000 (14:30 -0700)]
Fix an assert during jdwp debugging.
When debugger attaches, we patch entry points of methods in framework code.
During that process, it's possible that some method's declaring class isn't
resolved yet. We need to relax one assert for that case.
Bug:
28630805
(cherry picked from commit
3fd448a8b7903b00fceaed5853306e2d7eb31c72)
Change-Id: I59fd488ad75417a64b52321677ffcac6ccdc5ce1
Andreas Gampe [Tue, 17 May 2016 17:13:10 +0000 (10:13 -0700)]
ART: Fix systrace monitor logging
Thinlock unlocking was incorrectly unconditionally ending a block.
Bug:
28423466
Change-Id: Ifaebd9e959041e157e292d4cba05675a37e9c700
Nicolas Geoffray [Tue, 17 May 2016 01:51:22 +0000 (01:51 +0000)]
Merge "Revert "Reject classes inheriting from themselves directly or transitively."" into nyc-dev
am:
cd38fb2099
* commit '
cd38fb20995d8fa7fc6979335d038d7eaac24745':
Revert "Reject classes inheriting from themselves directly or transitively."
Change-Id: I6696ac6463c94b317b0696d94f1c23bed901b639
TreeHugger Robot [Tue, 17 May 2016 01:46:56 +0000 (01:46 +0000)]
Merge "Revert "Reject classes inheriting from themselves directly or transitively."" into nyc-dev
Mathieu Chartier [Tue, 17 May 2016 01:23:51 +0000 (01:23 +0000)]
Merge "Visit IMT of all classes during image writing" into nyc-dev
am:
1b95ffd141
* commit '
1b95ffd141817ffda06fa25ddbef5b896760f68a':
Visit IMT of all classes during image writing
Change-Id: I4585c0cd2a5cebff87982f7c058b071cda8414fb
Mathieu Chartier [Tue, 17 May 2016 01:21:19 +0000 (01:21 +0000)]
Merge "Visit IMT of all classes during image writing" into nyc-dev
Nicolas Geoffray [Tue, 17 May 2016 00:12:11 +0000 (00:12 +0000)]
Revert "Reject classes inheriting from themselves directly or transitively."
Bug:
28685551
Bug:
27682580
Bug:
28797012
This reverts commit
9de98ef4ad4311e85d124099b0b36ab81171ea20.
Change-Id: Ic4a21194ad602f4897f088a66672f3dd9f30f607
Mathieu Chartier [Mon, 16 May 2016 21:58:01 +0000 (14:58 -0700)]
Visit IMT of all classes during image writing
We still need to visit the IMT for classes that does not have any
methods. It is required to visit the IMT of every class to assign
image offsets for the conflict table methods.
Added regression test.
Bug:
28707801
Change-Id: I1cd21f20e1e3c606ecfe8cbabe1045cadd86f268
Mingyao Yang [Mon, 16 May 2016 23:19:13 +0000 (23:19 +0000)]
Merge "Fix assert failure in interpreter after deoptimization." into nyc-dev
am:
d2451e48d3
* commit '
d2451e48d36cbfb9008795e3817e317e26942c7d':
Fix assert failure in interpreter after deoptimization.
Change-Id: I68ed38812a3f47b80589fe97e602c5a75f88abb8
Mingyao Yang [Mon, 16 May 2016 23:15:03 +0000 (23:15 +0000)]
Merge "Fix assert failure in interpreter after deoptimization." into nyc-dev
Calin Juravle [Mon, 16 May 2016 23:05:00 +0000 (23:05 +0000)]
Adjust ProfileSaver strategy
am:
5fbb0fe062
* commit '
5fbb0fe0625a1f76aa33cd78ccf1a17b00d8f6d1':
Adjust ProfileSaver strategy
Change-Id: I83425da1869af646b713769fd539c9b93e21a7d1
Calin Juravle [Fri, 29 Apr 2016 15:44:11 +0000 (16:44 +0100)]
Adjust ProfileSaver strategy
Change to a notification based strategy (instead of polling):
- the JIT notifies the ProfileSaver everytime it attempts a compilation
or generate (in a task) a ProfileInfo object for the method
- once a certain number of hot methods notification are received,
ProfileSaver wakes up the thread to do the analysis
- a wake up does not equal to I/O since the during processing we might
realized that's actually not enough new data.
- ProfileSaver throtles the request and ensures it doesn't do the
processing more often than kMinSavePeriodNs.
The new strategy avoids waking the thread unnecessary during extended
idle periods when we don't JIT.
Bug:
26815940
Change-Id: I24cb15daead5c5a5395ae6f5f79549e39e2f3011
Jeff Hao [Mon, 16 May 2016 17:21:36 +0000 (17:21 +0000)]
Merge "Make quick frames of proxy methods visited if they\'re constructors." into nyc-dev
am:
04f511b82d
* commit '
04f511b82dd06e91b443e17b1654f5d0e14473d8':
Make quick frames of proxy methods visited if they're constructors.
Change-Id: I3e95c27a6441c70317110ce9c52756ab5cfb8fff