OSDN Git Service

android-x86/art.git
8 years agoIncrease timeout for the 570-checker-osr test from 20s to 60s.
Vladimir Marko [Tue, 19 Apr 2016 15:10:21 +0000 (16:10 +0100)]
Increase timeout for the 570-checker-osr test from 20s to 60s.

We have added new tests to the 570-checker-osr test in
    https://android-review.googlesource.com/215877
without increasing the timeout and we're seeing a timeout
on the build bot but not locally.

Bug: 28210356
Change-Id: I52160e617772857c62c7cbb7de6cbb5c23c02a66

8 years agoMerge "Fix inlining loops in OSR mode."
Vladimir Marko [Tue, 19 Apr 2016 13:54:10 +0000 (13:54 +0000)]
Merge "Fix inlining loops in OSR mode."

8 years agoFix inlining loops in OSR mode.
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
Change-Id: If10057ed883333c62a878ed2ae3fe01bb5280e33

8 years agoMerge "Initialize a variable to suppress compiler error"
Vladimir Marko [Tue, 19 Apr 2016 10:38:44 +0000 (10:38 +0000)]
Merge "Initialize a variable to suppress compiler error"

8 years agoInitialize a variable to suppress compiler error
Goran Jakovljevic [Tue, 19 Apr 2016 08:27:21 +0000 (10:27 +0200)]
Initialize a variable to suppress compiler error

GCC (mips32 Buildbot) is complaining about the possibility of
uninitialized usage.

Change-Id: I217aa371189e06bed498288bf40e85406806c5ff

8 years agoMerge "ART: Fix IsLinearOrderWellFormed in liveness analysis"
David Brazdil [Tue, 19 Apr 2016 09:25:09 +0000 (09:25 +0000)]
Merge "ART: Fix IsLinearOrderWellFormed in liveness analysis"

8 years agoART: Fix IsLinearOrderWellFormed in liveness analysis
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
Change-Id: If430939b8fe793e4a9c974936180d06c1a9f90c6
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
8 years agoMerge changes I0f164a7d,I8c408aa6
Andreas Gampe [Tue, 19 Apr 2016 00:49:44 +0000 (00:49 +0000)]
Merge changes I0f164a7d,I8c408aa6

* changes:
  ART: Add cutout for Character.toLower/UpperCase
  ART: Add ClassLoader.getResourceAsStream cutout

8 years agoART: Add cutout for Character.toLower/UpperCase
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

(cherry picked from commit 0bdce99fcecdadcbafc8e7a9bb92f491a4f37b2a)

Change-Id: I0f164a7df4f26c0b266cef230e36f6ca3af20bde

8 years agoART: Add ClassLoader.getResourceAsStream cutout
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

(cherry picked from commit c94eeebc7cf3e577eed3ea380401007aea642bf3)

Change-Id: I8c408aa633086f4a1aa14bb1b404607b2498fe97

8 years agoMerge changes from topic 'monitor_lock'
Mathieu Chartier [Mon, 18 Apr 2016 23:18:29 +0000 (23:18 +0000)]
Merge changes from topic 'monitor_lock'

* changes:
  Prevent holding stale Thread pointers
  Add more info to monitor contention logging

8 years agoPrevent holding stale Thread pointers
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

(cherry picked from commit 81c170fede9af9174aba71428334ac8f366a4b4f)

Change-Id: I15e50b699303a5c3739e4d19c153dd306e2ee504

8 years agoAdd more info to monitor contention logging
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

(cherry picked from commit dc3c630ffdb3487bc46d878bf89c886f8ee69ef3)

Change-Id: I8777837df1433462878f29842f0aede330dd46c0

8 years agoMerge "Fix interaction between instrumentation and jit lock."
Nicolas Geoffray [Mon, 18 Apr 2016 12:23:17 +0000 (12:23 +0000)]
Merge "Fix interaction between instrumentation and jit lock."

8 years agoFix interaction between instrumentation and jit lock.
Nicolas Geoffray [Mon, 18 Apr 2016 11:09:30 +0000 (12:09 +0100)]
Fix interaction between instrumentation and jit lock.

The jit lock needs to have higher priority than the
deoptimized methods lock.

bug:28236735

Change-Id: I82862b8bfc82a5641156290926c04c80b1371534

8 years agoMerge "Increase vtable size for String class"
Yi Kong [Mon, 18 Apr 2016 09:57:23 +0000 (09:57 +0000)]
Merge "Increase vtable size for String class"

