OSDN Git Service

android-x86/art.git
8 years agoFix regression in ModUnionTable RAM usage
Mathieu Chartier [Wed, 6 Apr 2016 22:27:19 +0000 (15:27 -0700)]
Fix regression in ModUnionTable RAM usage

We forgot to check if a reference changed before assigning it back,
this caused extra dirty pages in the image.

BusinessCard .art PSS
Before: 1678 KB
After: 991 KB

System wide .art PSS goes down ~20MB on my shamu.

Bug: 27906566

Change-Id: I6e398da79f0838960e4cb6650b24b1e6f60784ae

8 years agoCheck if we require barrier if we did not resolve classes
Mathieu Chartier [Wed, 6 Apr 2016 21:41:23 +0000 (14:41 -0700)]
Check if we require barrier if we did not resolve classes

Check fields instead of just always inserting the return void
barrier.

Bug: 28005874
Change-Id: I62cc1c3979304642109961fcf2607a7df065a162

8 years agoMerge "Shard classloader classes lock" into nyc-dev
Mathieu Chartier [Wed, 6 Apr 2016 18:42:12 +0000 (18:42 +0000)]
Merge "Shard classloader classes lock" into nyc-dev

8 years agoMerge "Change RequiresConstructorBarrier default to yes" into nyc-dev
Mathieu Chartier [Wed, 6 Apr 2016 18:32:33 +0000 (18:32 +0000)]
Merge "Change RequiresConstructorBarrier default to yes" into nyc-dev

8 years agoMerge "Fix thumb bit in the oatdump symbolizer." into nyc-dev
David Srbecky [Wed, 6 Apr 2016 18:27:31 +0000 (18:27 +0000)]
Merge "Fix thumb bit in the oatdump symbolizer." into nyc-dev

8 years agoChange RequiresConstructorBarrier default to yes
Mathieu Chartier [Wed, 6 Apr 2016 17:47:45 +0000 (10:47 -0700)]
Change RequiresConstructorBarrier default to yes

Previously it defaulted to false, this caused incorrect dex2dex if
the resolution pass was not run.

TODO: Re-enable the no barrier for no resolution case to improve
interpreter performance slightly.

Bug: 28005874
Change-Id: I6b2e5078e5a0d76317e5486cd5e4f04d995e7b56

8 years agoMerge "Fix and re-enable compiler_driver_test" into nyc-dev
Yi Kong [Wed, 6 Apr 2016 17:09:34 +0000 (17:09 +0000)]
Merge "Fix and re-enable compiler_driver_test" into nyc-dev

8 years agoFix and re-enable compiler_driver_test
Yi Kong [Mon, 4 Apr 2016 16:44:59 +0000 (17:44 +0100)]
Fix and re-enable compiler_driver_test

This reverts commit 6f58cb85328bed2f3ea246cce4080244544d7c2b.

The move to OpenJDK introduces new dependencies to compile these
methods, however we don't actually need them to run this test. Remove
them here to enable the test again.

Bug: 25836016
Change-Id: I75b12c48941fca6646142004accae8364e8c6dbc
(cherry picked from commit 5dcf19d402b4ea7023ced2afa8d615576fe2784f)

8 years agoART: Handle OOM in stack overflow
Mathieu Chartier [Mon, 4 Apr 2016 23:49:44 +0000 (16:49 -0700)]
ART: Handle OOM in stack overflow

When creating a stack overflow error, we must not allocate a
new out-of-memory error. Running its constructor will lead to
a nested exception.

Bug: 27663199

(cherry picked from commit e8f3f03ce142d9cdb10a1bb6bbbb428d0e8b672f)

Change-Id: I96b9682c3eb6ad71140a062cb357d4334c7fdaa5

8 years agoMerge "Change hash set to use noexcept" into nyc-dev
Mathieu Chartier [Wed, 6 Apr 2016 16:52:25 +0000 (16:52 +0000)]
Merge "Change hash set to use noexcept" into nyc-dev

8 years agoChange hash set to use noexcept
Mathieu Chartier [Wed, 6 Apr 2016 02:13:37 +0000 (19:13 -0700)]
Change hash set to use noexcept

Otherwise it uses copy constructor instead of move constructor in
some cases (like std::vector).

Reduces shared dirty native by around 350k.

Bug: 27860101

Change-Id: I2ece57e81349316c2f8ba0a57bda6f342faf3f3b

8 years agoShard classloader classes lock
Mathieu Chartier [Tue, 5 Apr 2016 21:36:57 +0000 (14:36 -0700)]
Shard classloader classes lock

Used to guard adding and removing classes.

Previously we used the class linker classes lock, but this had
a deadlock issue since the reference processor may need to acquire
the lock to mark the classes of a class loader. Another thread could
be blocked trying to access weak globals while also holding the
class linker classes lock.

Bug: 27946564
Change-Id: If7c13e8775f0912e104d1382eacdba7e7edf6818

8 years agoMerge "ART: Add arraycopy(byte) to unstarted runtime" into nyc-dev
Andreas Gampe [Tue, 5 Apr 2016 23:02:11 +0000 (23:02 +0000)]
Merge "ART: Add arraycopy(byte) to unstarted runtime" into nyc-dev

8 years agoART: Add arraycopy(byte) to unstarted runtime
Andreas Gampe [Tue, 5 Apr 2016 21:16:10 +0000 (14:16 -0700)]
ART: Add arraycopy(byte) to unstarted runtime

The byte-array version is now in use in libcore.

