OSDN Git Service
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
Vladimir Marko [Fri, 6 May 2016 07:58:53 +0000 (07:58 +0000)]
Merge "Fix index checks for error strings in DexFileVerifier."
David Sehr [Fri, 6 May 2016 04:56:05 +0000 (04:56 +0000)]
Merge "Add braces per the coding convention"
Mathieu Chartier [Fri, 6 May 2016 02:59:01 +0000 (02:59 +0000)]
Merge "Remove double unloading hack"
Mathieu Chartier [Fri, 6 May 2016 02:55:03 +0000 (19:55 -0700)]
Remove double unloading hack
No longer required since we unload native libraries.
Bug:
28406866
Change-Id: I9ae39b4f2ef0bf6d70c5b7df3e275d36b01ca472
David Sehr [Thu, 5 May 2016 20:39:43 +0000 (13:39 -0700)]
Add braces per the coding convention
Bug:
28599906
Change-Id: Ie2cb4f6865b7756ceaf65c400a4090fc9423232a
(cherry picked from commit
64b0f0bf5b03fc53282f61c1d2d2dc6b8c7e7a3e)
Mathieu Chartier [Fri, 6 May 2016 00:18:13 +0000 (00:18 +0000)]
Merge "Fix libarttest to be non debug"
Mathieu Chartier [Thu, 5 May 2016 22:31:12 +0000 (15:31 -0700)]
Fix libarttest to be non debug
Previously both libarttest and libarttestd had debug enabled. This
made it hard to know which one was loaded (couldn't look at
kIsDebugBuild).
Fixes test 136 with ART_TEST_RUN_TEST_NDEBUG configuration.
Bug:
28406866
Change-Id: I92983f71374b211f96f5b346fec326ea8543f876
David Sehr [Thu, 5 May 2016 22:35:55 +0000 (22:35 +0000)]
Merge "Limit profman log spam with time threshold"
Mingyao Yang [Thu, 5 May 2016 20:52:29 +0000 (20:52 +0000)]
Merge "Fix assert failure in interpreter after deoptimization."
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
(cherry picked from commit
305ed710a8ea732e59bdc782121dea3389adc357)
Mathieu Chartier [Thu, 5 May 2016 18:56:14 +0000 (18:56 +0000)]
Merge changes I8fab78bc,I8aae0d75
* changes:
Change test 136 to use dlopen
Revert "Revert "(dl)Close native libraries on unload""
Mingyao Yang [Thu, 28 Apr 2016 23:23:01 +0000 (16:23 -0700)]
Fix assert failure in interpreter after deoptimization.
There is code that does
new String(chararr, 0, chararr_count);
which under debuggable turns into a call into pNewEmptyString() plus a
call into pNewStringFromChars_CII().
Even though we currently don't patch return pc in a runtime method,
calling into pNewEmptyString() is special since it's hacked such
that it's acting as if the caller calls into the java method
StringFactory.newEmptyString() directly. So deoptimization can now
happen at the NewEmptyString site and the assert is triggered since
it's a new instance instead of an invoke instruction.
The fix relaxes the assert to allow the special case.
Bug:
28555675
Change-Id: Idbb159b5aa450df2344cd93ae74fef5f55bdc534
Mathieu Chartier [Thu, 5 May 2016 18:09:58 +0000 (11:09 -0700)]
Change test 136 to use dlopen
dlopen self to prevent the native libary being closed from
DestroyJavaVM. We need this since it is the library currently
executing code.
Bug:
28406866
Change-Id: I8fab78bc7c27f5c03a6670d20d5cf8e44295d5e2
Mathieu Chartier [Thu, 5 May 2016 18:09:37 +0000 (11:09 -0700)]
Revert "Revert "(dl)Close native libraries on unload""
This reverts commit
0cf0dbd5f8ae5a1ccd51b45c4d692eedb3ff8a2b.
Richard Uhler [Thu, 5 May 2016 15:26:21 +0000 (15:26 +0000)]
Merge "Remove -XOatFileManagerCompilerFilter argument."
Vladimir Marko [Tue, 3 May 2016 15:31:52 +0000 (16:31 +0100)]
Fix index checks for error strings in DexFileVerifier.
Bug:
28552165
Change-Id: I5b352536b746ec5bd48daa5c693d62d9fbc0b21c
Roland Levillain [Thu, 5 May 2016 10:54:34 +0000 (10:54 +0000)]
Merge "Patch for compiling art to run on linux target"
Nicolas Geoffray [Thu, 5 May 2016 08:02:38 +0000 (08:02 +0000)]
Merge "Revert "(dl)Close native libraries on unload""
Nicolas Geoffray [Thu, 5 May 2016 08:02:17 +0000 (08:02 +0000)]
Revert "(dl)Close native libraries on unload"
Failures on test 136.
Bug: http://b/
28406866
This reverts commit
2eb3ba9fcc120b74bdf9f61342347379223973f3.
Change-Id: Ic70aceb0831256b1e12730e5508e86e6fed8cb42
Treehugger Robot [Wed, 4 May 2016 23:38:54 +0000 (23:38 +0000)]
Merge "(dl)Close native libraries on unload"
Aart Bik [Wed, 4 May 2016 22:55:43 +0000 (22:55 +0000)]
Merge "Exploit NE/EQ tests on array length in BCE."
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
(cherry picked from commit
35f01195c4cf6e3c6fbb8b51f5a41b26132b4bdd)
Aart Bik [Wed, 4 May 2016 21:00:55 +0000 (14:00 -0700)]
Exploit NE/EQ tests on array length in BCE.
BUG=
28585870
Change-Id: I382ffaf80dfb861f66eb0bfb6508e7d946a07e14
Treehugger Robot [Wed, 4 May 2016 17:40:25 +0000 (17:40 +0000)]
Merge "Update comment in class_linker.cc"
Alex Light [Wed, 4 May 2016 16:23:09 +0000 (09:23 -0700)]
Update comment in class_linker.cc
Be more clear about what is meant by 'corruption'.
Change-Id: I54f11c8c1ff11328f2a63382fc570b213a4d3a3e
Treehugger Robot [Wed, 4 May 2016 12:59:07 +0000 (12:59 +0000)]
Merge "Do not look at dead phis during SsaRedundantPhiElimination."
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
Change-Id: Ia9e82026555e6b7f6a2cd37df4b765cd3684079d
Treehugger Robot [Wed, 4 May 2016 10:08:07 +0000 (10:08 +0000)]
Merge "Check if a class is verified before visiting profiling info."
Vladimir Marko [Wed, 4 May 2016 09:34:37 +0000 (09:34 +0000)]
Merge "ARM64: Add new String.compareTo intrinsic."
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
Change-Id: I5bb9528a8d357bc8940c2190e2cde33a13df3e8d
Nicolas Geoffray [Wed, 4 May 2016 08:42:38 +0000 (08:42 +0000)]
Merge "Put a handle on the String object."
Nicolas Geoffray [Wed, 4 May 2016 08:01:52 +0000 (08:01 +0000)]
Merge "Blacklist test."
Nicolas Geoffray [Wed, 4 May 2016 08:00:56 +0000 (09:00 +0100)]
Blacklist test.
bug:
28574453
Change-Id: I8afd2b824d302114b259e45164ddee3519c10a6e
Treehugger Robot [Wed, 4 May 2016 03:13:52 +0000 (03:13 +0000)]
Merge "ART: Dump more OatDexFile data in oatdump"
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
(cherry picked from commit
00bb716039d23e02797a3858fcdb0380a9bb8855)
Change-Id: I80c14e85d68cd1e3e4c64b7b9d86059d5ac8a6ad
Treehugger Robot [Wed, 4 May 2016 00:27:01 +0000 (00:27 +0000)]
Merge "Make test for app-image loading."
Alex Light [Tue, 3 May 2016 22:01:06 +0000 (15:01 -0700)]
Make test for app-image loading.
Bug:
26882072
Change-Id: I40a45e7944aec3a5ee28ef3d47e9881f61a7c9e6
Aart Bik [Tue, 3 May 2016 20:08:10 +0000 (20:08 +0000)]
Merge "ARM(64): Implement the isInfinite intrinsics"
Alex Light [Tue, 3 May 2016 20:05:36 +0000 (20:05 +0000)]
Merge "Fix vtable corruption."
Richard Uhler [Wed, 13 Apr 2016 18:03:46 +0000 (11:03 -0700)]
Remove -XOatFileManagerCompilerFilter argument.
Instead use the value of '-Xcompiler-option --compiler-filter=XXX' for
the target compiler filter to use to determine if the runtime should
try to invoke dex2oat when oat files are loaded.
Bug:
27641809
Change-Id: I1856e0e37df91835b81105567c70d8a285a88f62
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
Change-Id: I37d9740ca912daf37cdf9ff82697bbc5db46177a
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
Change-Id: I5ad0e0cac148bc6e028d05eff67f18932ec46ea8
Scott Wakeling [Thu, 21 Apr 2016 10:13:45 +0000 (11:13 +0100)]
ARM64: Add new String.compareTo intrinsic.
Benchmarked on Nexus6P big, little, and all cores. The new intrinsic
is faster than pStringCompareTo for compare lengths on [1,512], so the
runtime call is no longer needed.
Change-Id: If94bfe24d9bf4dddcca648cc0b563709fc407b34
Dimitry Ivanov [Mon, 2 May 2016 21:31:49 +0000 (21:31 +0000)]
Merge changes from topic 'reset-native-loader'
* changes:
Fix check_jni_compiler tests
Revert "Disable tests after latest nativeloader changes."
Reset NativeLoader on DestroyJavaVM
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
Dimitry Ivanov [Mon, 2 May 2016 20:39:39 +0000 (13:39 -0700)]
Revert "Disable tests after latest nativeloader changes."
This reverts commit
7032e780836a464faf5901d9d8d7fedb97f3a739.
Bug: http://b/
28449304
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
(cherry picked from commit
9e83422b27faa3f249ec32ad2cbaa34530bd3df1)
Mathieu Chartier [Mon, 2 May 2016 16:30:19 +0000 (16:30 +0000)]
Merge "Fix profile saver to use base dex location"
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
(cherry picked from commit
9275af6ec0d71d1a13a97a1d292806b73f755717)
Change-Id: Ie822c2a38fd1316c3ba604b8625c48388f6a8c07
Andreas Gampe [Sat, 30 Apr 2016 01:34:33 +0000 (01:34 +0000)]
Merge "ART: Disambiguate access-checks mode from lock-counting"
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
(cherry picked from commit
f517e283d477dd2ae229ee3f054120c6953895db)
Change-Id: I083032f064d88df8f8f0611ad8b57d1b39cd09fb
Treehugger Robot [Sat, 30 Apr 2016 00:08:08 +0000 (00:08 +0000)]
Merge changes I6942bc86,Ie67e4aa9
* changes:
ART: Fix Mac build
ART: Log all monitor operations to systrace
Andreas Gampe [Fri, 29 Apr 2016 22:04:49 +0000 (15:04 -0700)]
ART: Fix Mac build
Fix Mac build after
fc6898769ae1ef91ec3e41c0a273401213cb82cd.
Bug:
28423466
(cherry picked from commit
4cf9adc1ed1bcbfe45c9caf944130aae7e39a4cd)
Change-Id: I6942bc86f1b0819d84bced5499afb0a4d235a39e
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
(cherry picked from commit
fc6898769ae1ef91ec3e41c0a273401213cb82cd)
Change-Id: Ie67e4aa946ec15f8fcf8cb7134c5d3cff0119ab3
Chih-hung Hsieh [Fri, 29 Apr 2016 22:57:26 +0000 (22:57 +0000)]
Merge "Fix google-explicit-constructor warnings."
Treehugger Robot [Fri, 29 Apr 2016 22:50:45 +0000 (22:50 +0000)]
Merge "Deduplicate simple roots in hprof."
Chih-Hung Hsieh [Fri, 29 Apr 2016 21:27:41 +0000 (14:27 -0700)]
Fix google-explicit-constructor warnings.
Bug:
28341362
Change-Id: Ic7e236a7f58c4021a3f8fb4536a6457d262fe62e
Richard Uhler [Tue, 26 Apr 2016 20:28:59 +0000 (13:28 -0700)]
Deduplicate simple roots in hprof.
Bug:
28311991
(cherry picked from commit
e792305f5238df71a1928faf142cd35713aa3e47)
Change-Id: Icfb646ff62965daee51f65f46f4911cf0751bf8d
Mathieu Chartier [Fri, 29 Apr 2016 18:24:15 +0000 (18:24 +0000)]
Merge "Add contender method for lock contention"
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
(cherry picked from commit
8f26411287cddd983df6f1d00dbc3841767c123d)
Change-Id: Ia130a525c8415defec36b2e23f358d18aac079ad
Hans Boehm [Fri, 29 Apr 2016 17:50:25 +0000 (17:50 +0000)]
Merge "Correct monitor pool synchronization"
Treehugger Robot [Fri, 29 Apr 2016 13:57:19 +0000 (13:57 +0000)]
Merge "Remove invoke after inlining."
Nicolas Geoffray [Fri, 29 Apr 2016 12:56:01 +0000 (13:56 +0100)]
Remove invoke after inlining.
bug:
28460178
Change-Id: I0ce00667aab1e02bab9e04a4cea7ee5d278f6a71
Calin Juravle [Fri, 29 Apr 2016 12:52:59 +0000 (12:52 +0000)]
Merge "Decrease transition weight."
Nicolas Geoffray [Thu, 28 Apr 2016 12:56:04 +0000 (13:56 +0100)]
Decrease transition weight.
bug:
27865109
(cherry picked from commit
5a62dd962c831a73c75c0ad5bf1184129eaa942c)
Change-Id: I667e514b76510107f6affd9963e4ec83ee629866
Calin Juravle [Fri, 29 Apr 2016 11:47:50 +0000 (11:47 +0000)]
Merge changes I96464d76,Id5e77316,Icb42a081,I68afc181,I82094e46
* changes:
Fix how the ProfileSaver thread attaches to the runtime.
Fix -Xint and -Xusejit interaction
Add command line option for jit invoke transition weight
Split profile recording from jit compilation
Allow the framework to register sensistive threads to the runtime
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
(cherry picked from commit
e55fda1373abad5ace4409453c51aeb0daaf99ef)
Change-Id: I96464d76a275d155a90a1bc3bb99fbb9d914cf20
Roland Levillain [Fri, 29 Apr 2016 10:24:16 +0000 (10:24 +0000)]
Merge "Re-enable tests disabled because of libnativehelper_compat_libc++."
Nicolas Geoffray [Fri, 29 Apr 2016 09:48:06 +0000 (09:48 +0000)]
Merge "Disable tests after latest nativeloader changes."
Nicolas Geoffray [Fri, 29 Apr 2016 09:44:21 +0000 (10:44 +0100)]
Disable tests after latest nativeloader changes.
bug:
28449304
Change-Id: I27649e0545898012c1e826a4648210d61fbb4a0d
Bill Buzbee [Fri, 29 Apr 2016 04:03:49 +0000 (04:03 +0000)]
Merge "ART: Add missing EXPORT_PCs to x86/_64 mterp"
Dimitry Ivanov [Fri, 29 Apr 2016 00:44:08 +0000 (00:44 +0000)]
Merge "Supply librarySearchPath to PathClassLoader"
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
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
Change-Id: I3936509665636c0b77580dda12520a82ee814fa5
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
Mathieu Chartier [Thu, 28 Apr 2016 23:03:05 +0000 (23:03 +0000)]
Merge changes Ia94fc7ac,Iffd25c5f
* changes:
Revert "Revert "Write conflict tables in image""
Revert "Write conflict tables in image"
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.
(cherry picked from commit
cdca476bf3394ce9d97a369e84e701b427009318)
Change-Id: Ia94fc7acc7ae3879921c4e8d0a02b156037ac286
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.
(cherry picked from commit
8e2478d23e89a7022c93ddc608dcbba7b29b91e6)
Change-Id: Iffd25c5fb732ff72b58c787c107dc33c56f8c8d4
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
(cherry picked from commit
6caaa84947d5d207cde511978db327d95226e3ce)
Change-Id: Id5e7731653b322c25329b031561cfe150eb66522
Calin Juravle [Wed, 27 Apr 2016 13:14:58 +0000 (14:14 +0100)]
Add command line option for jit invoke transition weight
Bug:
27865109
(cherry picked from commit
2a894f433d126d6e8694c6235e29e66ef45a31d9)
Change-Id: Icb42a08120aa80b787efe207aa51fd08305cec08
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
(cherry picked from commit
e5de54cfab5f14ba0b8ff25d8d60901c7021943f)
Change-Id: I68afc181d71447895fb12346c1806e99bcab1de2
Calin Juravle [Fri, 15 Apr 2016 15:16:35 +0000 (16:16 +0100)]
Allow the framework to register sensistive threads to the runtime
Bug:
27865109
Bug:
28065407
(cherry picked from commit
8fff24953c78bd58f3a42ac83b340b90e7e7228a)
Change-Id: I82094e46a2fd12617e091d98831193f9ff56d26b
Nicolas Geoffray [Thu, 28 Apr 2016 14:46:52 +0000 (14:46 +0000)]
Merge "Update list of libraries needed for ART run-test."
Nicolas Geoffray [Thu, 28 Apr 2016 14:45:58 +0000 (15:45 +0100)]
Update list of libraries needed for ART run-test.
Change-Id: Icfaabac9db6ea630ef45f483bfb033ba14cb85b6
Roland Levillain [Thu, 28 Apr 2016 14:24:31 +0000 (15:24 +0100)]
Re-enable tests disabled because of libnativehelper_compat_libc++.
The loading failure ("dlopen failed: library
"libnativehelper_compat_libc++.so" not found") should have been
fixed; stop ignoring these failures.
Bug:
28082914
Change-Id: I59283b58790142c17f2849898dd4229c54222af4
Nicolas Geoffray [Thu, 28 Apr 2016 11:01:28 +0000 (11:01 +0000)]
Merge "Add and use public.libraries.buildbot.txt file."
Nicolas Geoffray [Thu, 28 Apr 2016 10:58:03 +0000 (11:58 +0100)]
Add and use public.libraries.buildbot.txt file.
Needed after the latest NativeLoader changes.
Change-Id: Ia80ebe85ccfc702470eebe6daa9d675abcf8014d
Mathieu Chartier [Wed, 27 Apr 2016 20:51:10 +0000 (20:51 +0000)]
Merge changes I38cbe315,Ia05cb31f
* changes:
Write conflict tables in image
Add support for eagerly calculating conflict tables
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
(cherry picked from commit
cda9386add68d94697449c6cb08b356747e55c21)
Change-Id: I38cbe3150c3eeb385b8cad7cf93614e3980f4162
Mathieu Chartier [Thu, 14 Apr 2016 17:49:19 +0000 (10:49 -0700)]
Add support for eagerly calculating conflict tables
Will be used to put them in the image by having the compiler eagerly
calculate them.
Enabled for debug builds (non compiler). Support for having conflict
tables written in the image will come in the next CL.
Bug:
27906566
(cherry picked from commit
49b5cede15d69930a8c156a3aea240164ca7af80)
Change-Id: Ia05cb31f85eacfeabe64a8caf9a0b3029114a749
Dimitry Ivanov [Wed, 27 Apr 2016 18:24:33 +0000 (18:24 +0000)]
Merge "Initialize native loader on JNI_CreateJavaVM"
Treehugger Robot [Wed, 27 Apr 2016 16:46:35 +0000 (16:46 +0000)]
Merge "Fix string patch target retrieval in OatWriter."
Treehugger Robot [Wed, 27 Apr 2016 15:41:58 +0000 (15:41 +0000)]
Merge "ART: Disable back edge uses for irreducible loops"
Vladimir Marko [Wed, 27 Apr 2016 12:54:18 +0000 (13:54 +0100)]
Fix string patch target retrieval in OatWriter.
Use the correct dex cache for retrieving the target string
for const-string inlined across dex files.
This affects only the boot image built in non-debuggable
mode because we do not inline at all in debuggable mode.
No regression test is provided because we do not have the
infrastructure to compile test code into the boot image.
Change-Id: I203419570a22ad78f30a385628ac6b57aea5bec1
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
Vladimir Marko [Wed, 27 Apr 2016 12:49:23 +0000 (12:49 +0000)]
Merge "ART: add exynos-m1 to a53 #835769 & #843419 erratum exception list"
Roland Levillain [Wed, 27 Apr 2016 12:47:45 +0000 (12:47 +0000)]
Merge "ART: Eliminate unlikely code from hot path in x86 div/rem"
Nicolas Geoffray [Wed, 27 Apr 2016 12:44:42 +0000 (12:44 +0000)]
Merge "Fix test to return expected value."
Nicolas Geoffray [Wed, 27 Apr 2016 12:43:48 +0000 (13:43 +0100)]
Fix test to return expected value.
bug:
28335959
Change-Id: Id4b3fc7b3ea5705530283daffedef17ab0699ae9