OSDN Git Service

android-x86/art.git
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 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 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."

8 years agoMerge "Take into account the change in classes when analysing profiles" into nyc-dev
Calin Juravle [Wed, 30 Mar 2016 12:42:49 +0000 (12:42 +0000)]
Merge "Take into account the change in classes when analysing profiles" into nyc-dev
am: c736384

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

Change-Id: I2c06df94b5973756cf9c743ae7a81fa6a3226f9a

8 years agoMerge "Take into account the change in classes when analysing profiles" into nyc-dev
Calin Juravle [Wed, 30 Mar 2016 12:32:15 +0000 (12:32 +0000)]
Merge "Take into account the change in classes when analysing profiles" into nyc-dev

8 years agoMerge "X86_64: Replace x86_64 xchg instruction use" am: a1eff4f
Mark Mendell [Wed, 30 Mar 2016 10:12:21 +0000 (10:12 +0000)]
Merge "X86_64: Replace x86_64 xchg instruction use" am: a1eff4f
am: 01098af

* commit '01098af7a530ca65dcf5a40b3799c5147e49bd64':
  X86_64: Replace x86_64 xchg instruction use

Change-Id: Ifbc573d474fe34e6892ee323d53fc93c95c53dba

8 years agoMerge "X86_64: Replace x86_64 xchg instruction use"
Mark Mendell [Wed, 30 Mar 2016 10:08:25 +0000 (10:08 +0000)]
Merge "X86_64: Replace x86_64 xchg instruction use"
am: a1eff4f

* commit 'a1eff4f279253bbc90d2697d7c15390bcab65d1e':
  X86_64: Replace x86_64 xchg instruction use

Change-Id: I3a95d8b662a424f0f218acf31894fdf86b4bbca2

8 years agoMerge "ART: Flush ostream less frequently in GraphVisualizer" am: 15a605e
David Brazdil [Wed, 30 Mar 2016 10:00:28 +0000 (10:00 +0000)]
Merge "ART: Flush ostream less frequently in GraphVisualizer" am: 15a605e
am: 9049d07

* commit '9049d072d9d815c8056d80d700cffa4b97971ecd':
  ART: Flush ostream less frequently in GraphVisualizer

Change-Id: Ib0a084edf89452e9ec52002b905bcd2997b71135

8 years agoMerge "X86_64: Replace x86_64 xchg instruction use"
Vladimir Marko [Wed, 30 Mar 2016 09:58:54 +0000 (09:58 +0000)]
Merge "X86_64: Replace x86_64 xchg instruction use"

8 years agoMerge "ART: Flush ostream less frequently in GraphVisualizer"
David Brazdil [Wed, 30 Mar 2016 09:56:32 +0000 (09:56 +0000)]
Merge "ART: Flush ostream less frequently in GraphVisualizer"
am: 15a605e

* commit '15a605e8fba716297cef70b8396ffe011c420f94':
  ART: Flush ostream less frequently in GraphVisualizer

Change-Id: Iae7e60ede55207aab504de596170a0bf7615e787

8 years agoMerge "ART: Flush ostream less frequently in GraphVisualizer"
David Brazdil [Wed, 30 Mar 2016 09:46:14 +0000 (09:46 +0000)]
Merge "ART: Flush ostream less frequently in GraphVisualizer"

8 years agoART: Flush ostream less frequently in GraphVisualizer
David Brazdil [Wed, 30 Mar 2016 08:41:02 +0000 (09:41 +0100)]
ART: Flush ostream less frequently in GraphVisualizer

We have seen Checker tests timing out on debug-GC configurations after
having switched to Optimizing because its GraphVisualizer makes too
many syscalls which the configuration keeps track of.

This patch replaces std::endl with "\n" across GraphVisualizer so as
to not flush the stream after every line of output.

Bug: 27826765
Change-Id: I5e3f1e92f8a84f36d324d56945e2d420b2d36a5d

8 years agoART: Fix unstarted runtime for Security
Andreas Gampe [Wed, 30 Mar 2016 02:33:56 +0000 (19:33 -0700)]
ART: Fix unstarted runtime for Security

Derive the path for the libcore jar from the boot classpath string
instead of from the dex file location.

Bug: 27899446
Change-Id: I22a9be76303edb2ec72f4cf2e7a4b3bfed37d9c7

8 years agoMerge "ART: Postpone interface-related dex failure to version 37" am: a923025 am...
Andreas Gampe [Wed, 30 Mar 2016 01:08:26 +0000 (01:08 +0000)]
Merge "ART: Postpone interface-related dex failure to version 37" am: a923025 am: 94eae20
am: d95cc47

* commit 'd95cc47afd21d2c22fc93583981b9853d91dced2':
  ART: Postpone interface-related dex failure to version 37

Change-Id: If075e3b5eba2fa868bd284b55a0af512f6ddb4f8