Allows to compile-time initialize:
* java.security.cert.X509CertSelector
* sun.security.pkcs.PKCS9Attribute
* sun.security.provider.certpath.AdaptableX509CertSelector
* sun.security.x509.AccessDescription
* sun.security.x509.AlgorithmId
* sun.security.x509.ExtendedKeyUsageExtension
* sun.security.x509.NetscapeCertTypeExtension
* sun.security.x509.OIDMap
* sun.security.x509.PKIXExtensions

Bug: 27265238
Change-Id: If6b680a455809152c9bd7a679a8ab430936c46a1

8 years agoMerge "ART: Don't attempt write flock if not zygote" into nyc-dev
Andreas Gampe [Tue, 5 Apr 2016 21:03:35 +0000 (21:03 +0000)]
Merge "ART: Don't attempt write flock if not zygote" into nyc-dev

8 years agoFix issued with non-public interface methods.
Alex Light [Thu, 31 Mar 2016 17:03:07 +0000 (10:03 -0700)]
Fix issued with non-public interface methods.

Some APK's ship with dex files containing non-public interface
methods. These would cause crashes on newer versions of ART due to
stricter verification of dex files. Make ART emit a warning but allow
this behavior.

Bug: 27928832

(cherry picked from commit d7c10c237bf2631630fac7982c3f374b1a27ed01)

Change-Id: Ia3689ee091aa154fb5954b1f6dd50c489128acce

8 years agoART: Don't attempt write flock if not zygote
Andreas Gampe [Tue, 5 Apr 2016 17:26:42 +0000 (10:26 -0700)]
ART: Don't attempt write flock if not zygote

When loading an image, don't attempt a RDWR flock if the process
is not the zygote. The lock will be rejected as the process does
not have permission to write the file.

Bug: 28011897
Change-Id: I567934c4e9a9a13e9131711240e9ecfdd58b69f7

8 years agoFix thumb bit in the oatdump symbolizer.
David Srbecky [Thu, 31 Mar 2016 17:17:59 +0000 (18:17 +0100)]
Fix thumb bit in the oatdump symbolizer.

MethodDebugInfo expects code address without the bit set.
Therefore we need to clear it before passing it to the DWARF writer.

(cherry picked from commit a1b4c5f562c67398e14756bd127ed806937ff35a)
Bug: 28017942
Change-Id: I37586b19f2a3fc95107abb6204a34e95a3816936

8 years agoMerge "ART: Return native debuggable status of the app." into nyc-dev
Oleksiy Vyalov [Tue, 5 Apr 2016 17:27:22 +0000 (17:27 +0000)]
Merge "ART: Return native debuggable status of the app." into nyc-dev

8 years agoMerge changes I56b0a4dd,I85aa52cc into nyc-dev
Narayan Kamath [Tue, 5 Apr 2016 17:21:00 +0000 (17:21 +0000)]
Merge changes I56b0a4dd,I85aa52cc into nyc-dev

* changes:
  unstarted_runtime: Update references to decimal format classes.
  unstarted_runtime: Add additional cutouts

8 years agoART: Return native debuggable status of the app.
Oleksiy Vyalov [Thu, 31 Mar 2016 03:27:00 +0000 (20:27 -0700)]
ART: Return native debuggable status of the app.

Bug: 27942453

Change-Id: I40820cfb1416d468331f9b6583f9e3809670f428

8 years agoMerge "ART: Dump less maps" into nyc-dev
Andreas Gampe [Mon, 4 Apr 2016 21:22:13 +0000 (21:22 +0000)]
Merge "ART: Dump less maps" into nyc-dev

8 years agoMark array classes as verification attempted
Mathieu Chartier [Sat, 2 Apr 2016 00:33:31 +0000 (17:33 -0700)]
Mark array classes as verification attempted

We now initialize all array classes in the compiler driver. This in
turn will ensure they are marked verified in the image. This
prevents dirty pages in the image since we would otherwise set the
flags in the zygote.

On BusinessCard:
Reduces shared dirty from 636k -> 432k for boot.art, and dirty pages
from 183 to 132.

Bug: 27906566

Change-Id: I99fcaffe2cb7f0235a1a0845bebc44e2dc94cbf0

8 years agoART: Dump less maps
Andreas Gampe [Sat, 2 Apr 2016 00:20:49 +0000 (17:20 -0700)]
ART: Dump less maps

Security has been tightened, so there are situations where we can't
load our files, and produce "log spam."

Bug: 27925454
Change-Id: Ia8c76184ea5087d625cf52d4459f8a557eebfafe

8 years agoMerge "Dump different fields in imgdiag" into nyc-dev
Mathieu Chartier [Fri, 1 Apr 2016 23:09:19 +0000 (23:09 +0000)]
Merge "Dump different fields in imgdiag" into nyc-dev

8 years agoDump different fields in imgdiag
Mathieu Chartier [Fri, 1 Apr 2016 20:56:41 +0000 (13:56 -0700)]
Dump different fields in imgdiag

Dump which fields are different, also print field values.

Bug: 27906566
Change-Id: Ia7b49981b59ccf058f098edcff4c39c10448b89e

8 years agoMerge changes from topic 'bad-classpath' into nyc-dev
Alex Light [Fri, 1 Apr 2016 21:36:57 +0000 (21:36 +0000)]
Merge changes from topic 'bad-classpath' into nyc-dev

* changes:
  Make test 146 run with secondary dex file in classpath.
  Make InvokeInterfaceTrampoline check methods

8 years agoMake test 146 run with secondary dex file in classpath.
Alex Light [Fri, 1 Apr 2016 18:40:16 +0000 (11:40 -0700)]
Make test 146 run with secondary dex file in classpath.