8 years agoMerge "Add weight to compiled/interpreter transitions."
Nicolas Geoffray [Mon, 18 Apr 2016 08:17:48 +0000 (08:17 +0000)]
Merge "Add weight to compiled/interpreter transitions."

8 years agoMerge "ART: Add a System.getProperty cutout"
Andreas Gampe [Sat, 16 Apr 2016 03:43:14 +0000 (03:43 +0000)]
Merge "ART: Add a System.getProperty cutout"

8 years agoART: Add a System.getProperty cutout
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

(cherry picked from commit 7107be612db6b15921b602ac9a3f24e9c2e7d414)

Change-Id: Ib919fb05f0459be19331ac356af34a968bf685cd

8 years agoMerge "ART: Fix nits for verifier change"
Andreas Gampe [Sat, 16 Apr 2016 01:32:29 +0000 (01:32 +0000)]
Merge "ART: Fix nits for verifier change"

8 years agoART: Fix nits for verifier change
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

8 years agoIncrease vtable size for String class
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

8 years agoMerge "Disable stripped-dex test for no-dex2oat."
Richard Uhler [Fri, 15 Apr 2016 21:03:59 +0000 (21:03 +0000)]
Merge "Disable stripped-dex test for no-dex2oat."

8 years agoDisable stripped-dex test for no-dex2oat.
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
Change-Id: Id94e76057201c8fb26b68d7123469cf4c61464e4

8 years agoMerge "Remove the no-longer-needed F/I and D/J alias."
Aart Bik [Fri, 15 Apr 2016 19:04:13 +0000 (19:04 +0000)]
Merge "Remove the no-longer-needed F/I and D/J alias."

8 years agoMerge "Fix: correctly destruct VIXL labels."
Roland Levillain [Fri, 15 Apr 2016 18:55:20 +0000 (18:55 +0000)]
Merge "Fix: correctly destruct VIXL labels."

8 years agoRemove the no-longer-needed F/I and D/J alias.
Aart Bik [Wed, 13 Apr 2016 23:41:35 +0000 (16:41 -0700)]
Remove the no-longer-needed F/I and D/J alias.

Rationale:
Now that our HIR is type clean (yeah!), we no longer have
to conservatively assume F/I and D/J are aliased. This
enables more accurate side effects analysis, with improvements
in all clients, such a LICM.

Refinement:
The HIR is not completely clean between building and SSA.
This refinement takes care of that, with new tests.

BUG=22538329

Change-Id: Id78ff0ff4e325aeebf0022d868937cff73d3a742

8 years agoMerge "Enable allocation elimination as part of LSE"
Mingyao Yang [Fri, 15 Apr 2016 17:30:05 +0000 (17:30 +0000)]
Merge "Enable allocation elimination as part of LSE"

8 years agoMerge "OpenJdkJVM: Fix Mac OS build."
Narayan Kamath [Fri, 15 Apr 2016 17:25:28 +0000 (17:25 +0000)]
Merge "OpenJdkJVM: Fix Mac OS build."

8 years agoMerge "Revert "Revert "ART: Improve JitProfile perf in x86_64 mterp"""
Bill Buzbee [Fri, 15 Apr 2016 17:09:07 +0000 (17:09 +0000)]
Merge "Revert "Revert "ART: Improve JitProfile perf in x86_64 mterp"""

8 years agoMerge "Revert "Use dex cache from compilation unit in RTP.""
Nicolas Geoffray [Fri, 15 Apr 2016 17:01:25 +0000 (17:01 +0000)]
Merge "Revert "Use dex cache from compilation unit in RTP.""

8 years agoRevert "Use dex cache from compilation unit in RTP."
Nicolas Geoffray [Fri, 15 Apr 2016 17:01:11 +0000 (17:01 +0000)]
Revert "Use dex cache from compilation unit in RTP."

bug:28210356

This reverts commit 27bb86edf60e2f9ca2c1075c0c86b9e79374f1d0.

Change-Id: Ib27ee90a7e4d516fd2db67a9c4e454023737841a

8 years agoOpenJdkJVM: Fix Mac OS build.
Narayan Kamath [Fri, 15 Apr 2016 16:51:55 +0000 (17:51 +0100)]
OpenJdkJVM: Fix Mac OS build.

bug: 28192631
Change-Id: I423d5e79aacfbe82e22d095ffbfd3eefedbb484b