8 years agoMerge "ART: Postpone interface-related dex failure to version 37" am: a923025
Andreas Gampe [Wed, 30 Mar 2016 01:00:37 +0000 (01:00 +0000)]
Merge "ART: Postpone interface-related dex failure to version 37" am: a923025
am: 94eae20

* commit '94eae2002dd31d1b4a828120dc724cdcb3fe68a0':
  ART: Postpone interface-related dex failure to version 37

Change-Id: I051fb6b72f3c8650e5af51fcce65aa8a21512886

8 years agoMerge "ART: Postpone interface-related dex failure to version 37"
Andreas Gampe [Wed, 30 Mar 2016 00:56:54 +0000 (00:56 +0000)]
Merge "ART: Postpone interface-related dex failure to version 37"
am: a923025

* commit 'a923025e08e61fd2ff26e3d60c26e9db29637736':
  ART: Postpone interface-related dex failure to version 37

Change-Id: Ifa0aa5b79843957efd2c17a298bb052ac1c13800

8 years agoMerge "ART: Postpone interface-related dex failure to version 37"
Andreas Gampe [Wed, 30 Mar 2016 00:47:15 +0000 (00:47 +0000)]
Merge "ART: Postpone interface-related dex failure to version 37"

8 years agoART: Postpone interface-related dex failure to version 37
Andreas Gampe [Tue, 29 Mar 2016 01:31:29 +0000 (18:31 -0700)]
ART: Postpone interface-related dex failure to version 37

For app compat, at least for now make the check for public-final-static
of interface members not fail on dex file versions less than 37. This
may be changed in future releases.

Bug: 27831184
Change-Id: If8ee50321298b951d4a78062c8eb583fec27394f

8 years agoRevert "Revert "ART: Improve JitProfile perf in arm/arm64 mterp""
Bill Buzbee [Fri, 25 Mar 2016 13:16:55 +0000 (13:16 +0000)]
Revert "Revert "ART: Improve JitProfile perf in arm/arm64 mterp""

Ready for review.

This reverts commit 6aef867f4d1a98a12bcdd65e9bf2ff894f0f2d7e.

Change-Id: I5d53ed2bedc7e429ce7d3cdf80b6696a9628740e

8 years agoDon't return kPatchOatNeeded if there is no patch info.
Richard Uhler [Tue, 29 Mar 2016 20:27:41 +0000 (13:27 -0700)]
Don't return kPatchOatNeeded if there is no patch info.

Bug: 27693977
(cherry picked from commit d1537b569b6cd18297c5e02d13cdd588c4366c51)

Change-Id: Icd25da796fc2c2b7542a47d1d8d3bcbcace145fb

8 years agoMerge "ART: Update DexFile for compiler-filter pass-down" am: 8a31b7d am: e54865f
Andreas Gampe [Tue, 29 Mar 2016 21:39:21 +0000 (21:39 +0000)]
Merge "ART: Update DexFile for compiler-filter pass-down" am: 8a31b7d am: e54865f
am: c32a498

* commit 'c32a498731b9f0c0a5f79ef7871cb7f3993022e4':
  ART: Update DexFile for compiler-filter pass-down

Change-Id: Ic44ddf35ffe09d91e26366c1d60ad218f5d7efd0

8 years agoMerge "ART: Update DexFile for compiler-filter pass-down" am: 8a31b7d
Andreas Gampe [Tue, 29 Mar 2016 21:36:27 +0000 (21:36 +0000)]
Merge "ART: Update DexFile for compiler-filter pass-down" am: 8a31b7d
am: e54865f

* commit 'e54865fd15676d5241c2f17c8b67518d808ac731':
  ART: Update DexFile for compiler-filter pass-down

Change-Id: Ib40e7841f66836212cbc94e9e9559c9ddfb6ee55

8 years agoMerge "ART: Update DexFile for compiler-filter pass-down"
Andreas Gampe [Tue, 29 Mar 2016 21:30:03 +0000 (21:30 +0000)]
Merge "ART: Update DexFile for compiler-filter pass-down"
am: 8a31b7d

* commit '8a31b7d44a13b1d7e71852dc3c992598698d351d':
  ART: Update DexFile for compiler-filter pass-down

Change-Id: Ib809573c3d6de424461584639d69baedb38bcdc9

8 years agoDon't return kPatchOatNeeded if there is no patch info.
Richard Uhler [Tue, 29 Mar 2016 20:27:41 +0000 (13:27 -0700)]
Don't return kPatchOatNeeded if there is no patch info.

Bug: 27693977
Change-Id: Ie1f27cc45f3cb434108a375136480cb92fd95e26

8 years agoMerge "ART: Update DexFile for compiler-filter pass-down"
Andreas Gampe [Tue, 29 Mar 2016 21:24:18 +0000 (21:24 +0000)]
Merge "ART: Update DexFile for compiler-filter pass-down"