Bug: 27931085

(cherry picked from commit 24a4fdf9aadd37c44438841e661dccfb24eeb8c1)

Change-Id: Ie0b15d5fc94c2bb6d3707ecf985f6f72110e4d68

8 years agoMerge "ART: Better support for arraycopy in unstarted runtime" into nyc-dev
Andreas Gampe [Fri, 1 Apr 2016 18:41:13 +0000 (18:41 +0000)]
Merge "ART: Better support for arraycopy in unstarted runtime" into nyc-dev

8 years agoART: Better support for arraycopy in unstarted runtime
Andreas Gampe [Thu, 31 Mar 2016 20:30:53 +0000 (13:30 -0700)]
ART: Better support for arraycopy in unstarted runtime

Extend the System.arraycopy() cutout in the unstarted runtime
to support arrays with differing component types.

Add tests.

Bug: 27805718

(cherry picked from commit 85a098af5fc8d2dd0e39d61c9f93fc6257d631c5)

Change-Id: Iaacd95a372e9bfa26e9055a06b0d8f0335b8d6d1

8 years agoMake InvokeInterfaceTrampoline check methods
Alex Light [Thu, 31 Mar 2016 21:34:33 +0000 (14:34 -0700)]
Make InvokeInterfaceTrampoline check methods

InvokeInterfaceTrampoline was causing problems by looking into the
ImtConflictTable of non-imt-conflict-methods. This makes it check for
that before doing so.

Bug: 27931085

(cherry picked from commit 9fc547ac3936fe88e9592f4a47afd7b134cb607c)

Change-Id: I993178a371f8f46535a752e5c4d46d74777cefaf

8 years agoMerge "Refine OatFileAssistant.MakeUpToDate failure result." into nyc-dev
Richard Uhler [Fri, 1 Apr 2016 17:26:18 +0000 (17:26 +0000)]
Merge "Refine OatFileAssistant.MakeUpToDate failure result." into nyc-dev

8 years agounstarted_runtime: Update references to decimal format classes.
Narayan Kamath [Wed, 30 Mar 2016 14:41:54 +0000 (15:41 +0100)]
unstarted_runtime: Update references to decimal format classes.

We had a few special cases for thread local buffers and instances
created by our formatters / parsers. Update them to point to the
OpenJdk equivalents of the same classes.

bug: 27265238

(cherry picked from commit a1e93127fa078e589d186ffb132d2ef71c9ab5d3)

Change-Id: I56b0a4dd19762665393a205c1f6f0e549451f0f4

8 years agounstarted_runtime: Add additional cutouts
Narayan Kamath [Wed, 30 Mar 2016 12:11:18 +0000 (13:11 +0100)]
unstarted_runtime: Add additional cutouts

These allow us to initialize a further 90 classes. getIntVolatile
was used by the static initializer for ThreadLocal, which is used
quite frequently. This class was compile time initializable for M.

java.lang.System.getSecurityManager : 5 classes
sun.misc.Unsafe.getIntVolatile : 85 classes

bug: 27265238

(cherry picked from commit 34a316fa8b08d7b818c73ba8fd606a92b1e632ad)

Change-Id: I85aa52cc9a67123e2ac2feec48a96eb795427adf

8 years agoMerge "Revert "ART: Resolve all classes even when verify-profile"" into nyc-dev
Andreas Gampe [Fri, 1 Apr 2016 02:58:09 +0000 (02:58 +0000)]
Merge "Revert "ART: Resolve all classes even when verify-profile"" into nyc-dev

8 years agoMerge "ART: Do not run verification under lock" into nyc-dev
Andreas Gampe [Fri, 1 Apr 2016 01:08:44 +0000 (01:08 +0000)]
Merge "ART: Do not run verification under lock" into nyc-dev

8 years agoRevert "ART: Resolve all classes even when verify-profile"
Andreas Gampe [Fri, 1 Apr 2016 00:49:34 +0000 (17:49 -0700)]
Revert "ART: Resolve all classes even when verify-profile"

This reverts commit 82e8c1ff6d58e98a52725eeefc6c2407470239d2.

The deadlock is fixed by 884f3b83ed6b2a378535ac6b2be57d6b2e22de09.

Bug: 27924355

8 years agoART: Do not run verification under lock
Andreas Gampe [Thu, 31 Mar 2016 02:52:58 +0000 (19:52 -0700)]
ART: Do not run verification under lock

Do not hold the object lock for the duration of the verification.
Instead, use the kStatusVerifying indicator to wait, similar to
resolution.

Bug: 27924355

(cherry picked from commit 884f3b83ed6b2a378535ac6b2be57d6b2e22de09)

Change-Id: Ie831f47dd830756a1b7002ca9c792f8ff67570dc

8 years agoRefine OatFileAssistant.MakeUpToDate failure result.
Richard Uhler [Wed, 30 Mar 2016 19:17:55 +0000 (12:17 -0700)]
Refine OatFileAssistant.MakeUpToDate failure result.

Avoid misleading log messages if MakeUpToDate fails because we decided
not to compile dex code.

Bug: 27641809
(cherry picked from commit 1e860619cdcc9c0b6a202a247c50cf7633ac7b74)

Change-Id: Iab6f8ff2756393bfe3a7be4643e908be648bd10d

8 years agoDisable checks for b/27493510
Mathieu Chartier [Thu, 31 Mar 2016 22:05:45 +0000 (15:05 -0700)]
Disable checks for b/27493510

Disabled for performance now that the bug is fixed. Still enabled
for debug builds.

Bug: 27493510
Change-Id: I4838b63d79163b97b47e13b201349a72c352ff38

