OSDN Git Service
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
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
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
Calin Juravle [Fri, 29 Apr 2016 11:19:58 +0000 (11:19 +0000)]
Merge "Fix how the ProfileSaver thread attaches to the runtime." into nyc-dev
am:
f59a7fc673
* commit '
f59a7fc673abf8d4cbeb3910b8e99621da726dff':
Fix how the ProfileSaver thread attaches to the runtime.
Change-Id: I394458e51e21063fd78965ba7ed15afabdd21470
Calin Juravle [Fri, 29 Apr 2016 11:15:33 +0000 (11:15 +0000)]
Merge "Fix how the ProfileSaver thread attaches to the runtime." into nyc-dev
Calin Juravle [Thu, 28 Apr 2016 11:59:33 +0000 (12:59 +0100)]
Fix how the ProfileSaver thread attaches to the runtime.
If the runtime is shutting down we can't attach new threads. In this
case it is expected that Runtime::Attach returns nullptr.
Also, lower the serverity of the log to warning so that it does not
show up in the run-tests.
Bug:
28435649
Change-Id: I208bcd6f0f7e35ae6471e263dee00d3ab68b3b8f
Andreas Gampe [Thu, 28 Apr 2016 21:56:54 +0000 (14:56 -0700)]
ART: Disambiguate access-checks mode from lock-counting
Lock-counting (when structural locking verification failed) is a
special sub-mode of access-checks and must be disambiguated, because
we currently use access-checks mode class-wide when at least one
method soft-fails, but do not stop the compiler/JIT to compile
the "working" methods. So we may end up in the access-checks
interpreter for a working method through deopt without knowing
which locks are already held.
Bug:
28351535
Change-Id: I083032f064d88df8f8f0611ad8b57d1b39cd09fb
Mathieu Chartier [Thu, 28 Apr 2016 22:35:40 +0000 (22:35 +0000)]
Revert "Revert "Write conflict tables in image""
am:
cdca476bf3
* commit '
cdca476bf3394ce9d97a369e84e701b427009318':
Revert "Revert "Write conflict tables in image""
Change-Id: I77c230734995ba099c2ef6b95893df7fb796fa71
Mathieu Chartier [Thu, 28 Apr 2016 16:44:54 +0000 (09:44 -0700)]
Revert "Revert "Write conflict tables in image""
Added test.
Bug:
27906566
This reverts commit
8e2478d23e89a7022c93ddc608dcbba7b29b91e6.
Change-Id: I0894f5f7cd11af29ed9d0345b51f527fc8a41d19
Jeff Hao [Fri, 22 Apr 2016 21:00:06 +0000 (14:00 -0700)]
Add ability to see if a dex file is backed by an oat file.
Native support for new DexFile.isBackedByOatFile.
Part of a multi-project change.
Bug:
26880306
(cherry-picked from commit
93a66cc779898d46c620e5d9c8bc71e2a71f6610)
Change-Id: I15e8ec44a216b13e494affd2fd3ff5f66fa79597
Calin Juravle [Thu, 28 Apr 2016 15:37:55 +0000 (15:37 +0000)]
Merge "Fix -Xint and -Xusejit interaction" into nyc-dev
am:
ba20abc
* commit '
ba20abcd1bf567bac34b82794c3630a0ca81be3d':
Fix -Xint and -Xusejit interaction
Change-Id: I5f78ca2eae24dde874621ef750e864a7e6da3681
Junmo Park [Thu, 28 Apr 2016 15:37:55 +0000 (15:37 +0000)]
Merge "ART: add exynos-m1 to a53 #835769 & #843419 erratum exception list" into nyc-dev
am:
8189ef7
* commit '
8189ef738f3bec5f0feb382b075956a6b337c5d7':
ART: add exynos-m1 to a53 #835769 & #843419 erratum exception list
Change-Id: Ice62dbc83ab1f2a332bb83be97e26a63b3853554
Calin Juravle [Thu, 28 Apr 2016 15:32:33 +0000 (15:32 +0000)]
Merge "Fix -Xint and -Xusejit interaction" into nyc-dev
Vladimir Marko [Thu, 28 Apr 2016 15:20:32 +0000 (15:20 +0000)]
Merge "ART: add exynos-m1 to a53 #835769 & #843419 erratum exception list" into nyc-dev
Nicolas Geoffray [Thu, 28 Apr 2016 14:27:20 +0000 (14:27 +0000)]
Merge "Decrease transition weight." into nyc-dev
am:
2bbd98c
* commit '
2bbd98c8472b76c4f140035eb2392c12ef073ee4':
Decrease transition weight.
Change-Id: Ieb6f01612484e766b6d925e0aa4641f88d2fe8c5
TreeHugger Robot [Thu, 28 Apr 2016 14:20:59 +0000 (14:20 +0000)]
Merge "Decrease transition weight." into nyc-dev
Calin Juravle [Wed, 27 Apr 2016 17:50:45 +0000 (18:50 +0100)]
Fix -Xint and -Xusejit interaction
- don't allow interpret and jit compilation at the same time
- make sure we -Xsaveprofileinfo works with -Xint.
Bug:
27916886
Change-Id: Icab85e5b6f576f82374d5f88145cc81595afce37
Junmo Park [Wed, 27 Apr 2016 07:51:50 +0000 (16:51 +0900)]
ART: add exynos-m1 to a53 #835769 & #843419 erratum exception list
Exynos-M1 is custom-designed 64-bit ARM CPU and does not need this A53
erratum handling.
Bug:
28412250
Signed-off-by: Junmo Park <junmoz.park@samsung.com>
(cherry picked from commit
2bd7d2d6d92daa796ee33e70bb788d3dae1f2fc9)
Change-Id: Id460e4e98baafeed1cf3540cec754b30044cda11
Nicolas Geoffray [Thu, 28 Apr 2016 12:56:04 +0000 (13:56 +0100)]
Decrease transition weight.
bug:
27865109
Change-Id: I551040e61f36fc675c0f5d1c3907c690112a84be
Nicolas Geoffray [Thu, 28 Apr 2016 11:11:28 +0000 (11:11 +0000)]
Forbid HDeoptimize instructions in OSR methods.
am:
19b5021
* commit '
19b5021a49285627485675ef31276b8194269600':
Forbid HDeoptimize instructions in OSR methods.
Change-Id: If21cd185afb9a86e2fe2c4e10decbf9a43d81e5d
Nicolas Geoffray [Fri, 22 Apr 2016 12:16:14 +0000 (13:16 +0100)]
Forbid HDeoptimize instructions in OSR methods.
Otherwise dominated instructions will assume something that
isn't necessarily correct if coming from the interpreter.
bug:
28335959
bug:
28249238
bug:
28348878
bug:
28080135
Contains fix from https://android-review.googlesource.com/#/c/220661/.
(cherry picked from commit
93a18c5d4160f632ecdb92af099574e9c7098c49)
Change-Id: I86c3f9340077caa0a3e3db896e0519e7d38d91a0
David Brazdil [Thu, 28 Apr 2016 08:29:31 +0000 (08:29 +0000)]
Merge "ART: Disable back edge uses for irreducible loops" into nyc-dev
am:
d1a2b02
* commit '
d1a2b026f8379f47151b3bba147c11dc10d77a4d':
ART: Disable back edge uses for irreducible loops
Change-Id: I018d38d35fb4a4f63cff9b9232a377e1afe8eccd
David Brazdil [Thu, 28 Apr 2016 08:23:15 +0000 (08:23 +0000)]
Merge "ART: Disable back edge uses for irreducible loops" into nyc-dev
Dimitry Ivanov [Wed, 27 Apr 2016 23:55:32 +0000 (23:55 +0000)]
Merge "Initialize native loader on JNI_CreateJavaVM" into nyc-dev
am:
38fb644
* commit '
38fb6446e195f1ab8dfd8277fdffd83dc4965890':
Initialize native loader on JNI_CreateJavaVM
Change-Id: If374dcacf4e60fbbd8243056e1cf4ad8a5467419
Dimitry Ivanov [Wed, 27 Apr 2016 23:37:10 +0000 (23:37 +0000)]
Merge "Initialize native loader on JNI_CreateJavaVM" into nyc-dev
Mathieu Chartier [Wed, 27 Apr 2016 21:31:30 +0000 (21:31 +0000)]
Merge "Revert "Write conflict tables in image"" into nyc-dev
am:
2b23735
* commit '
2b23735e23e18e1c96f02b1937068c6e6baefa6a':
Revert "Write conflict tables in image"
Change-Id: I53aae313185812ddedcbfd5480776bf6de1644a5
Mathieu Chartier [Wed, 27 Apr 2016 21:20:06 +0000 (21:20 +0000)]
Merge "Revert "Write conflict tables in image"" into nyc-dev
Mathieu Chartier [Wed, 27 Apr 2016 21:03:42 +0000 (21:03 +0000)]
Revert "Write conflict tables in image"
Some strange issues on angler.
This reverts commit
cda9386add68d94697449c6cb08b356747e55c21.
Change-Id: Iba3a8bac6ce40ee16d83163823356951fecb6787
Dimitry Ivanov [Thu, 21 Apr 2016 23:01:24 +0000 (16:01 -0700)]
Initialize native loader on JNI_CreateJavaVM
We need to initialize native loader in order to
be able to use JNI from any VM, be it dalvikvm
or VM started by zygote.
Bug: http://b/
28082914
Bug: http://b/
28320913
Change-Id: Ice9a33a736d7c6ec3af9a5a0fb25a378ad9d2c59
(cherry picked from commit
041169f7ca703d560a819e7a568170731d4ecdd6)
Jeff Hao [Wed, 27 Apr 2016 20:10:05 +0000 (20:10 +0000)]
Merge "Support to pass <uses-library> option through to dex2oat." into nyc-dev
am:
9135aa0
* commit '
9135aa0f1ee8e3c6693484e4bd5e0c6d6c7d4050':
Support to pass <uses-library> option through to dex2oat.
Change-Id: I09fe9117b8c09ee2959a5dac229387c959e29609
Jeff Hao [Wed, 27 Apr 2016 19:54:02 +0000 (19:54 +0000)]
Merge "Support to pass <uses-library> option through to dex2oat." into nyc-dev
Mathieu Chartier [Wed, 27 Apr 2016 18:37:25 +0000 (18:37 +0000)]
Merge "Write conflict tables in image" into nyc-dev
am:
b125eaf
* commit '
b125eaf5edf7587f50bab97b7baa480947904496':
Write conflict tables in image
Change-Id: I7cebdfc1af360cf22eefabbd6007cef24b691ae5
Mathieu Chartier [Wed, 27 Apr 2016 18:29:20 +0000 (18:29 +0000)]
Merge "Write conflict tables in image" into nyc-dev
Jeff Hao [Wed, 27 Apr 2016 18:07:41 +0000 (11:07 -0700)]
Support to pass <uses-library> option through to dex2oat.
This change takes an app's shared libraries specified by <uses-library>
and passes it through to dex2oat to be used during compilation.
Part of a multi-project change.
Includes fix from
a6d46161aea07ebd1cbd6ab78b2b323f940e9c1e
Bug:
26880306
(cherry-picked from commit
26e8a2f150cd7f7195a10650ab8a5b6fa5014bc8)
Change-Id: I6bfc13693dbb835ca52fed2d03ec5346d43ec5d9
Calin Juravle [Wed, 27 Apr 2016 17:16:20 +0000 (17:16 +0000)]
Add command line option for jit invoke transition weight
am:
2a894f4
* commit '
2a894f433d126d6e8694c6235e29e66ef45a31d9':
Add command line option for jit invoke transition weight
Change-Id: I7e51b636338d979ca000cb400d7196cdeade0846
Mathieu Chartier [Thu, 14 Apr 2016 17:49:19 +0000 (10:49 -0700)]
Write conflict tables in image
Add image sections for runtime methods and conflict tables. This
makes it that we do not need to fake up a length prefixed array
for runtime methods.
Reduces .art private dirty and PSS.
System wide .art PSS goes from 32.5MB to 30.5MB after system boot.
Business card .art private dirty goes from 588K to 504K.
Increases image size by ~100K.
Bug:
27906566
Change-Id: I38cbe3150c3eeb385b8cad7cf93614e3980f4162
David Brazdil [Wed, 27 Apr 2016 14:33:22 +0000 (15:33 +0100)]
ART: Disable back edge uses for irreducible loops
Algorithm adding back edge uses in liveness analysis makes assumptions
about the linear order which are not met in the presence of irreducible
loops. Disable back edges uses when the graph contains them.
This partially reverts CL I63632e8819ea3644d5c6fdfea00b66128bf22c24.
Bug:
28252747
Bug:
27615840
Bug:
27624868
Change-Id: I7ecdde0ed8a8831f7513b8e43cf7d84599b830a7
(cherry picked from commit
07b35109c64fc449a14723b259df17806fd0b16e)
Calin Juravle [Wed, 27 Apr 2016 15:33:06 +0000 (15:33 +0000)]
Split profile recording from jit compilation
am:
e5de54c
* commit '
e5de54cfab5f14ba0b8ff25d8d60901c7021943f':
Split profile recording from jit compilation
Change-Id: I50f974ab52c5bc27ddb3a72aae23e260a7877d24
Calin Juravle [Wed, 27 Apr 2016 13:14:58 +0000 (14:14 +0100)]
Add command line option for jit invoke transition weight
Bug:
27865109
Change-Id: If5eb53714e2c92397ad3e45bc0b4facb84329bc2
Calin Juravle [Wed, 20 Apr 2016 13:22:09 +0000 (14:22 +0100)]
Split profile recording from jit compilation
We still use ProfileInfo objects to record profile information. That
gives us the flexibility to add the inline caches in the future and the
convenience of the already implemented GC.
If UseJIT is false and SaveProfilingInfo true, we will only record the
ProfileInfo and never launch compilation tasks.
Bug:
27916886
Change-Id: I6e4768dc5d58f2f85f947b276b4244aa11ce3fca
Vladimir Marko [Wed, 27 Apr 2016 09:13:16 +0000 (09:13 +0000)]
Merge "Thumb2: Reduce memory used for fixup dependencies." into nyc-dev
am:
43c8e87
* commit '
43c8e872578cf27efcc0edce70119164e313f648':
Thumb2: Reduce memory used for fixup dependencies.
Change-Id: Iee0405a346b4bac27ee1bbae0ce5d5ff52ea7fdd
Vladimir Marko [Wed, 27 Apr 2016 09:04:21 +0000 (09:04 +0000)]
Merge "Thumb2: Reduce memory used for fixup dependencies." into nyc-dev
Richard Uhler [Tue, 26 Apr 2016 20:28:59 +0000 (13:28 -0700)]
Deduplicate simple roots in hprof.
Bug:
28311991
Change-Id: Id5ee7d7753016fafdec0c8f5cda5b1b052fa9ad1
Aart Bik [Tue, 26 Apr 2016 19:59:11 +0000 (19:59 +0000)]
Merge "Test component type for errors too. With regression test." into nyc-dev
am:
5a13993
* commit '
5a139938b115844fa2b81625d9a93927080f068a':
Test component type for errors too. With regression test.
Change-Id: I90389e3612b6f2799809ad64f021cae44bc8203a
Aart Bik [Tue, 26 Apr 2016 19:55:48 +0000 (19:55 +0000)]
Merge "Test component type for errors too. With regression test." into nyc-dev
Vladimir Marko [Tue, 26 Apr 2016 17:58:35 +0000 (17:58 +0000)]
Reduce memory lost by ArenaAllocator for large allocations.
am:
46ea014
* commit '
46ea0147b49e3539492be160e1631e73f58d2c3c':
Reduce memory lost by ArenaAllocator for large allocations.
Change-Id: Id16f26be313f06b7b0dac459019d889bf60b704e
Aart Bik [Mon, 25 Apr 2016 19:51:37 +0000 (12:51 -0700)]
Test component type for errors too.
With regression test.
Rationale:
Moved erroneous check in convenience method, so we
put all the same logic in one place. When testing
for erroneous T[], check both the array type
as well at the component type T for errors
(it is possible T[] is not marked erroneous
even though T is eventually).
BUG=
28358598
(cherry picked from commit
f417ff44d1eb111854d7a213f106912b3dd9e3d4)
Change-Id: Ieba66aa4b55d8e7ebddf200239c7e4095dfd4678
Vladimir Marko [Mon, 25 Apr 2016 12:43:50 +0000 (12:43 +0000)]
Thumb2: Reduce memory used for fixup dependencies.
Mark fixups for far backward branches as 32-bit from the
beginning and ignore their dependencies since they cannot
be expanded anymore. This reduces the memory used by the
fixup_dependents_ when compiling methods with a lot of
slow paths.
Bug:
28256882
This is a cherry-pick of the fixed revert-revert
Revert "Revert "Thumb2: Reduce memory used for fixup dependencies.""
(cherry picked from commit
a64f249add4a0a9e93aa6f246045ca79f5916dcd)
Change-Id: I9ca766b73d9f5a1da5dc10ad070145ac88fbcd53
Vladimir Marko [Fri, 22 Apr 2016 17:07:13 +0000 (18:07 +0100)]
Reduce memory lost by ArenaAllocator for large allocations.
When allocating from a new arena, check if the old arena has
more remaining space than the new one after the current
allocation. If so, keep using the old arena to reduce the
amount of "lost" arena memory. This can happen when we try
to allocate more than half the default arena size. If the
allocation exceeds the default arena size, it's very likely
to happen even though the ArenaPool could still provide some
much larger previously allocated arena.
Also avoid artithmetic overflow when checking if the
request can be satisfied from the current arena.
And abort immediately if calloc() fails.
Bug:
28173563
Bug:
28256882
In addition to the initial CL
(cherry picked from commit
3e0e7173c0cdfc57dba39fe781e30d187d50fa9c)
this contains a squashed subsequent fix
Fix valgrind tests: mark allocated space as defined.
(cherry picked from commit
3f84f2cb3cadc25d75e1e3e2c1bc26c1a671f336)
Change-Id: Id80d5601874e8e28d930c0dd47a51c73c4810094
Andreas Gampe [Tue, 26 Apr 2016 00:36:51 +0000 (00:36 +0000)]
Merge "ART: Change x86 from modify_ldt to set_thread_data" into nyc-dev
am:
ff2d53a
* commit '
ff2d53a16d844054874e41a98e2984e2818ee210':
ART: Change x86 from modify_ldt to set_thread_data
Change-Id: I2b4b14d890e39577094960e02111c9a79e1e1a4a
Andreas Gampe [Tue, 26 Apr 2016 00:32:38 +0000 (00:32 +0000)]
Merge "ART: Change x86 from modify_ldt to set_thread_data" into nyc-dev
Alex Light [Mon, 25 Apr 2016 22:02:40 +0000 (22:02 +0000)]
Merge "Make a fake libart for misbehaving apps." into nyc-dev
am:
4825dfa
* commit '
4825dfab942a92c05519475d4abb77734e26c47c':
Make a fake libart for misbehaving apps.
Change-Id: I2504d1c0c9682fbc779aaec56d6d6a4197c01ec3
TreeHugger Robot [Mon, 25 Apr 2016 21:53:29 +0000 (21:53 +0000)]
Merge "Make a fake libart for misbehaving apps." into nyc-dev
Nicolas Geoffray [Mon, 25 Apr 2016 21:14:20 +0000 (21:14 +0000)]
Make sure the referring class is in the dex cache.
am:
21aa4d4
* commit '
21aa4d405cbe3d4612e3f50ebb7610cc0b3503a2':
Make sure the referring class is in the dex cache.
Change-Id: Ie0edf6d76bbb43b7b02aabd8283f441135343c2c
Nicolas Geoffray [Mon, 25 Apr 2016 13:58:06 +0000 (14:58 +0100)]
Make sure the referring class is in the dex cache.
The method CanAccessResolvedMethod expects the referring class
in the dex file is already in the dex cache, which is true during AOT,
but not necessarilly during JIT.
bug:
28295348
(cherry picked from commit
393fdb8b4822d80bbbd6347b088e28c03a72289e)
Change-Id: I9665d377070278639eb4b5a6eeced85d656e6cb6
David Brazdil [Mon, 25 Apr 2016 18:40:45 +0000 (18:40 +0000)]
ART: Fix ROR Checker test
am:
885c684
* commit '
885c68457dbd3a4b244aa4a51d319a759e6a3587':
ART: Fix ROR Checker test
Change-Id: I16e8876148f375a7ec678d5f14ecaf176164442a
David Brazdil [Mon, 25 Apr 2016 16:47:43 +0000 (17:47 +0100)]
ART: Fix ROR Checker test
Recent update of Jack started encoding "x << -2" as "x << 30". Update
the corresponding Checker test to accept both values.
Bug:
28244190
Change-Id: I65833afa416a7eb8fa05d381cff547a58dcc0bea
(cherry picked from commit
22c1f543ed75114d8ee5219598ba766e7dc674c0)
Nicolas Geoffray [Mon, 25 Apr 2016 15:52:28 +0000 (15:52 +0000)]
Add flag to ArtMethod to skip compilation.
am:
62e631a
* commit '
62e631a678ef18c80f37862a2dc74004954a8502':
Add flag to ArtMethod to skip compilation.
Change-Id: Ia591fb85f788b21c30d6dad81d84d47b0aabc527
Andreas Gampe [Tue, 16 Feb 2016 23:58:20 +0000 (15:58 -0800)]
ART: Change x86 from modify_ldt to set_thread_data
Do not use modify_ldt, so it can be deprecated.
Bug:
27199066
Change-Id: Ib5fb40d4f720b697d786c5c971638fd57681d308
(cherry picked from commit
8a2c62c62b3398afbac00b1cb8772ae5b53b62a3)
Nicolas Geoffray [Wed, 20 Apr 2016 15:27:53 +0000 (16:27 +0100)]
Add flag to ArtMethod to skip compilation.
To ensure even the JIT will not try to compile methods with
soft failures a runtime_throw.
bug:
28293819
bug:
28313047
(cherry picked from commit
250a378d5a2152662e0fa820f2b38f794ddd3596)
Change-Id: Ic6d019bc2dd24e35e1377a6c3f8530348c1049df
David Brazdil [Mon, 25 Apr 2016 08:28:02 +0000 (08:28 +0000)]
Merge "ART: Naive NullCheck elimination in InstructionBuilder" into nyc-dev
am:
ac4d518
* commit '
ac4d51883f2a87c31945b79e09762937c4d12331':
ART: Naive NullCheck elimination in InstructionBuilder
Change-Id: Ie1274c6af9dd54928f31f343fc50479d35672088
David Brazdil [Mon, 25 Apr 2016 08:22:00 +0000 (08:22 +0000)]
Merge "ART: Naive NullCheck elimination in InstructionBuilder" into nyc-dev