OSDN Git Service
Vladimir Marko [Thu, 21 Apr 2016 07:54:30 +0000 (07:54 +0000)]
Merge "Thumb2: Fix EmitJumpTables() to extend buffer only if needed." into nyc-dev
Vladimir Marko [Thu, 21 Apr 2016 07:53:47 +0000 (07:53 +0000)]
Merge "Fix HInstruction::ReplaceInput(), allow no-op." into nyc-dev
TreeHugger Robot [Wed, 20 Apr 2016 19:03:49 +0000 (19:03 +0000)]
Merge "ART: Add logging for CHECK failure" into nyc-dev
Vladimir Marko [Wed, 20 Apr 2016 17:45:25 +0000 (18:45 +0100)]
Fix HInstruction::ReplaceInput(), allow no-op.
Allow HInstruction::ReplaceInput() to be called with
a `replacement` being the same as the old input and
do nothing in that case.
This is a follow-up to
https://android-review.googlesource.com/216923
where I erroneously assumed that it never happens.
Also adhere to the standard C++ std::forward_list<>
semantics in the single-element overload of
`IntrusiveForwardList<>::splice_after()`.
Bug:
28173563
(cherry picked from commit
c6b5627c25ff5653e97ccff8c5ccf6ac967b6f83)
Change-Id: I66b7d4b48f629284d0bcb1d31100519e02a872e5
Andreas Gampe [Wed, 20 Apr 2016 17:09:24 +0000 (17:09 +0000)]
Merge changes I0360a078,I3e267519 into nyc-dev
* changes:
ART: Add Math cutouts
ART: Add some reflection cutouts
Andreas Gampe [Wed, 20 Apr 2016 16:55:25 +0000 (09:55 -0700)]
ART: Add logging for CHECK failure
Add more logging around which thread raced this one.
Bug:
28254258
Change-Id: I136a8074295527a4908825f424fc7fe4b13fbae4
Aart Bik [Wed, 20 Apr 2016 16:29:45 +0000 (16:29 +0000)]
Merge "Avoid constructing types with errors." into nyc-dev
Vladimir Marko [Wed, 20 Apr 2016 16:17:49 +0000 (16:17 +0000)]
Merge changes Iddd42d75,Ifb2d7b35 into nyc-dev
* changes:
Reuse HUseListNode<>s when replacing instruction or input.
Use iterators "before" the use node in HUserRecord<>.
Vladimir Marko [Tue, 19 Apr 2016 13:36:35 +0000 (14:36 +0100)]
Reuse HUseListNode<>s when replacing instruction or input.
Compiling the Nexus 5 boot image with the 64-bit dex2oat
on host this CL reduces the memory used for compiling the
most hungry method, BatteryStats.dumpLocked(), by ~5.6MiB:
Before:
MEM: used:
44393040, allocated:
45361248, lost: 968208
Number of arenas allocated: 319,
Number of allocations: 815492, avg size: 54
...
UseListNode
10308480
...
After:
MEM: used:
38554536, allocated:
39463008, lost: 908472
Number of arenas allocated: 274,
Number of allocations: 572221, avg size: 67
...
UseListNode
4469976
...
With 32-bit dex2oat, the UseListNode would be 2/3 of the
values for 64-bit dex2oat (both before and after).
Bug:
28173563
Bug:
27856014
(cherry picked from commit
3c19d3e029a9fcc123d2c6fd1e5e13867d2cfe1f)
Change-Id: Iddd42d7545e4f97a13da63590b33711a5bbdd43b
Vladimir Marko [Tue, 29 Mar 2016 11:21:58 +0000 (12:21 +0100)]
Use iterators "before" the use node in HUserRecord<>.
Create a new template class IntrusiveForwardList<> that
mimicks std::forward_list<> except that all allocations
are handled externally. This is essentially the same as
boost::intrusive::slist<> but since we're not using Boost
we have to reinvent the wheel.
Use the new container to replace the HUseList and use the
iterators to "before" use nodes in HUserRecord<> to avoid
the extra pointer to the previous node which was used
exclusively for removing nodes from the list. This reduces
the size of the HUseListNode by 25%, 32B to 24B in 64-bit
compiler, 16B to 12B in 32-bit compiler. This translates
directly to overall memory savings for the 64-bit compiler
but due to rounding up of the arena allocations to 8B, we
do not get any improvement in the 32-bit compiler.
Compiling the Nexus 5 boot image with the 64-bit dex2oat
on host this CL reduces the memory used for compiling the
most hungry method, BatteryStats.dumpLocked(), by ~3.3MiB:
Before:
MEM: used:
47829200, allocated:
48769120, lost: 939920
Number of arenas allocated: 345,
Number of allocations: 815492, avg size: 58
...
UseListNode
13744640
...
After:
MEM: used:
44393040, allocated:
45361248, lost: 968208
Number of arenas allocated: 319,
Number of allocations: 815492, avg size: 54
...
UseListNode
10308480
...
Note that while we do not ship the 64-bit dex2oat to the
device, the JIT compilation for 64-bit processes is using
the 64-bit libart-compiler.
Bug:
28173563
Bug:
27856014
(cherry picked from commit
46817b876ab00d6b78905b80ed12b4344c522b6c)
Change-Id: Ifb2d7b357064b003244e92c0d601d81a05e56a7b
TreeHugger Robot [Wed, 20 Apr 2016 14:40:26 +0000 (14:40 +0000)]
Merge "ProfileSaver: query profiling_infos instead of the code_map" into nyc-dev
Vladimir Marko [Wed, 20 Apr 2016 13:39:47 +0000 (14:39 +0100)]
Thumb2: Fix EmitJumpTables() to extend buffer only if needed.
Bug:
28256882
(cherry picked from commit
9152fed693f5d823ef29c373d658adc67fa92fe7)
Change-Id: I804e45c8c6a7bc97fcec5a380ccc1bdf70de8b00
Calin Juravle [Tue, 19 Apr 2016 15:33:46 +0000 (16:33 +0100)]
ProfileSaver: query profiling_infos instead of the code_map
This is the first step in being able to record profiles without jit
being active.
Bug:
27916886
Change-Id: I2fcbd03560e109e6866ad6d82c79b902a889e620
Vladimir Marko [Wed, 20 Apr 2016 09:07:45 +0000 (09:07 +0000)]
Merge changes I5044e94b,I149273b7 into nyc-dev
* changes:
Fix 570-checker-osr test for non-debuggable mode.
Fix inlining loops in OSR mode.
Andreas Gampe [Wed, 20 Apr 2016 03:53:51 +0000 (03:53 +0000)]
Merge "ART: Fast-fail empty other handlers in fault handling" into nyc-dev
Aart Bik [Wed, 6 Apr 2016 18:22:12 +0000 (11:22 -0700)]
Avoid constructing types with errors.
BUG=
27626735
Rationale:
Do not construct classes with a link error. Without this,
the error type thought it was Object (mirror's method
IsObjectClass() returns true if there is no superclass).
(cherry picked from commit
8b3f9b246d5bdbf67faeb2b872b75b8d72777bc0)
(also contains follow-up commit
31244b4cde9156632a08103a8bf1cbff4cbae3cc)
Change-Id: I4443779dda47c320115975c1c71b22e118bd8252
Mathieu Chartier [Tue, 19 Apr 2016 20:46:03 +0000 (13:46 -0700)]
Do less work holding thread list lock
Avoid doing stuff that requires access java heap like PrettyMethod.
Fixes lock violation.
Bug:
28268478
Change-Id: Ie090879690df7a6db15a9c8b7e82f3809450d653
Vladimir Marko [Tue, 19 Apr 2016 16:26:54 +0000 (17:26 +0100)]
Fix 570-checker-osr test for non-debuggable mode.
For non-debuggable mode, we need to create profiling info.
Bug:
28210356
(cherry picked from commit
b9d338b96c804a077dc2ed60b36b7ab64dc2c78c)
Change-Id: I5044e94bf78bd982007c8e7a3a9e5ee56f861e9c
Calin Juravle [Tue, 19 Apr 2016 17:17:41 +0000 (18:17 +0100)]
Fix comparison in profile saver
Bug:
27893309
Change-Id: I076a20413cffc69ca9e562fb4fc75615fead7690
Calin Juravle [Tue, 19 Apr 2016 17:03:28 +0000 (17:03 +0000)]
Merge "Fix tracking foreign dex files" into nyc-dev
TreeHugger Robot [Tue, 19 Apr 2016 16:56:18 +0000 (16:56 +0000)]
Merge "Skip profiling if the dex file is fully compiled" into nyc-dev
Andreas Gampe [Tue, 19 Apr 2016 16:49:03 +0000 (16:49 +0000)]
Merge "ART: Remove Security initialization cutout" into nyc-dev
Richard Uhler [Tue, 19 Apr 2016 16:24:12 +0000 (16:24 +0000)]
Merge changes Ia55ae13e,Ib3e2e6d2 into nyc-dev
* changes:
Disable stripped-dex test for no-dex2oat.
Disable stripped-dex test on target.
TreeHugger Robot [Tue, 19 Apr 2016 15:50:39 +0000 (15:50 +0000)]
Merge "Use dex cache from compilation unit in HInstructionBuilder." into nyc-dev
Andreas Gampe [Tue, 19 Apr 2016 00:15:42 +0000 (17:15 -0700)]
ART: Fast-fail empty other handlers in fault handling
Don't try to set up the nested handler environment if there are
no other handlers installed.
Stop-gap for the current setup without other handlers. There are
a myriad more issues before we can safely re-enable other handlers.
Bug:
28245957
(cherry picked from commit
d14b73d9d9027539c1dfeff93f784a58c93f4e32)
Change-Id: I526aef82aa1ca2b6c4b1959858fe76231bc067d9
David Brazdil [Tue, 19 Apr 2016 09:10:17 +0000 (10:10 +0100)]
ART: Fix IsLinearOrderWellFormed in liveness analysis
Graph may contain nullptr in list of basic blocks when
the basic block is removed. So we must handle nullptr explicitly.
Bug:
28252537
Bug:
27615840
Bug:
27624868
Change-Id: If430939b8fe793e4a9c974936180d06c1a9f90c6
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
(cherry picked from commit
fa3091ef031da6c18478fdede12d7762634ee271)
Calin Juravle [Mon, 18 Apr 2016 17:59:22 +0000 (18:59 +0100)]
Fix tracking foreign dex files
Apps which share the same VM will have different application data
directories. We used to store only the first one registered and miss
subsequent registrations.
Bug:
28012567
Change-Id: I27c2aa2efa938b072be7c73bb778db82f80fcf1e
Calin Juravle [Mon, 18 Apr 2016 15:38:27 +0000 (16:38 +0100)]
Skip profiling if the dex file is fully compiled
The OatFile does not store the original dex location that was used to
compile the file. So in order to get the oat file for a given code path
we need to iterate over the inner oat dex files and check against them.
Also, we used to pass the unfiltered code_paths set to the saver which
would make the filtering useless. This fixes the parameter passing as
well.
Bug:
27893309
Change-Id: Ia95d61a82a9e74769ebf3329bb1f9c714bcff27f
Vladimir Marko [Wed, 13 Apr 2016 18:29:26 +0000 (19:29 +0100)]
Use dex cache from compilation unit in HInstructionBuilder.
Avoid calling costly ClassLinker::FindDexCache() from
HInstructionBuilder, the dex cache is already available in
the compilation unit. Compiling Nexus 5 boot image on host
under perf(1) shows that the time spent in FindDexCache()
is reduced from about 2% to well under 0.2%, 90% of the
remaining hits coming from ReferenceTypePropagation which
doesn't have access to the compilation unit.
Bug:
28173563
(cherry picked from commit
3cd50df11b3076b801954018236c366fd9b97948)
Change-Id: Ife0dba2dd8f49bd52f86ddadf06ee787bad03d66
Vladimir Marko [Mon, 18 Apr 2016 14:37:01 +0000 (15:37 +0100)]
Fix inlining loops in OSR mode.
When compiling a method in OSR mode and the method does not
contain a loop (arguably, a very odd case) but we inline
another method with a loop and then the final DCE re-runs
the loop identification, the inlined loop would previously
be marked as irreducible. However, the SSA liveness analysis
expects irreducible loop to have extra loop Phis which were
already eliminated from the loop before the inner graph was
inlined to the outer graph, so we would fail a DCHECK().
We fix this by not marking inlined loops as irreducible when
compiling in OSR mode.
Bug:
28210356
(cherry picked from commit
fd66c50d64c38e40bafde83b4872e27bbff7546d)
Change-Id: I149273b766d1c713c571baad6033c5f70e6dd960
Andreas Gampe [Tue, 19 Apr 2016 03:51:13 +0000 (20:51 -0700)]
ART: Add Math cutouts
Add sin, cos and pow to unstarted runtime. Add tests for some
very specific values that are seen.
Allows to compile-time initialize:
* android.graphics.drawable.RippleForeground
* android.widget.EdgeEffect
Bug:
27265238
Change-Id: I0360a078e7dc9d2a176ec1cf2d8dbb242da1c83e
Andreas Gampe [Tue, 19 Apr 2016 00:07:30 +0000 (17:07 -0700)]
ART: Add some reflection cutouts
Add Class.getInnerClassFlags and Method.invoke to unstarted runtime.
Allows to compile-time initialize:
* android.net.NetworkInfo
* android.net.wifi.WifiInfo
Bug:
27265238
Change-Id: I3e267519acf14b08c687f1e831e2027d37158767
Andreas Gampe [Tue, 19 Apr 2016 00:04:14 +0000 (00:04 +0000)]
Merge "ART: Add cutout for Character.toLower/UpperCase" into nyc-dev
Andreas Gampe [Tue, 19 Apr 2016 00:03:46 +0000 (00:03 +0000)]
Merge "ART: Add ClassLoader.getResourceAsStream cutout" into nyc-dev
Mathieu Chartier [Mon, 18 Apr 2016 18:43:29 +0000 (11:43 -0700)]
Prevent holding stale Thread pointers
It is only really safe to hold non-self Thread* if you hold the
thread list lock. Changed a few places to use thread ids instead
of Thread.
Bug:
28223501
Change-Id: Ie58bd755bf1dcf3c1f37da79ba0b2507f77574dd
Andreas Gampe [Sat, 16 Apr 2016 04:24:28 +0000 (21:24 -0700)]
ART: Add cutout for Character.toLower/UpperCase
Add support for ASCII codepoint toLowerCase/toUpperCase. Those
inputs are easy, and generally sufficient.
Allows to compile-time initialize:
* android.text.Html$HtmlParser
* java.util.UUID$Holder
* sun.security.ec.ECKeyFactory
Bug:
27265238
Change-Id: I0f164a7df4f26c0b266cef230e36f6ca3af20bde
Mathieu Chartier [Mon, 18 Apr 2016 17:37:19 +0000 (17:37 +0000)]
Merge "Add more info to monitor contention logging" into nyc-dev
Mathieu Chartier [Sat, 16 Apr 2016 02:11:45 +0000 (19:11 -0700)]
Add more info to monitor contention logging
Print owner thread name and tid. Print blocking file name and line
number.
Bug:
28223501
Change-Id: I6ee50ba8521c37977accad039fcf039c78b246e2
Richard Uhler [Fri, 15 Apr 2016 19:16:45 +0000 (12:16 -0700)]
Disable stripped-dex test for no-dex2oat.
Because the stripped-dex test requires a prebuild configuration.
Bug:
27599626
(cherry picked from commit
1b85354e974bac725b5baf1c8d1041b9b1e96643)
Change-Id: Ia55ae13e8ce2ab34348a5b9a096031d57c0048fa
Richard Uhler [Thu, 14 Apr 2016 20:31:30 +0000 (13:31 -0700)]
Disable stripped-dex test on target.
Because the targets don't have the required zip command.
Bug:
27599626
(cherry picked from commit
d7864d85b9ce87bc4a0ceb94adf6b9c216543da0)
Change-Id: Ib3e2e6d2874a36fa0e2ff2cba3e986107a05eaaa
Roland Levillain [Mon, 18 Apr 2016 14:15:22 +0000 (14:15 +0000)]
Merge changes I077465e3,I30173023 into nyc-dev
* changes:
Fix: correctly destruct VIXL labels.
Move Assemblers to the Arena.
Yi Kong [Mon, 18 Apr 2016 12:07:51 +0000 (12:07 +0000)]
Merge "Increase vtable size for String class" into nyc-dev
Alexandre Rames [Fri, 15 Apr 2016 10:54:06 +0000 (11:54 +0100)]
Fix: correctly destruct VIXL labels.
(cherry picked from commit
c01a66465a398ad15da90ab2bdc35b7f4a609b17)
Bug:
27505766
Change-Id: I077465e3d308f4331e7a861902e05865f9d99835
Vladimir Marko [Wed, 13 Apr 2016 10:59:46 +0000 (11:59 +0100)]
Move Assemblers to the Arena.
And clean up some APIs to return std::unique_ptr<> instead
of raw pointers that don't communicate ownership.
(cherry picked from commit
93205e395f777c1dd81d3f164cf9a4aec4bde45f)
Bug:
27505766
Change-Id: I3017302307a0253d661240750298802fb0d9585e
Calin Juravle [Mon, 18 Apr 2016 10:40:29 +0000 (10:40 +0000)]
Merge "Allow the framework to register sensistive threads to the runtime" into nyc-dev
Nicolas Geoffray [Mon, 18 Apr 2016 10:36:01 +0000 (10:36 +0000)]
Merge "Add weight to compiled/interpreter transitions." into nyc-dev
Yi Kong [Tue, 12 Apr 2016 21:38:06 +0000 (22:38 +0100)]
Increase vtable size for String class
Tracks libcore change
5458546631c65f6d375b6a1780d36d0abb5b95af which
increases vtable size for String by four.
Bug:
28108421
Change-Id: I3f7b373ffc08a0f5351f04b5045866ea040f8e6e
(cherry picked from commit
478078a8f9375ec53a3c77c19c0cdb82a9917c88)
Narayan Kamath [Wed, 13 Apr 2016 13:17:44 +0000 (14:17 +0100)]
Track removal of String hash functions.
The number of virtual methods dropped by one. The change to the
field counting merits some explanation, with the change to OpenJDK
we got rid of two 16 bit fields and added a 32 bit field (which the
companion change removed), so things continued to work happily.
This change brings the number of 16 bit fields down to zero.
Also fixes 100-reflect2, which iterates over all methods in j.l.String.
bug:
28082128
(cherry picked from commit
5d8fa8bbcb9411015c92d687cb1f3cb785146bf7)
Change-Id: I4e5454547e08b072768bbc466e2f5c027b8dab86
Narayan Kamath [Fri, 15 Apr 2016 16:51:55 +0000 (17:51 +0100)]
OpenJdkJVM: Fix Mac OS build.
bug:
28192631
(cherry picked from commit
5b2cfd8b195d8f0fb69c4fe57223c648dfa4c4f2)
Change-Id: Ifc1d89d728c406956efb48b46d73ace0835c8ff1
Narayan Kamath [Fri, 15 Apr 2016 14:57:28 +0000 (15:57 +0100)]
OpenJdkJVM: Fix JVM_Lseek
Use lseek64 and remove unnecessary TEMP_FAILURE_RETRY.
bug:
28192631
(cherry picked from commit
77f5d65a23f964f40af0baa4cb45e54deb37bafc)
Change-Id: I48a5baf7281618723a6eb262fd0d999405b6ad8c
Nicolas Geoffray [Thu, 14 Apr 2016 14:00:33 +0000 (15:00 +0100)]
Add weight to compiled/interpreter transitions.
Also:
- Cleanup logging.
- Check ArtMethod status before adding compilation requests.
- Don't request osr compilation if we know AddSamples does not come
from a back edge.
Bug:
27865109
(cherry picked from commit
71cd50fb67fa48667b0ab59aa436a582c04ba43d)
Change-Id: Icbe89fe6cc495b113616391a8f257758d34b4b60
Andreas Gampe [Sat, 16 Apr 2016 04:21:38 +0000 (21:21 -0700)]
ART: Remove Security initialization cutout
Change
c94eeebc7cf3e577eed3ea380401007aea642bf3 introduced general
support for getResourceAsStream. Remove the specialized cutout.
Bug:
27265238
Change-Id: I3aad0053199809e11de4eed8ee6aac53346d3d22
Andreas Gampe [Thu, 14 Apr 2016 00:58:05 +0000 (17:58 -0700)]
ART: Add ClassLoader.getResourceAsStream cutout
Add support for getResourceAsStream to unstarted runtime.
Allows to compile-time initialize:
* android.icu.impl.ICUConfig
Allows to revert other resource loading hacks.
Do not intercept Class.getResourceAsStream directly. There is
name-mangling involved, leave that on the Java side.
Bug:
27265238
Change-Id: I8c408aa633086f4a1aa14bb1b404607b2498fe97
Andreas Gampe [Fri, 15 Apr 2016 17:09:16 +0000 (10:09 -0700)]
ART: Fix nits for verifier change
Follow-up to
6659624baadf2285ac5880fd28ffa31767dcae0b.
Bug:
28187158
Change-Id: Ie81aff1cae1ff275faaaf4b858608e74b86d8622
(cherry picked from commit
8f4ade0f05c0203b33e5f421d1e3794ab6075a82)
Andreas Gampe [Thu, 14 Apr 2016 17:55:04 +0000 (10:55 -0700)]
ART: Make iget receiver mismatch hard verifier error
If the classes are resolved, and still not match, this should be
a verify error.
Bug:
28187158
Change-Id: I89c996ae15865674f21cf32ec378d37bac34861b
(cherry picked from commit
6659624baadf2285ac5880fd28ffa31767dcae0b)
TreeHugger Robot [Fri, 15 Apr 2016 22:57:46 +0000 (22:57 +0000)]
Merge "Sort output of a find command in makefile" into nyc-dev
Bill Buzbee [Fri, 15 Apr 2016 21:23:41 +0000 (21:23 +0000)]
Merge "Revert "Revert "ART: Improve JitProfile perf in x86_64 mterp""" into nyc-dev
Bill Buzbee [Mon, 4 Apr 2016 16:59:35 +0000 (16:59 +0000)]
Revert "Revert "ART: Improve JitProfile perf in x86_64 mterp""
Bug:
28080135
Bug triggering original revert fixed by:
https://android-review.googlesource.com/#/c/214728
This CL additionally corrects a secondary bug in argument setup
appearing in both x86 and x86_64 versions.
This reverts commit
0402c5690b1a961e923a39dab92ec1ee0b54b05a.
(cherry picked from commit
9afaac4ccdd90774cf95ce6fc42d9c6df4c8b817)
Change-Id: If86a5d43469d8a958e007acc0afe924330de5c16
Andreas Gampe [Fri, 15 Apr 2016 19:16:14 +0000 (19:16 +0000)]
Merge "ART: Add a System.getProperty cutout" into nyc-dev
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
Change-Id: Ieac3215879c40b16eb21b47a457fd0345d45177a
Nicolas Geoffray [Fri, 15 Apr 2016 14:55:32 +0000 (14:55 +0000)]
Merge "Fix initialization of field after conflicting merges." into nyc-dev
Nicolas Geoffray [Fri, 15 Apr 2016 14:55:15 +0000 (14:55 +0000)]
Merge "Remove the JIT from the instrumentation framework." into nyc-dev
Nicolas Geoffray [Fri, 15 Apr 2016 14:43:05 +0000 (14:43 +0000)]
Merge "Properly initialize the is_osr_method_being_compiled_ flag." into nyc-dev
Nicolas Geoffray [Thu, 14 Apr 2016 13:17:29 +0000 (14:17 +0100)]
Fix initialization of field after conflicting merges.
bug:
27865109
(cherry picked from commit
ba6aae0b49932a0ae3050d1fc22c6571e51f8180)
Change-Id: Ia2a0cac929070a02bfbf3ed3eb0a30fc33aba46d
Nicolas Geoffray [Fri, 15 Apr 2016 13:16:34 +0000 (14:16 +0100)]
Properly initialize the is_osr_method_being_compiled_ flag.
bug:
27939339
Change-Id: I0a8bf42f97aff95cad9ebdbe788b868c3f2f5233
David Brazdil [Fri, 15 Apr 2016 11:12:59 +0000 (11:12 +0000)]
Merge changes Id1538275,I63632e88 into nyc-dev
* changes:
Rename test whose name was too long for some configs
ART: Update DCHECKs in SsaLivenessAnalysis::AddBackEdgeUses
Nicolas Geoffray [Tue, 12 Apr 2016 15:33:24 +0000 (16:33 +0100)]
Remove the JIT from the instrumentation framework.
This was slowing down the interpreter for no reason.
Also, call AddSamples for invoke-static and invoke-direct.
bug:
27865109
(cherry picked from commit
274fe4adcb0610a9920be7814d9beb9cac6417ce)
Change-Id: I3519456ac8e0c7211cbe3f12e88d134beee87479
David Brazdil [Fri, 15 Apr 2016 09:35:04 +0000 (10:35 +0100)]
Rename test whose name was too long for some configs
Bug:
27615840
Bug:
27624868
Change-Id: Id15382753a65a16d438abf514104233441444c8d
(cherry picked from commit
d5d892d412bba7132e40e0ab95c016770416615c)
David Brazdil [Thu, 14 Apr 2016 12:47:24 +0000 (13:47 +0100)]
ART: Update DCHECKs in SsaLivenessAnalysis::AddBackEdgeUses
Graph linearization in the presence of irreducible loops is not
guaranteed to generate a linear order where all blocks of a loop are
adjacent, first block is the header and last block is one of the back
edges.
These assumptions are made when inserting synthesized uses at the back
edges to aid the register allocator. Not meeting them will result in
the algorithm's early termination and back-edge uses not being added.
This patch updates the DCHECKs so the compiler does not fail in such
circumstances.
Bug:
27615840
Bug:
27624868
Change-Id: I63632e8819ea3644d5c6fdfea00b66128bf22c24
(cherry picked from commit
adf84911030ca36835c48cbff8be6b078693fb00)
David Brazdil [Thu, 14 Apr 2016 15:36:15 +0000 (16:36 +0100)]
ART: Save a bit of memory in production LICM
LICM uses a bit vector to DCHECK that inner loops are visited before
outer loops. Allocate the bit vector only if kIsDebugBuild.
Bug:
28173563
Change-Id: Ic2641607ebe55ad8974de2ebe03973f0bf182e42
(cherry picked from commit
aa680e89cf35ac3af7d3344d7960ba2f055e16d8)
Andreas Gampe [Wed, 13 Apr 2016 21:53:23 +0000 (14:53 -0700)]
ART: Add a System.getProperty cutout
Add support for certain keys of System.getProperty, derived
from AndroidHardcodedSystemProperties.
Allows to compile-time initialize:
* android.icu.impl.Utility
* java.net.URLDecoder
* java.net.URLEncoder
* java.util.regex.PatternSyntaxException
Bug:
27265238
Bug:
28174137
Change-Id: Ib919fb05f0459be19331ac356af34a968bf685cd
Richard Uhler [Mon, 4 Apr 2016 20:30:16 +0000 (13:30 -0700)]
Restore fallback behavior in the no-image stripped-dex case.
Add --strip-dex option to run-test to test this case.
Bug:
27599626
(cherry picked from commit
76f5cb6026b9c83bf00fd1007703503a327f704d)
Change-Id: I96bd2b013dd11ca1256f259181ea9c6087f16287
Alex Light [Tue, 12 Apr 2016 22:50:55 +0000 (15:50 -0700)]
Allow private methods in interfaces.
Private methods may be generated in interfaces during compilation of
some default methods. Change the verifier to allow these methods.
Bug:
27999840
(cherry picked from commit
b55f1ac873f9541f391625c13fe9129fbd38e74c)
Change-Id: Ib8120a8f6cb036021334d9af0ed78ae372974ecb
Mathieu Chartier [Fri, 8 Apr 2016 21:08:37 +0000 (14:08 -0700)]
Add imgdiag support for diff against zygote
Adds option --zygote-diff-pid. If this option is passed in then it
tries to differentiate objects that are private dirty by comparing
them against the zygote image contents if they are different from
the boot image contents.
Bug:
27906566
Change-Id: I6d214f73af5bf6de1f1a07f309065fc455cf7543
Calin Juravle [Wed, 13 Apr 2016 13:50:42 +0000 (14:50 +0100)]
Merge remote-tracking branch 'goog/master' into nyc-dev
Bug:
28081559
Bug:
28065407
Bug:
27865109
Bug:
27856014
Bug:
27894376
Bug:
27998571
Bug:
27995065
Bug:
28036230
Bill Buzbee [Wed, 13 Apr 2016 13:32:18 +0000 (13:32 +0000)]
Merge "Revert "Revert "ART: Improve JitProfile perf in x86 mterp""" am:
6990775 am:
feb48f1
am:
f57b6ac
* commit '
f57b6ac95c8436105638b779ddcdbaf17330d9a5':
Revert "Revert "ART: Improve JitProfile perf in x86 mterp""
Change-Id: Id9a536627594a121829c8a366fa3b1731f50a010
Bill Buzbee [Wed, 13 Apr 2016 13:28:59 +0000 (13:28 +0000)]
Merge "Revert "Revert "ART: Improve JitProfile perf in x86 mterp""" am:
6990775
am:
feb48f1
* commit '
feb48f11c422f63a8944db076739ab1b329aa3da':
Revert "Revert "ART: Improve JitProfile perf in x86 mterp""
Change-Id: I32828b204ddca18db00aef30b91336f1215a8ca7
Bill Buzbee [Wed, 13 Apr 2016 12:44:28 +0000 (12:44 +0000)]
Merge "Revert "Revert "ART: Improve JitProfile perf in x86 mterp"""
am:
6990775
* commit '
6990775e323cd9164d6cc10955a047b9d9f15f32':
Revert "Revert "ART: Improve JitProfile perf in x86 mterp""
Change-Id: I4fa915fa29400dee54c5475fed1aea55d4f73ded
Bill Buzbee [Wed, 13 Apr 2016 12:37:16 +0000 (12:37 +0000)]
Merge "Revert "Revert "ART: Improve JitProfile perf in x86 mterp"""
Calin Juravle [Wed, 13 Apr 2016 11:57:02 +0000 (11:57 +0000)]
Merge "Add option to tune sample collection based on thread sensitivity" am:
2c3b101 am:
a429ea7
am:
c90ccec
* commit '
c90ccec90605034ab52f3dc068e967f4639dfc1a':
Add option to tune sample collection based on thread sensitivity
Change-Id: I31a6c8265114ba8349f23aa171ea933771f9a6c6
Calin Juravle [Wed, 13 Apr 2016 11:53:49 +0000 (11:53 +0000)]
Merge "Add option to tune sample collection based on thread sensitivity" am:
2c3b101
am:
a429ea7
* commit '
a429ea7b6039aff0fbc7ac31b1e314e459d9418f':
Add option to tune sample collection based on thread sensitivity
Change-Id: Idb221810aa5834488f3057581a68154d7dcad0c6
Calin Juravle [Wed, 13 Apr 2016 11:50:26 +0000 (11:50 +0000)]
Merge "Add option to tune sample collection based on thread sensitivity"
am:
2c3b101
* commit '
2c3b101dae43877cd99d346279cf148de3b7f4f5':
Add option to tune sample collection based on thread sensitivity
Change-Id: I8d2fbefafd736615526470921ef0afe18ead3d6d
Calin Juravle [Wed, 13 Apr 2016 11:44:36 +0000 (11:44 +0000)]
Merge "Add option to tune sample collection based on thread sensitivity"
Calin Juravle [Thu, 7 Apr 2016 16:09:25 +0000 (17:09 +0100)]
Add option to tune sample collection based on thread sensitivity
Bug:
28065407
Bug:
27865109
Change-Id: Icdb89f8f8874a41c07e73185523d18e8956620d3
Vladimir Marko [Wed, 13 Apr 2016 10:50:50 +0000 (10:50 +0000)]
Merge "Allocate code generators on the arena." am:
38e398b am:
78203b1
am:
3e49f36
* commit '
3e49f369e4b1c47a91e7d41ae8b2884fe3882633':
Allocate code generators on the arena.
Change-Id: I3e78242f6016dcb2a0bf000345963c4dc8eb1aad
Vladimir Marko [Wed, 13 Apr 2016 10:47:38 +0000 (10:47 +0000)]
Merge "Allocate code generators on the arena." am:
38e398b
am:
78203b1
* commit '
78203b1d1dc0f8608500821fc28feacfc6e39fbd':
Allocate code generators on the arena.
Change-Id: Ic76ad2f759284fe0b2251957997758b784507310
Vladimir Marko [Wed, 13 Apr 2016 10:44:22 +0000 (10:44 +0000)]
Merge "Allocate code generators on the arena."
am:
38e398b
* commit '
38e398b7e1cb82c26838ef78dd71a7bf93e58995':
Allocate code generators on the arena.
Change-Id: I05d80fbfaa52439dc034f0078d10e2912c510d82
Hiroshi Yamauchi [Wed, 13 Apr 2016 10:44:22 +0000 (10:44 +0000)]
Merge "Revert "Ignore libcore.java.lang.OldSystemTest#test_gc failures with CC."" am:
f9eed16 am:
1151e83
am:
03d9dff
* commit '
03d9dffaa3ca8fbaf17d31455335cbd50720f8e6':
Revert "Ignore libcore.java.lang.OldSystemTest#test_gc failures with CC."
Change-Id: I17ec4ea45ed102d7e7434244bad2451d3e14960a
Vladimir Marko [Wed, 13 Apr 2016 10:41:20 +0000 (10:41 +0000)]
Merge "Allocate code generators on the arena."
Treehugger Robot [Wed, 13 Apr 2016 10:41:03 +0000 (10:41 +0000)]
Merge "Revert "Ignore libcore.java.lang.OldSystemTest#test_gc failures with CC."" am:
f9eed16
am:
1151e83
* commit '
1151e83a14588cba9e0208331a816676cfb98acc':
Revert "Ignore libcore.java.lang.OldSystemTest#test_gc failures with CC."
Change-Id: I7fbe052bd658d904152641ca1960441b418a1571
Hiroshi Yamauchi [Wed, 13 Apr 2016 10:37:52 +0000 (10:37 +0000)]
Merge "Revert "Ignore libcore.java.lang.OldSystemTest#test_gc failures with CC.""
am:
f9eed16
* commit '
f9eed16e175f8c7cb37d878acc772d653b07101e':
Revert "Ignore libcore.java.lang.OldSystemTest#test_gc failures with CC."
Change-Id: I98dc56af38ae6eecc9711866fcc2170c4f33dd23
Treehugger Robot [Wed, 13 Apr 2016 10:26:35 +0000 (10:26 +0000)]
Merge "Revert "Ignore libcore.java.lang.OldSystemTest#test_gc failures with CC.""
Andreas Gampe [Wed, 13 Apr 2016 04:37:12 +0000 (04:37 +0000)]
Merge "ART: Simplify unstarted-runtime ceil and floor" am:
4af8fac am:
a199630
am:
1e00d6a
* commit '
1e00d6aab4affb24b9bc2e48d9084bc75f5a3029':
ART: Simplify unstarted-runtime ceil and floor
Change-Id: I361c7d72a4ae649011b424e40db808265d46da95
Andreas Gampe [Wed, 13 Apr 2016 04:34:16 +0000 (04:34 +0000)]
Merge "ART: Simplify unstarted-runtime ceil and floor" am:
4af8fac
am:
a199630
* commit '
a19963071beef16b3b3efce6c5038bfe234b5e19':
ART: Simplify unstarted-runtime ceil and floor
Change-Id: Idf80cab0030abcdd82277d6d840e42ce722a19d1
Andreas Gampe [Wed, 13 Apr 2016 04:31:17 +0000 (04:31 +0000)]
Merge "ART: Simplify unstarted-runtime ceil and floor"
am:
4af8fac
* commit '
4af8fac07a5338c84c60d341e6dfcae82abaf73b':
ART: Simplify unstarted-runtime ceil and floor
Change-Id: Id31864d74756a5a1d8153483f080ee769666e648
Andreas Gampe [Wed, 13 Apr 2016 04:21:53 +0000 (04:21 +0000)]
Merge "ART: Simplify unstarted-runtime ceil and floor"
Andreas Gampe [Wed, 13 Apr 2016 01:07:36 +0000 (18:07 -0700)]
ART: Simplify unstarted-runtime ceil and floor
Just use the C functions like libcore does. Add tests.
Bug:
28132336
Change-Id: Ic5f469e8504c9f2b7756280558fd1610ed8015ba
Mathieu Chartier [Wed, 13 Apr 2016 01:48:33 +0000 (01:48 +0000)]
Merge "Fix InsertDexFileInToClassLoader to handle null class loaders" am:
e4010c6 am:
8a81b94
am:
4be9b2e
* commit '
4be9b2e4fb7a8c83b83a88fde336f113f77df471':
Fix InsertDexFileInToClassLoader to handle null class loaders
Change-Id: I1f91d6009cdc84920b08fe69e62fffca5b9ba08b
Mathieu Chartier [Wed, 13 Apr 2016 01:48:32 +0000 (01:48 +0000)]
Fix InsertDexFileInToClassLoader to handle null class loaders am:
f2bf9d6
am:
a5543be
* commit '
a5543bec09498e9c3b1c5293a20d6b0f087e2956':
Fix InsertDexFileInToClassLoader to handle null class loaders
Change-Id: I75a340a73ebe674fe4e346dee9e7eda5865a53c8
Mathieu Chartier [Wed, 13 Apr 2016 01:28:24 +0000 (01:28 +0000)]
Merge "Fix InsertDexFileInToClassLoader to handle null class loaders" am:
e4010c6
am:
8a81b94
* commit '
8a81b947208f74d0a863077670bad1ba378681f5':
Fix InsertDexFileInToClassLoader to handle null class loaders
Change-Id: Ib70bcabeff671bffef949c51dc6039dd553e3470