8 years agoAdd way to disable resolving for stack walk
Mathieu Chartier [Thu, 31 Mar 2016 18:07:09 +0000 (11:07 -0700)]
Add way to disable resolving for stack walk

Only occurs for walking the inlined frames case.

Bug: 27857910

Change-Id: Idb90254879ebae4c756ee1a3d235999ae589a2a8

8 years agoMerge "Obtain stack trace outside of critical section" into nyc-dev
Mathieu Chartier [Thu, 31 Mar 2016 19:59:38 +0000 (19:59 +0000)]
Merge "Obtain stack trace outside of critical section" into nyc-dev

8 years agoMerge "Only log excessive timeouts if those appear accidental" into nyc-dev
Hans Boehm [Thu, 31 Mar 2016 19:25:13 +0000 (19:25 +0000)]
Merge "Only log excessive timeouts if those appear accidental" into nyc-dev

8 years agoObtain stack trace outside of critical section
Mathieu Chartier [Tue, 29 Mar 2016 21:02:55 +0000 (14:02 -0700)]
Obtain stack trace outside of critical section

Fixes deadlock if the stack walk does allocations, changed stack
trace format to prevent slowdown.

Added missing GetInterfaceMethodIfProxy to fix a crash in maps.

Bug: 27857910

Change-Id: Iba86b7390a87349c38785297ac76751417b0fc87

8 years agoOnly log excessive timeouts if those appear accidental
Hans Boehm [Mon, 28 Mar 2016 21:36:23 +0000 (14:36 -0700)]
Only log excessive timeouts if those appear accidental

Do not generate a log message even when timeout would cause us to wake
up past the end of Linux time, if the timeout specification looks like
it was meant to wait forever.  Avoids log spam.

Bug: 27723547
Change-Id: I98d0fc1b1813a10ad906282957675b85bd933472
(cherry picked from commit fe76a629e7f9932c8e6a476d25358445273d893d)

8 years agoART: Add support for DexFile compiler filter function
Andreas Gampe [Thu, 31 Mar 2016 00:19:48 +0000 (17:19 -0700)]
ART: Add support for DexFile compiler filter function

Add support for getting a non-profile-guided version of a given
compiler filter.

Bug: 27921071
Change-Id: I54735b61732e6a5c9dc62425d04bc740dd365083

8 years agoMerge "Revert "Revert "Revert "ART: Improve JitProfile perf in arm/arm64 mterp""...
Calin Juravle [Thu, 31 Mar 2016 15:57:42 +0000 (15:57 +0000)]
Merge "Revert "Revert "Revert "ART: Improve JitProfile perf in arm/arm64 mterp"""" into nyc-dev

8 years agoFix profile save MaxBaxBackoff time
Calin Juravle [Thu, 31 Mar 2016 14:29:54 +0000 (15:29 +0100)]
Fix profile save MaxBaxBackoff time

Bug: 27914456
Bug: 27937568
Change-Id: Icb1de7ff09ed4305dcd247d4653329b3cae0c05e

8 years agoRevert "Revert "Revert "ART: Improve JitProfile perf in arm/arm64 mterp"""
Calin Juravle [Thu, 31 Mar 2016 14:37:30 +0000 (15:37 +0100)]
Revert "Revert "Revert "ART: Improve JitProfile perf in arm/arm64 mterp"""

This reverts commit 4a8ac9cee4312ac910fabf31c64d28d4c8362836.

Bug: 27939339

8 years agoMerge remote-tracking branch 'goog/master' into nyc-dev
Calin Juravle [Thu, 31 Mar 2016 10:56:29 +0000 (11:56 +0100)]
Merge remote-tracking branch 'goog/master' into nyc-dev

Bug: 27616343
Bug: 27851582
Bug: 27693977
Bug: 27690481
Bug: 27799205
Bug: 27683071
Bug: 27625564

Change-Id: I261eb9f3e8144e85233dc4313e674e75f812003c

8 years agoMerge "ART: Save or erase the file even if I/O failed" am: 6656f30 am: 4f4fc1a
Serdjuk, Nikolay Y [Thu, 31 Mar 2016 10:18:47 +0000 (10:18 +0000)]
Merge "ART: Save or erase the file even if I/O failed" am: 6656f30 am: 4f4fc1a
am: 09c508b

* commit '09c508be59e56e040288a4a76b8a14e1f1cd8164':
  ART: Save or erase the file even if I/O failed

Change-Id: Iddc6534cd50b9e6122ab4ea9141a205f3f809c7f

8 years agoMerge "ART: Save or erase the file even if I/O failed" am: 6656f30
Serdjuk, Nikolay Y [Thu, 31 Mar 2016 10:15:46 +0000 (10:15 +0000)]
Merge "ART: Save or erase the file even if I/O failed" am: 6656f30
am: 4f4fc1a

* commit '4f4fc1a69a24278009a91144d4a05997b02f3a4c':
  ART: Save or erase the file even if I/O failed

Change-Id: I1d230538f5be74f9eefe38c8d52153e79c9163b3

8 years agoMerge "ART: Fix TypeConversion from long const to float on x86_64" am: 922b88c am...
Pavel Vyssotski [Thu, 31 Mar 2016 10:13:07 +0000 (10:13 +0000)]
Merge "ART: Fix TypeConversion from long const to float on x86_64" am: 922b88c am: 8584295
am: c421203

* commit 'c421203f43a6379d6385f26baeaa23080233b4be':
  ART: Fix TypeConversion from long const to float on x86_64

Change-Id: I79d66be9e1447dd4b3064ae6ff02f07279a154e6