8 years agoMerge "OpenJdkJVM: Fix JVM_Lseek"
Narayan Kamath [Fri, 15 Apr 2016 16:30:17 +0000 (16:30 +0000)]
Merge "OpenJdkJVM: Fix JVM_Lseek"

8 years agoEnable allocation elimination as part of LSE
Mingyao Yang [Wed, 2 Mar 2016 18:15:36 +0000 (10:15 -0800)]
Enable allocation elimination as part of LSE

After load-store elimination, an allocation may not be used any more
and may be eliminated.

Change-Id: I7fcaaefa9d6ec2c611e46119c5799293770a917c

8 years agoRevert "Revert "ART: Improve JitProfile perf in x86_64 mterp""
Bill Buzbee [Mon, 4 Apr 2016 16:59:35 +0000 (16:59 +0000)]
Revert "Revert "ART: Improve JitProfile perf in x86_64 mterp""

Bug: 215853

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.

Change-Id: If86a5d43469d8a958e007acc0afe924330de5c16

8 years agoOpenJdkJVM: Fix JVM_Lseek
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

Change-Id: Ic27aa6c03122b29d53e75ead56870a8cb7867fd3

8 years agoAdd weight to compiled/interpreter transitions.
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

Change-Id: I84512f7d957b61ce2458360ed430adb151830278

8 years agoMerge "Track removal of String hash functions."
Narayan Kamath [Fri, 15 Apr 2016 14:31:00 +0000 (14:31 +0000)]
Merge "Track removal of String hash functions."

8 years agoTrack removal of String hash functions.
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
Change-Id: If402a372c010b673ef54949e13815b4ae9d3fb99

8 years agoMerge "Properly initialize the is_osr_method_being_compiled_ flag."
Nicolas Geoffray [Fri, 15 Apr 2016 13:50:32 +0000 (13:50 +0000)]
Merge "Properly initialize the is_osr_method_being_compiled_ flag."

8 years agoProperly initialize the is_osr_method_being_compiled_ flag.
Nicolas Geoffray [Fri, 15 Apr 2016 13:16:34 +0000 (14:16 +0100)]
Properly initialize the is_osr_method_being_compiled_ flag.

bug:27939339

(cherry picked from commit 7982f347f5a32db79a0bf03354857a9f7f1f1948)

Change-Id: I4b3a78dac338af51bf7c9ecb7a48d90aad370938

8 years agoFix: correctly destruct VIXL labels.
Alexandre Rames [Fri, 15 Apr 2016 10:54:06 +0000 (11:54 +0100)]
Fix: correctly destruct VIXL labels.

Bug: 27505766
Change-Id: I077465e3d308f4331e7a861902e05865f9d99835

8 years agoMerge "Rename test whose name was too long for some configs"
David Brazdil [Fri, 15 Apr 2016 09:37:17 +0000 (09:37 +0000)]
Merge "Rename test whose name was too long for some configs"

8 years agoRename test whose name was too long for some configs
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

8 years agoMerge "Fix CFI fixups for long branches on MIPS."
Vladimir Marko [Fri, 15 Apr 2016 09:23:47 +0000 (09:23 +0000)]
Merge "Fix CFI fixups for long branches on MIPS."

8 years agoMerge "Use dex cache from compilation unit in RTP."
Vladimir Marko [Fri, 15 Apr 2016 08:59:16 +0000 (08:59 +0000)]
Merge "Use dex cache from compilation unit in RTP."

8 years agoMerge "Disable stripped-dex test on target."
Richard Uhler [Thu, 14 Apr 2016 21:19:56 +0000 (21:19 +0000)]
Merge "Disable stripped-dex test on target."

8 years agoDisable stripped-dex test on target.
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

Change-Id: I5ba075165d96d831a4b8e0912cff1319071c60a5

8 years agoMerge "ART: Make iget receiver mismatch hard verifier error"
Andreas Gampe [Thu, 14 Apr 2016 20:09:00 +0000 (20:09 +0000)]
Merge "ART: Make iget receiver mismatch hard verifier error"

8 years agoART: Make iget receiver mismatch hard verifier error
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

8 years agoUse dex cache from compilation unit in RTP.
Vladimir Marko [Thu, 14 Apr 2016 17:07:55 +0000 (18:07 +0100)]
Use dex cache from compilation unit in RTP.

Avoid calling the costly ClassLinker::FindDexCache() from
reference type propagation when the dex cache from the
compilation unit will do, i.e. almost always. Compiling
the Nexus 5 boot image on host under perf(1) shows that
the FindDexCache() hits drop from about 0.2% to almost
nothing, though enabling inlining for the boot image will
increase it a bit to 0.03% due to unavoidable calls from
the inliner.