8 years agoTake into account the change in classes when analysing profiles
Calin Juravle [Tue, 29 Mar 2016 19:33:33 +0000 (20:33 +0100)]
Take into account the change in classes when analysing profiles

Bug: 27894914
Change-Id: I8a060bedf133823c283b2ec23f56f2b3f0f208ee

8 years agoMerge "Disable oatdump_test on mips due to timeouts." am: 335b8fb am: 2f943e6
Vladimir Marko [Tue, 29 Mar 2016 19:11:25 +0000 (19:11 +0000)]
Merge "Disable oatdump_test on mips due to timeouts." am: 335b8fb am: 2f943e6
am: ba8d029

* commit 'ba8d029bfb2ed1dc404a993df0d0bb7150b7ba8b':
  Disable oatdump_test on mips due to timeouts.

Change-Id: I7f3f1469ca59325f5bd4a7795b913cf087656751

8 years agoMerge "Disable oatdump_test on mips due to timeouts." am: 335b8fb
Vladimir Marko [Tue, 29 Mar 2016 19:08:29 +0000 (19:08 +0000)]
Merge "Disable oatdump_test on mips due to timeouts." am: 335b8fb
am: 2f943e6

* commit '2f943e67403ae10c513b5c3db8183998d7a08b33':
  Disable oatdump_test on mips due to timeouts.

Change-Id: I76b9e33db4b5ce1a6b7405d5553cd78dee7d0006

8 years agoMerge "Disable oatdump_test on mips due to timeouts."
Vladimir Marko [Tue, 29 Mar 2016 19:05:36 +0000 (19:05 +0000)]
Merge "Disable oatdump_test on mips due to timeouts."
am: 335b8fb

* commit '335b8fb64d29a201b4012cadae7acc85842d13fd':
  Disable oatdump_test on mips due to timeouts.

Change-Id: Idb02e23f7c699fdc445ba91dca70cdcc5fc2cf41

8 years agoMerge "Disable oatdump_test on mips due to timeouts."
Vladimir Marko [Tue, 29 Mar 2016 18:58:43 +0000 (18:58 +0000)]
Merge "Disable oatdump_test on mips due to timeouts."

8 years agoOptimizing: Improve const-string code generation.
Vladimir Marko [Mon, 22 Feb 2016 10:39:50 +0000 (10:39 +0000)]
Optimizing: Improve const-string code generation.

For strings in the boot image, use either direct pointers
or pc-relative addresses. For other strings, use PC-relative
access to the dex cache arrays for AOT and direct address of
the string's dex cache slot for JIT.

For aosp_flounder-userdebug:
  - 32-bit boot.oat: -692KiB (-0.9%)
  - 64-bit boot.oat: -948KiB (-1.1%)
  - 32-bit dalvik cache total: -900KiB (-0.9%)
  - 64-bit dalvik cache total: -3672KiB (-1.5%)
    (contains more files than the 32-bit dalvik cache)
For aosp_flounder-userdebug forced to compile PIC:
  - 32-bit boot.oat: -380KiB (-0.5%)
  - 64-bit boot.oat: -928KiB (-1.0%)
  - 32-bit dalvik cache total: -468KiB (-0.4%)
  - 64-bit dalvik cache total: -1928KiB (-0.8%)
    (contains more files than the 32-bit dalvik cache)

Bug: 26884697
Change-Id: Iec7266ce67e6fedc107be78fab2e742a8dab2696

8 years agoART: Update DexFile for compiler-filter pass-down
Andreas Gampe [Wed, 23 Mar 2016 22:03:46 +0000 (15:03 -0700)]
ART: Update DexFile for compiler-filter pass-down

Update getDexOptNeeded. Add implementations for isValidCompilerFilter
and isProfileGuidedCompilerFilter.

Bug: 27689078

(cherry picked from commit 1d23d43e29e41adb3d504332c8833acaacb49e50)

Change-Id: I06b9d75f58c59cb07ef5170f784ea6745168efaa

8 years agoDisable oatdump_test on mips due to timeouts.
Vladimir Marko [Tue, 29 Mar 2016 17:42:21 +0000 (18:42 +0100)]
Disable oatdump_test on mips due to timeouts.

Bug: 27824283
Change-Id: I8014471385fdfe0e98760af04507cd81338f9952

8 years agoFix dex2oat/oatdump cross-compilation. am: e930027
Nicolas Geoffray [Tue, 29 Mar 2016 17:39:47 +0000 (17:39 +0000)]
Fix dex2oat/oatdump cross-compilation. am: e930027
am: 339a8a8

* commit '339a8a8880f1b2637bd321a313bde0999e223b1c':
  Fix dex2oat/oatdump cross-compilation.

Change-Id: I555fcfc5baf45bd2b7ea0b5e71707b3101c9239b