8 years agoMerge "ART: Save or erase the file even if I/O failed"
Serdjuk, Nikolay Y [Thu, 31 Mar 2016 10:13:07 +0000 (10:13 +0000)]
Merge "ART: Save or erase the file even if I/O failed"
am: 6656f30

* commit '6656f30115c4a6a52ca01f46ca84df125179466a':
  ART: Save or erase the file even if I/O failed

Change-Id: I0f4a5c3bf7b6a34a307a7eaf2fcf50c9c8c564f2

8 years agoMerge "ART: Fix TypeConversion from long const to float on x86_64" am: 922b88c
Pavel Vyssotski [Thu, 31 Mar 2016 10:10:25 +0000 (10:10 +0000)]
Merge "ART: Fix TypeConversion from long const to float on x86_64" am: 922b88c
am: 8584295

* commit '858429596e53e1e60978b25274e6130eb81734aa':
  ART: Fix TypeConversion from long const to float on x86_64

Change-Id: Ife107276244aa7cbc94f5ad40a51cf31446abc9c

8 years agoMerge "ART: Save or erase the file even if I/O failed"
Vladimir Marko [Thu, 31 Mar 2016 10:10:07 +0000 (10:10 +0000)]
Merge "ART: Save or erase the file even if I/O failed"

8 years agoMerge "ART: Fix TypeConversion from long const to float on x86_64"
Pavel Vyssotski [Thu, 31 Mar 2016 10:07:45 +0000 (10:07 +0000)]
Merge "ART: Fix TypeConversion from long const to float on x86_64"
am: 922b88c

* commit '922b88cd4203482b66ea4bee28e9921717ad2e6a':
  ART: Fix TypeConversion from long const to float on x86_64

Change-Id: I6bab607cad3e1d2bc81977c363531d942edbe4cd

8 years agoMerge "ART: Fix TypeConversion from long const to float on x86_64"
David Brazdil [Thu, 31 Mar 2016 10:00:41 +0000 (10:00 +0000)]
Merge "ART: Fix TypeConversion from long const to float on x86_64"

8 years agoART: Fix TypeConversion from long const to float on x86_64
Pavel Vyssotski [Wed, 16 Mar 2016 07:59:53 +0000 (13:59 +0600)]
ART: Fix TypeConversion from long const to float on x86_64

LocationsBuilderX86_64::VisitTypeConversion should load 32-bit
constant for float type.

Change-Id: I24335568af65e6b98bf07d36f90c8696497dd137
Signed-off-by: Pavel Vyssotski <pavel.n.vyssotski@intel.com>
8 years agoART: Save or erase the file even if I/O failed
Serdjuk, Nikolay Y [Tue, 22 Mar 2016 04:06:33 +0000 (10:06 +0600)]
ART: Save or erase the file even if I/O failed

It should close the file in any case.

Change-Id: Idb7db15bfecb0ac47839be3544cc2dce91096d7b
Signed-off-by: Serdjuk, Nikolay Y <nikolay.y.serdjuk@intel.com>
8 years agoMerge "ART: Resolve all classes even when verify-profile" into nyc-dev am: 6d1b247
Andreas Gampe [Wed, 30 Mar 2016 21:03:43 +0000 (21:03 +0000)]
Merge "ART: Resolve all classes even when verify-profile" into nyc-dev am: 6d1b247
am: 8d96e03

* commit '8d96e0389a11e60c4ab8fb09d80dc66e4fcccc05':
  ART: Resolve all classes even when verify-profile

Change-Id: I8693decc9b801d3c9f47153745ded1fa1f7d10ea

8 years agoMerge "ART: Resolve all classes even when verify-profile" into nyc-dev
Andreas Gampe [Wed, 30 Mar 2016 20:59:17 +0000 (20:59 +0000)]
Merge "ART: Resolve all classes even when verify-profile" into nyc-dev
am: 6d1b247

* commit '6d1b2472155335ef4e53af01543f9b208bf98dca':
  ART: Resolve all classes even when verify-profile

Change-Id: I9475c85db80c3c7438b9250d047caa8f83c9d95a

8 years agoMerge "ART: Resolve all classes even when verify-profile" into nyc-dev
Andreas Gampe [Wed, 30 Mar 2016 20:40:15 +0000 (20:40 +0000)]
Merge "ART: Resolve all classes even when verify-profile" into nyc-dev

8 years agoART: Resolve all classes even when verify-profile
Andreas Gampe [Wed, 30 Mar 2016 20:28:44 +0000 (13:28 -0700)]
ART: Resolve all classes even when verify-profile

Avoid deadlocks.

Bug: 27924355
Change-Id: I41e194a7b92075884cbc485d89baf32feb6783cb

8 years agoMerge "Fix arm64 simplifier bug that tries to remove same statement twice. With fail...
Aart Bik [Wed, 30 Mar 2016 19:19:48 +0000 (19:19 +0000)]
Merge "Fix arm64 simplifier bug that tries to remove same statement twice. With fail-before/pass-after test (on arm64)." am: 20eef17 am: 6461885
am: 34db8d0

* commit '34db8d0d57f96edc143821e8ef0fa66069301817':
  Fix arm64 simplifier bug that tries to remove same statement twice. With fail-before/pass-after test (on arm64).

Change-Id: I07eb019d1042abca65f52f8489ff57600e89b0d1

8 years agoMerge "Fix arm64 simplifier bug that tries to remove same statement twice. With fail...
Aart Bik [Wed, 30 Mar 2016 19:15:54 +0000 (19:15 +0000)]
Merge "Fix arm64 simplifier bug that tries to remove same statement twice. With fail-before/pass-after test (on arm64)." am: 20eef17
am: 6461885