Also clean up the ScopedObjectAccess usage a bit.

Change-Id: I426a5f9f5da9e64fad2ea57654240789a48d3871

8 years agoMerge "Restore fallback behavior in the no-image stripped-dex case."
Richard Uhler [Thu, 14 Apr 2016 16:11:40 +0000 (16:11 +0000)]
Merge "Restore fallback behavior in the no-image stripped-dex case."

8 years agoMerge "ART: Save a bit of memory in production LICM"
David Brazdil [Thu, 14 Apr 2016 15:59:02 +0000 (15:59 +0000)]
Merge "ART: Save a bit of memory in production LICM"

8 years agoMerge "ART: Update DCHECKs in SsaLivenessAnalysis::AddBackEdgeUses"
David Brazdil [Thu, 14 Apr 2016 15:56:40 +0000 (15:56 +0000)]
Merge "ART: Update DCHECKs in SsaLivenessAnalysis::AddBackEdgeUses"

8 years agoART: Save a bit of memory in production LICM
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.

Change-Id: Ic2641607ebe55ad8974de2ebe03973f0bf182e42

8 years agoART: Update DCHECKs in SsaLivenessAnalysis::AddBackEdgeUses
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

8 years agoMerge "Fix initialization of field after conflicting merges."
Nicolas Geoffray [Thu, 14 Apr 2016 13:34:36 +0000 (13:34 +0000)]
Merge "Fix initialization of field after conflicting merges."

8 years agoFix initialization of field after conflicting merges.
Nicolas Geoffray [Thu, 14 Apr 2016 13:17:29 +0000 (14:17 +0100)]
Fix initialization of field after conflicting merges.

Change-Id: I5c887d5cbcd94f51c3566e964d217a906dbaa9ea

8 years agoMerge "Don't use JACK alpha anymore."
Nicolas Geoffray [Thu, 14 Apr 2016 12:39:05 +0000 (12:39 +0000)]
Merge "Don't use JACK alpha anymore."

8 years agoDon't use JACK alpha anymore.
Nicolas Geoffray [Thu, 14 Apr 2016 12:32:01 +0000 (13:32 +0100)]
Don't use JACK alpha anymore.

Change-Id: Id37d90446be5d63cb0cf0131e34b562147e88335

8 years agoMerge "Fix copy-paste nit"
Vladimir Marko [Thu, 14 Apr 2016 10:48:16 +0000 (10:48 +0000)]
Merge "Fix copy-paste nit"

8 years agoMerge "Use dex cache from compilation unit in HInstructionBuilder."
Vladimir Marko [Thu, 14 Apr 2016 10:30:39 +0000 (10:30 +0000)]
Merge "Use dex cache from compilation unit in HInstructionBuilder."

8 years agoFix CFI fixups for long branches on MIPS.
Vladimir Marko [Thu, 14 Apr 2016 10:27:34 +0000 (11:27 +0100)]
Fix CFI fixups for long branches on MIPS.

Change-Id: Ibc078e6dc5d7ef423c6a3db855f19f1426e0ea5a

8 years agoFix copy-paste nit
Goran Jakovljevic [Thu, 14 Apr 2016 09:46:58 +0000 (11:46 +0200)]
Fix copy-paste nit

Pair ENTRY and END macros.

Change-Id: I17dcc61cdd02b2c26b9920e5385b6cb1420b18dd

8 years agoMerge "Remove the JIT from the instrumentation framework."
Nicolas Geoffray [Thu, 14 Apr 2016 09:47:04 +0000 (09:47 +0000)]
Merge "Remove the JIT from the instrumentation framework."

8 years agoUse dex cache from compilation unit in HInstructionBuilder.
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.

Change-Id: Id9df61c79db9a67e3f12c857f32a4ca80e5420c3

8 years agoMerge "Revert "Remove the no-longer-needed F/I and D/J alias.""
Aart Bik [Wed, 13 Apr 2016 22:34:17 +0000 (22:34 +0000)]
Merge "Revert "Remove the no-longer-needed F/I and D/J alias.""

8 years agoMerge "Allow private methods in interfaces."
Treehugger Robot [Wed, 13 Apr 2016 22:05:51 +0000 (22:05 +0000)]
Merge "Allow private methods in interfaces."