* commit '64618859ba57957c05001c0be137a2c472e254f3':
  Fix arm64 simplifier bug that tries to remove same statement twice. With fail-before/pass-after test (on arm64).

Change-Id: I2fb7a4c4540d7d10c7059c4a9331cba41609e1d6

8 years agoMerge "Fix arm64 simplifier bug that tries to remove same statement twice. With fail...
Aart Bik [Wed, 30 Mar 2016 19:11:09 +0000 (19:11 +0000)]
Merge "Fix arm64 simplifier bug that tries to remove same statement twice. With fail-before/pass-after test (on arm64)."
am: 20eef17

* commit '20eef176101924d5047895214bad4e73b8ae35ec':
  Fix arm64 simplifier bug that tries to remove same statement twice. With fail-before/pass-after test (on arm64).

Change-Id: I3ed9c6d138c987981dd965d758cbb965c9ad0964

8 years agoMerge "ART: Fix unstarted runtime for Security" am: 13ce07a am: 946c902
Andreas Gampe [Wed, 30 Mar 2016 19:07:01 +0000 (19:07 +0000)]
Merge "ART: Fix unstarted runtime for Security" am: 13ce07a am: 946c902
am: 1225994

* commit '1225994f70bbc0fde72ea066ea15bfb62104fce9':
  ART: Fix unstarted runtime for Security

Change-Id: Id82dddf5ba575564e5e00312c1c2b3c5d1a12f0c

8 years agoMerge "Revert "Revert "ART: Improve JitProfile perf in arm/arm64 mterp""" am: 77376a4...
Bill Buzbee [Wed, 30 Mar 2016 19:07:00 +0000 (19:07 +0000)]
Merge "Revert "Revert "ART: Improve JitProfile perf in arm/arm64 mterp""" am: 77376a4 am: fbf9863
am: 38fc3bb

* commit '38fc3bb93cbbb9434cb3b4484e43600189587d7b':
  Revert "Revert "ART: Improve JitProfile perf in arm/arm64 mterp""

Change-Id: Ic7af3943534caa0ac8dfea01d776244ec85ad2a9

8 years agoMerge "Optimizing: Clean up after const-string sharpening." am: 3d8762c am: 2408bd4
Vladimir Marko [Wed, 30 Mar 2016 19:07:00 +0000 (19:07 +0000)]
Merge "Optimizing: Clean up after const-string sharpening." am: 3d8762c am: 2408bd4
am: c5e5012

* commit 'c5e50121b49e4d13d5498dcbef866a657c7ddf2d':
  Optimizing: Clean up after const-string sharpening.

Change-Id: Id03175e2056cc91ba43a3cafd04c1d5449401d82

8 years agoMerge "Don\'t return kPatchOatNeeded if there is no patch info." am: 20df4e4 am:...
Richard Uhler [Wed, 30 Mar 2016 19:06:59 +0000 (19:06 +0000)]
Merge "Don\'t return kPatchOatNeeded if there is no patch info." am: 20df4e4 am: a51239e
am: 208c090

* commit '208c0907d2355e0e3ebb85f0ee83b8ffbe16425a':
  Don't return kPatchOatNeeded if there is no patch info.

Change-Id: Idf8562b889df02a89d3be229c8526f5661279005

8 years agoMerge "ART: Fix unstarted runtime for Security" am: 13ce07a
Andreas Gampe [Wed, 30 Mar 2016 19:02:56 +0000 (19:02 +0000)]
Merge "ART: Fix unstarted runtime for Security" am: 13ce07a
am: 946c902

* commit '946c90280f9a699ca88fc59b0da65428bf085eb2':
  ART: Fix unstarted runtime for Security

Change-Id: I7bfaf0dc748f6fbfb64db57acaae3949c71230ba

8 years agoMerge "Revert "Revert "ART: Improve JitProfile perf in arm/arm64 mterp""" am: 77376a4
Bill Buzbee [Wed, 30 Mar 2016 19:02:56 +0000 (19:02 +0000)]
Merge "Revert "Revert "ART: Improve JitProfile perf in arm/arm64 mterp""" am: 77376a4
am: fbf9863

* commit 'fbf9863fbb24f9c9cc1ee03ad1770962d4c43516':
  Revert "Revert "ART: Improve JitProfile perf in arm/arm64 mterp""

Change-Id: I1c8a1b9e9e8be5bee22398c5cc064224d4ac1878

8 years agoMerge "Optimizing: Clean up after const-string sharpening." am: 3d8762c
Vladimir Marko [Wed, 30 Mar 2016 19:02:56 +0000 (19:02 +0000)]
Merge "Optimizing: Clean up after const-string sharpening." am: 3d8762c
am: 2408bd4

* commit '2408bd47b90d2e6d1536083d3f56932e71aadf76':
  Optimizing: Clean up after const-string sharpening.

Change-Id: I98dc57984f56ff2108277821570d8118366ea193

8 years agoMerge "Don\'t return kPatchOatNeeded if there is no patch info." am: 20df4e4
Richard Uhler [Wed, 30 Mar 2016 19:02:55 +0000 (19:02 +0000)]
Merge "Don\'t return kPatchOatNeeded if there is no patch info." am: 20df4e4
am: a51239e

* commit 'a51239e0c30c87e678876696041ef01e2d7f2962':
  Don't return kPatchOatNeeded if there is no patch info.

Change-Id: I4a01f2dde0efd37d8c8849a2b6a055cf19992451

8 years agoMerge "Fix arm64 simplifier bug that tries to remove same statement twice. With fail...
Aart Bik [Wed, 30 Mar 2016 18:59:27 +0000 (18:59 +0000)]
Merge "Fix arm64 simplifier bug that tries to remove same statement twice. With fail-before/pass-after test (on arm64)."

8 years agoMerge "Fix and tune ProfileSaver" into nyc-dev am: cbb3251
Calin Juravle [Wed, 30 Mar 2016 18:41:39 +0000 (18:41 +0000)]
Merge "Fix and tune ProfileSaver" into nyc-dev am: cbb3251
am: c49073d

* commit 'c49073d6a4f1d2349666b0b08de3b2dfbe995307':
  Fix and tune ProfileSaver

Change-Id: I49844766621d7c9230be6ec584a9ddf6eca5ea24

8 years agoMerge "Fix and tune ProfileSaver" into nyc-dev
Calin Juravle [Wed, 30 Mar 2016 18:36:51 +0000 (18:36 +0000)]
Merge "Fix and tune ProfileSaver" into nyc-dev
am: cbb3251

* commit 'cbb3251dc8f906c33c884380548c24ecd90a7d94':
  Fix and tune ProfileSaver

Change-Id: I3fc2d2975b3ad013fede7f8c24d36d9efb2d6a9c

8 years agoMerge "ART: Fix unstarted runtime for Security"
Andreas Gampe [Wed, 30 Mar 2016 18:27:36 +0000 (18:27 +0000)]
Merge "ART: Fix unstarted runtime for Security"
am: 13ce07a

* commit '13ce07a99ac84ec5819dbb1d872e3eebc087e355':
  ART: Fix unstarted runtime for Security

Change-Id: Ib3ec6bf0dc460e5160699f3fae0af1e986ca9e47

8 years agoMerge "Fix and tune ProfileSaver" into nyc-dev
Calin Juravle [Wed, 30 Mar 2016 18:27:26 +0000 (18:27 +0000)]
Merge "Fix and tune ProfileSaver" into nyc-dev

8 years agoMerge "ART: Fix unstarted runtime for Security"
Andreas Gampe [Wed, 30 Mar 2016 18:20:01 +0000 (18:20 +0000)]
Merge "ART: Fix unstarted runtime for Security"

8 years agoFix arm64 simplifier bug that tries to remove same statement twice.
Aart Bik [Tue, 29 Mar 2016 20:54:53 +0000 (13:54 -0700)]
Fix arm64 simplifier bug that tries to remove same statement twice.
With fail-before/pass-after test (on arm64).

Rationale:
This visitor removes statement "forward", which is a bit unusual, and
exposes a bug if statement is revisited and qualifies for removal again.

BUG=27851582

Change-Id: Ia8cddba32b4dfe9fd480852deb358eaa977f0e1f

8 years agoMerge "Revert "Revert "ART: Improve JitProfile perf in arm/arm64 mterp"""
Bill Buzbee [Wed, 30 Mar 2016 18:10:25 +0000 (18:10 +0000)]
Merge "Revert "Revert "ART: Improve JitProfile perf in arm/arm64 mterp"""
am: 77376a4

* commit '77376a4126f01e04e396ab71383a55be934939b2':
  Revert "Revert "ART: Improve JitProfile perf in arm/arm64 mterp""

Change-Id: I735e2459ffac61f6a15d1eba9147dfb224792d2e

8 years agoMerge "Revert "Revert "ART: Improve JitProfile perf in arm/arm64 mterp"""
Bill Buzbee [Wed, 30 Mar 2016 18:02:22 +0000 (18:02 +0000)]
Merge "Revert "Revert "ART: Improve JitProfile perf in arm/arm64 mterp"""

8 years agoMerge "Optimizing: Clean up after const-string sharpening."
Vladimir Marko [Wed, 30 Mar 2016 17:47:59 +0000 (17:47 +0000)]
Merge "Optimizing: Clean up after const-string sharpening."
am: 3d8762c

* commit '3d8762ce57f1975eccd7a9dab92974db41535949':
  Optimizing: Clean up after const-string sharpening.

Change-Id: I642b53133157e328f5e6425e41c40d7bdb408e75

8 years agoFix and tune ProfileSaver
Calin Juravle [Wed, 30 Mar 2016 17:18:58 +0000 (18:18 +0100)]
Fix and tune ProfileSaver

- the statement to mark the profile saved was not guarded by the right
condition.
- increase the backoff to 2x and maximum period time to 10 minutes.

As part of this change also
- fix typos
- remove uneeded warning
- add more VLOGs for easier debuging in the future

Bug: 27914456

Change-Id: I877c3256aa96d727ac4f443dc6e1f2bdb33c56c6

8 years agoMerge "Optimizing: Clean up after const-string sharpening."
Vladimir Marko [Wed, 30 Mar 2016 17:29:44 +0000 (17:29 +0000)]
Merge "Optimizing: Clean up after const-string sharpening."

8 years agoOptimizing: Clean up after const-string sharpening.
Vladimir Marko [Wed, 30 Mar 2016 15:30:21 +0000 (16:30 +0100)]
Optimizing: Clean up after const-string sharpening.

Do not look up the String for JIT, just check if it's in the
dex cache. Strings on hot paths should already be resolved
and we don't want to unnecessarily increase JIT compile time
to have a chance of improving a cold path.

Also, change the enum LinkerPatchType to be an inner enum
class of LinkerPatch and clean up casts between pointers and
uint64_t.

Change-Id: Ia6e0513af1a84ce94a3b30edac0c592157d374ec