8 years agoRevert "Remove the no-longer-needed F/I and D/J alias."
Aart Bik [Wed, 13 Apr 2016 21:17:17 +0000 (21:17 +0000)]
Revert "Remove the no-longer-needed F/I and D/J alias."

This reverts commit 2f52064dcfe5ebce5a998d30766ca079a366c920.

Reason:

Arrays.sort() returns wrong result on double[] and this CL is the most likely suspect. Rolling back to buy some time for careful analysis and debugging.

Change-Id: I58223c42e95c2287520eef863fbcb738b0736d4d

8 years agoAllow private methods in interfaces.
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

Change-Id: Ib8120a8f6cb036021334d9af0ed78ae372974ecb

8 years agoRestore fallback behavior in the no-image stripped-dex case.
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
Change-Id: I010543f48c39adbda007e2e05dda62ac1d70715c

8 years agoMerge "Add imgdiag support for diff against zygote"
Mathieu Chartier [Wed, 13 Apr 2016 19:11:29 +0000 (19:11 +0000)]
Merge "Add imgdiag support for diff against zygote"

8 years agoAdd imgdiag support for diff against zygote
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

(cherry picked from commit 1398cf23ab47d250ea3eea39812e29a748b70777)

Change-Id: I99b1552d046e65dd9da0d1bdb8cb309aa0f9b0db

8 years agoMerge "Move Assemblers to the Arena."
Vladimir Marko [Wed, 13 Apr 2016 16:55:11 +0000 (16:55 +0000)]
Merge "Move Assemblers to the Arena."

8 years agoMove Assemblers to the Arena.
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.

Change-Id: I3017302307a0253d661240750298802fb0d9585e

8 years agoRemove the JIT from the instrumentation framework.
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.

Change-Id: I7b5641097f7741dd32feb1ce6af739fd27fb37c2

8 years agoMerge "Remove the no-longer-needed F/I and D/J alias."
Aart Bik [Wed, 13 Apr 2016 16:15:35 +0000 (16:15 +0000)]
Merge "Remove the no-longer-needed F/I and D/J alias."

8 years agoMerge "Revert "Revert "ART: Improve JitProfile perf in x86 mterp"""
Bill Buzbee [Wed, 13 Apr 2016 12:37:16 +0000 (12:37 +0000)]
Merge "Revert "Revert "ART: Improve JitProfile perf in x86 mterp"""

8 years agoMerge "Add option to tune sample collection based on thread sensitivity"
Calin Juravle [Wed, 13 Apr 2016 11:44:36 +0000 (11:44 +0000)]
Merge "Add option to tune sample collection based on thread sensitivity"

8 years agoAdd 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

8 years agoMerge "Allocate code generators on the arena."
Vladimir Marko [Wed, 13 Apr 2016 10:41:20 +0000 (10:41 +0000)]
Merge "Allocate code generators on the arena."

8 years agoMerge "Revert "Ignore libcore.java.lang.OldSystemTest#test_gc failures with CC.""
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.""

8 years agoMerge "ART: Simplify unstarted-runtime ceil and floor"
Andreas Gampe [Wed, 13 Apr 2016 04:21:53 +0000 (04:21 +0000)]
Merge "ART: Simplify unstarted-runtime ceil and floor"

8 years agoART: 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

8 years agoRemove the no-longer-needed F/I and D/J alias.
Aart Bik [Tue, 12 Apr 2016 22:05:45 +0000 (15:05 -0700)]
Remove the no-longer-needed F/I and D/J alias.

Rationale:
Now that our HIR is type clean (yeah!), we no longer have
to conservatively assume F/I and D/J are aliased. This
enables more accurate side effects analysis, with improvements
in all clients, such a LICM.

BUG=22538329

Change-Id: Iba1fb09ff063f31b5893f588aa6d0c5ab3b42f39

8 years agoRevert "Ignore libcore.java.lang.OldSystemTest#test_gc failures with CC."
Hiroshi Yamauchi [Wed, 13 Apr 2016 01:22:29 +0000 (18:22 -0700)]
Revert "Ignore libcore.java.lang.OldSystemTest#test_gc failures with CC."

This reverts commit e693ba17e8b758a1894dd1b53f733471afc5976d.

Bug: 26155567

8 years agoMerge "Fix InsertDexFileInToClassLoader to handle null class loaders"
Mathieu Chartier [Wed, 13 Apr 2016 01:19:08 +0000 (01:19 +0000)]
Merge "Fix InsertDexFileInToClassLoader to handle null class loaders"