8 years agoMerge "Don\'t return kPatchOatNeeded if there is no patch info." into nyc-dev am...
Richard Uhler [Wed, 30 Mar 2016 16:06:49 +0000 (16:06 +0000)]
Merge "Don\'t return kPatchOatNeeded if there is no patch info." into nyc-dev am: f7a9ff9
am: ca4ddaf

* commit 'ca4ddaf22677c32a20229a2c1410544c450ec75d':
  Don't return kPatchOatNeeded if there is no patch info.

Change-Id: I3762c921b9f4bc4f858c081ee5b34f150c1bd07c

8 years agoMerge "Optimizing: Improve const-string code generation." am: 085055f am: 0b92b73
Vladimir Marko [Wed, 30 Mar 2016 16:06:48 +0000 (16:06 +0000)]
Merge "Optimizing: Improve const-string code generation." am: 085055f am: 0b92b73
am: a1357a8

* commit 'a1357a82251881f69060bc33bb7c9256f70cda7b':
  Optimizing: Improve const-string code generation.

Change-Id: Ib0de96c301ab2e900430b50415fe435bd4c78abc

8 years agoMerge "Take into account the change in classes when analysing profiles" into nyc...
Calin Juravle [Wed, 30 Mar 2016 16:06:47 +0000 (16:06 +0000)]
Merge "Take into account the change in classes when analysing profiles" into nyc-dev am: c736384
am: 86d57b8

* commit '86d57b8972c40efdb3a744cf02a055801f689430':
  Take into account the change in classes when analysing profiles

Change-Id: Ie70ea4c0ca9eea39d9401e7fe7b5bd96a665d71f

8 years agoMerge "X86_64: Replace x86_64 xchg instruction use" am: a1eff4f am: 01098af
Mark Mendell [Wed, 30 Mar 2016 16:06:46 +0000 (16:06 +0000)]
Merge "X86_64: Replace x86_64 xchg instruction use" am: a1eff4f am: 01098af
am: 540d0a1

* commit '540d0a16691b8c5c296c55f301438452d6ed2113':
  X86_64: Replace x86_64 xchg instruction use

Change-Id: I2a42d461bcbe2ee2a2750f30bcc69d4f70d96beb

8 years agoMerge "ART: Flush ostream less frequently in GraphVisualizer" am: 15a605e am: 9049d07
David Brazdil [Wed, 30 Mar 2016 16:06:45 +0000 (16:06 +0000)]
Merge "ART: Flush ostream less frequently in GraphVisualizer" am: 15a605e am: 9049d07
am: 3c3a933

* commit '3c3a93307f98b91c1abda266b79bc093deef043a':
  ART: Flush ostream less frequently in GraphVisualizer

Change-Id: I26dae4e2e6f2f4d4487d59ca5cec18f5f62dd34d

8 years agoMerge "Don\'t return kPatchOatNeeded if there is no patch info."
Richard Uhler [Wed, 30 Mar 2016 15:29:13 +0000 (15:29 +0000)]
Merge "Don\'t return kPatchOatNeeded if there is no patch info."
am: 20df4e4

* commit '20df4e408e9d285920558e6afc8442a412df3ac4':
  Don't return kPatchOatNeeded if there is no patch info.

Change-Id: I916b37e140ac3296d1dc9046ae41993e9db79758

8 years agoMerge "Don\'t return kPatchOatNeeded if there is no patch info." into nyc-dev
Richard Uhler [Wed, 30 Mar 2016 15:29:13 +0000 (15:29 +0000)]
Merge "Don\'t return kPatchOatNeeded if there is no patch info." into nyc-dev
am: f7a9ff9

* commit 'f7a9ff9b6474d0cbebefa45149ed3827ed4e1048':
  Don't return kPatchOatNeeded if there is no patch info.

Change-Id: I5eb28e0eb19f7484e652405f6df025f3e68aee54

8 years agoMerge "Don't return kPatchOatNeeded if there is no patch info." into nyc-dev
Richard Uhler [Wed, 30 Mar 2016 15:21:57 +0000 (15:21 +0000)]
Merge "Don't return kPatchOatNeeded if there is no patch info." into nyc-dev

8 years agoMerge "Don't return kPatchOatNeeded if there is no patch info."
Richard Uhler [Wed, 30 Mar 2016 15:19:11 +0000 (15:19 +0000)]
Merge "Don't return kPatchOatNeeded if there is no patch info."

8 years agoMerge "Optimizing: Improve const-string code generation." am: 085055f
Vladimir Marko [Wed, 30 Mar 2016 14:05:33 +0000 (14:05 +0000)]
Merge "Optimizing: Improve const-string code generation." am: 085055f
am: 0b92b73

* commit '0b92b73c62ab4cc13ca040d4233fa69d182971cc':
  Optimizing: Improve const-string code generation.

Change-Id: I2246aca0c0b1b12b537479ee47c293bb3079081c

8 years agoMerge "Optimizing: Improve const-string code generation."
Vladimir Marko [Wed, 30 Mar 2016 14:01:24 +0000 (14:01 +0000)]
Merge "Optimizing: Improve const-string code generation."
am: 085055f

* commit '085055f933d76579c32586488951a4497ffcf10e':
  Optimizing: Improve const-string code generation.

Change-Id: Idd5a215e18abba1e2161f1848cb08aefb4719cf0

8 years agoMerge "Optimizing: Improve const-string code generation."
Vladimir Marko [Wed, 30 Mar 2016 13:47:59 +0000 (13:47 +0000)]
Merge "Optimizing: Improve const-string code generation."