8 years agoFix InsertDexFileInToClassLoader to handle null class loaders
Mathieu Chartier [Tue, 12 Apr 2016 23:54:48 +0000 (16:54 -0700)]
Fix InsertDexFileInToClassLoader to handle null class loaders

Maybe used by legacy apps. This functionality is planned for
deprecation.

Bug: 27954959

(cherry picked from commit f2bf9d640e37b72be8b4f6016d4aa95a0e27b7b4)

Change-Id: I1ae2cf1e33f2f1b237a41c8cc50d2a814a52a95a

8 years agoMerge "ART: Flag to fail thread creation"
Andreas Gampe [Tue, 12 Apr 2016 22:27:18 +0000 (22:27 +0000)]
Merge "ART: Flag to fail thread creation"

8 years agoART: Flag to fail thread creation
Andreas Gampe [Mon, 11 Apr 2016 15:42:26 +0000 (08:42 -0700)]
ART: Flag to fail thread creation

Add a flag to mark when the zygote is not allowed to create threads.

Bug: 27248115
Bug: 28149511

(cherry picked from commit 415d8070e37c20dfb7e6dc37e74fdb5fffc2022e)

Change-Id: I1dc3620d9e7d0054c672b993d89459fc4b353dfc

8 years agoMerge "ART: Add Makefile target for boot image"
Andreas Gampe [Tue, 12 Apr 2016 20:46:41 +0000 (20:46 +0000)]
Merge "ART: Add Makefile target for boot image"

8 years agoAllocate code generators on the arena.
Vladimir Marko [Tue, 12 Apr 2016 17:51:43 +0000 (18:51 +0100)]
Allocate code generators on the arena.

Change-Id: If8cf0ee43711f6e13171443e3c057ff370ccfbaa

8 years agoMerge "Assembly region TLAB allocation fast path for arm64."
Hiroshi Yamauchi [Tue, 12 Apr 2016 17:33:34 +0000 (17:33 +0000)]
Merge "Assembly region TLAB allocation fast path for arm64."

8 years agoART: Add Makefile target for boot image
Andreas Gampe [Mon, 11 Apr 2016 18:57:18 +0000 (11:57 -0700)]
ART: Add Makefile target for boot image

Add a phony Makefile target that depends on the dexopted boot image.
This allows to test out changes easily, for example, for compile-time
initialization:

 m art-boot-image ART_BOOT_IMAGE_EXTRA_ARGS=--dump-init-failures=fails.txt

Bug: 27265238
Change-Id: I9d54c562a2e623b23b7c1dea9cdbe303786c95dd

8 years agoMerge "Small changes in ARM and x86-64 SystemArrayCopy intrinsics."
Roland Levillain [Tue, 12 Apr 2016 16:18:08 +0000 (16:18 +0000)]
Merge "Small changes in ARM and x86-64 SystemArrayCopy intrinsics."

8 years agoSmall changes in ARM and x86-64 SystemArrayCopy intrinsics.
Roland Levillain [Tue, 12 Apr 2016 14:42:57 +0000 (15:42 +0100)]
Small changes in ARM and x86-64 SystemArrayCopy intrinsics.

Have these intrinsics share a more uniform style with the
ARM64 SystemArrayCopy intrinsic.

Also make some changes/improvements in:
- art::IntrinsicOptimizations
- art::arm64::GenSystemArrayCopyAddresses

Change-Id: Ieeb224795229580f8e5f7219c586d04786d8c705

8 years agoMerge "ART: Speed up HGraph::PopulateIrreducibleRecursive"
David Brazdil [Tue, 12 Apr 2016 14:19:33 +0000 (14:19 +0000)]
Merge "ART: Speed up HGraph::PopulateIrreducibleRecursive"

8 years agoART: Speed up HGraph::PopulateIrreducibleRecursive
David Brazdil [Tue, 5 Apr 2016 16:15:19 +0000 (17:15 +0100)]
ART: Speed up HGraph::PopulateIrreducibleRecursive

Populating an irreducible loop can potentially traverse all possible
paths through the HGraph, leading to an exponential algorithm.
This patch adds a bit vector of nodes whose membership in the loop
has been decided and need not be revisited again.

Bug: 27856014
Change-Id: I3696f08c846e6f40e5de44cb771811bac7e3e08a

8 years agoMerge "Remove recursive ALWAYS_INLINE"
Vladimir Marko [Tue, 12 Apr 2016 13:58:51 +0000 (13:58 +0000)]
Merge "Remove recursive ALWAYS_INLINE"