OSDN Git Service

android-x86/art.git
8 years agoMerge "ART: Do not run verification under lock"
Andreas Gampe [Thu, 31 Mar 2016 22:58:18 +0000 (22:58 +0000)]
Merge "ART: Do not run verification under lock"
am: a455ec2

* commit 'a455ec2db2f4a59c524a7a3d3eabca046ed5dd29':
  ART: Do not run verification under lock

Change-Id: Iab0d138734de8a5af733728ffe9e52dde8208fe0

8 years agoMerge "ART: Add support for DexFile compiler filter function"
Andreas Gampe [Thu, 31 Mar 2016 22:58:17 +0000 (22:58 +0000)]
Merge "ART: Add support for DexFile compiler filter function"
am: e669556

* commit 'e6695569f086df8d0e9ab0d898aed13b1f1ea740':
  ART: Add support for DexFile compiler filter function

Change-Id: Id5ef8876f37cc1048fa1f06a35e51122b3d3567e

8 years agoMerge "ART: Do not run verification under lock"
Andreas Gampe [Thu, 31 Mar 2016 22:55:31 +0000 (22:55 +0000)]
Merge "ART: Do not run verification under lock"

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
Change-Id: Ie831f47dd830756a1b7002ca9c792f8ff67570dc

8 years agoMerge "ART: Add support for DexFile compiler filter function"
Andreas Gampe [Thu, 31 Mar 2016 22:52:51 +0000 (22:52 +0000)]
Merge "ART: Add support for DexFile compiler filter function"

8 years agoMerge "Remove obsolete ANDROID_COMPILE_WITH_JACK"
Sebastien Hertz [Thu, 31 Mar 2016 22:11:55 +0000 (22:11 +0000)]
Merge "Remove obsolete ANDROID_COMPILE_WITH_JACK"
am: 835e023

* commit '835e02367727fd981330b64ba938ecd7f675b408':
  Remove obsolete ANDROID_COMPILE_WITH_JACK

Change-Id: I6af8c6dacad62482cbee673df05d50ed7ea8d2f7

8 years agoMerge "Add way to disable resolving for stack walk"
Mathieu Chartier [Thu, 31 Mar 2016 22:11:55 +0000 (22:11 +0000)]
Merge "Add way to disable resolving for stack walk"
am: b1e4b48

* commit 'b1e4b48c97d79530c863d80453c3d5d9aab056cc':
  Add way to disable resolving for stack walk

Change-Id: I45e1f29a5e50a8a51055b0839d919200774f92cd

8 years agoMerge "Remove obsolete ANDROID_COMPILE_WITH_JACK"
Ying Wang [Thu, 31 Mar 2016 22:05:04 +0000 (22:05 +0000)]
Merge "Remove obsolete ANDROID_COMPILE_WITH_JACK"

8 years agoMerge "Add way to disable resolving for stack walk"
Mathieu Chartier [Thu, 31 Mar 2016 21:59:35 +0000 (21:59 +0000)]
Merge "Add way to disable resolving for stack walk"

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

(cherry picked from commit be2892bf771435eb451c74297b553f7dc9fea4ca)

Change-Id: Ied92be96f2f74ba02c02168f704443b95e7a4b04

8 years agoMerge "Obtain stack trace outside of critical section"
Mathieu Chartier [Thu, 31 Mar 2016 21:10:31 +0000 (21:10 +0000)]
Merge "Obtain stack trace outside of critical section"
am: 6872412

* commit '68724122b444e531d65413b1d9039f6e5fca52b3':
  Obtain stack trace outside of critical section

Change-Id: If75300fc1ea558b5f838e5c521d10cf96a325750

8 years agoMerge "Obtain stack trace outside of critical section"
Mathieu Chartier [Thu, 31 Mar 2016 21:05:30 +0000 (21:05 +0000)]
Merge "Obtain stack trace outside of critical section"

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

(cherry picked from commit 23428587d32361736d4c5e0ba7270c7602695a43)

Change-Id: I64373bcd87a68fdd1b58fb855db2b16c9f6ed36b

8 years agoMerge "Refine OatFileAssistant.MakeUpToDate failure result."
Richard Uhler [Thu, 31 Mar 2016 19:32:59 +0000 (19:32 +0000)]
Merge "Refine OatFileAssistant.MakeUpToDate failure result."
am: fd9ac38

* commit 'fd9ac384741435902d4fc03034f4cbaafaa85780':
  Refine OatFileAssistant.MakeUpToDate failure result.

Change-Id: I58b3390da7f9d704405516873c2bf528c726c46d

8 years agoMerge "Refine OatFileAssistant.MakeUpToDate failure result."
Richard Uhler [Thu, 31 Mar 2016 19:27:54 +0000 (19:27 +0000)]
Merge "Refine OatFileAssistant.MakeUpToDate failure result."

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

(cherry picked from commit fd97429f258acde6ee24a6f74c9050b2343e40cd)

Change-Id: I54735b61732e6a5c9dc62425d04bc740dd365083

8 years agoMerge "Remove many `instrumentation` variables from goto interpreter."
Vladimir Marko [Thu, 31 Mar 2016 18:04:17 +0000 (18:04 +0000)]
Merge "Remove many `instrumentation` variables from goto interpreter."
am: 9590a53

* commit '9590a5388ae80c7edba96de777eb5f96a896e681':
  Remove many `instrumentation` variables from goto interpreter.

Change-Id: I8f119dbab35a9391a2de261e922cd4f7c52376c4

8 years agoMerge "Remove many `instrumentation` variables from goto interpreter."
Vladimir Marko [Thu, 31 Mar 2016 17:53:44 +0000 (17:53 +0000)]
Merge "Remove many `instrumentation` variables from goto interpreter."

8 years agoRemove many `instrumentation` variables from goto interpreter.
Vladimir Marko [Thu, 31 Mar 2016 17:38:23 +0000 (18:38 +0100)]
Remove many `instrumentation` variables from goto interpreter.

Clean up after
    https://android-review.googlesource.com/210440 .

Change-Id: I7e7b1863a5627365de8d9a74f559ffe56cb4fdfa

8 years agoMerge "Remove obsolete LOCAL_DX_FLAGS."
Ying Wang [Thu, 31 Mar 2016 16:58:57 +0000 (16:58 +0000)]
Merge "Remove obsolete LOCAL_DX_FLAGS."
am: eede886

* commit 'eede88620e4dc9f6363c0990c04b7c0c7dd7202e':
  Remove obsolete LOCAL_DX_FLAGS.

Change-Id: Iee79119e73711cf7f20404fcca2720bb5c89272b

8 years agoMerge "Remove obsolete LOCAL_DX_FLAGS."
Ying Wang [Thu, 31 Mar 2016 16:52:56 +0000 (16:52 +0000)]
Merge "Remove obsolete LOCAL_DX_FLAGS."

8 years agoMerge "Only log excessive timeouts if those appear accidental"
Hans Boehm [Thu, 31 Mar 2016 16:46:47 +0000 (16:46 +0000)]
Merge "Only log excessive timeouts if those appear accidental"
am: 9f168cc

* commit '9f168ccb8e77626fd99c4ee5c296a5ed82f8d541':
  Only log excessive timeouts if those appear accidental

Change-Id: I519e12bb2ef5edd4aef66eb28846b99e1f952157

8 years agoMerge "Only log excessive timeouts if those appear accidental"
Hans Boehm [Thu, 31 Mar 2016 16:41:46 +0000 (16:41 +0000)]
Merge "Only log excessive timeouts if those appear accidental"

8 years agoMerge "ART: Improve JitProfile perf in x86_64 mterp"
Serguei Katkov [Thu, 31 Mar 2016 15:39:35 +0000 (15:39 +0000)]
Merge "ART: Improve JitProfile perf in x86_64 mterp"
am: 87ad82e

* commit '87ad82eb1e085ccc6ed3ec54945937582334dbbc':
  ART: Improve JitProfile perf in x86_64 mterp

Change-Id: Ie0c5a82723b54297550246773e9099df4aa3500d

8 years agoMerge "ART: Improve JitProfile perf in x86 mterp"
Serguei Katkov [Thu, 31 Mar 2016 15:39:35 +0000 (15:39 +0000)]
Merge "ART: Improve JitProfile perf in x86 mterp"
am: a236234

* commit 'a23623447c44758ec0369af778d5bd1adae442e6':
  ART: Improve JitProfile perf in x86 mterp

Change-Id: I89628928a67b1c14ec4ca0f6dae0582a0688bfb9

8 years agoMerge "Fix silly gcc warning."
Vladimir Marko [Thu, 31 Mar 2016 15:39:34 +0000 (15:39 +0000)]
Merge "Fix silly gcc warning."
am: f7cdec5

* commit 'f7cdec554371aad9dd8f40c6cd195a5635abc3d6':
  Fix silly gcc warning.

Change-Id: Id962ef258d4faa8f6362f9e9e3774f308dd5043f

8 years agoMerge "Rename run-test 593-checker-boolean-to-integral-conversions."
Roland Levillain [Thu, 31 Mar 2016 15:39:33 +0000 (15:39 +0000)]
Merge "Rename run-test 593-checker-boolean-to-integral-conversions."
am: 897886f

* commit '897886f804fcad5634362e0a8c5b6d1682198af4':
  Rename run-test 593-checker-boolean-to-integral-conversions.

Change-Id: I0fae951b69ae41631635d99de9a2f7833945c859

8 years agoMerge "ART: Improve JitProfile perf in x86_64 mterp"
Bill Buzbee [Thu, 31 Mar 2016 14:21:18 +0000 (14:21 +0000)]
Merge "ART: Improve JitProfile perf in x86_64 mterp"

8 years agoMerge "ART: Improve JitProfile perf in x86 mterp"
Bill Buzbee [Thu, 31 Mar 2016 14:07:15 +0000 (14:07 +0000)]
Merge "ART: Improve JitProfile perf in x86 mterp"

8 years agoMerge "Fix silly gcc warning."
Vladimir Marko [Thu, 31 Mar 2016 13:24:15 +0000 (13:24 +0000)]
Merge "Fix silly gcc warning."

8 years agoFix silly gcc warning.
Vladimir Marko [Thu, 31 Mar 2016 11:34:48 +0000 (12:34 +0100)]
Fix silly gcc warning.

Explicitly specify the underlying type of LinkerPatch::Type
as uint8_t because gcc would select a bigger type and then
complain that
    'art::LinkerPatch::patch_type_' is too small to hold all
    values of 'enum class art::LinkerPatch::Type'
which is really ridiculous given that the enum contains only
a handful enumerators with default (small) values.

Change-Id: I4c4b21cde62e56b62488bae99d3690d900c3c29e

8 years agoMerge "Rename run-test 593-checker-boolean-to-integral-conversions."
Roland Levillain [Thu, 31 Mar 2016 11:39:53 +0000 (11:39 +0000)]
Merge "Rename run-test 593-checker-boolean-to-integral-conversions."

8 years agoRename run-test 593-checker-boolean-to-integral-conversions.
Roland Levillain [Thu, 31 Mar 2016 11:32:07 +0000 (12:32 +0100)]
Rename run-test 593-checker-boolean-to-integral-conversions.

Shorten its name to "593-checker-boolean-to-integral-conv"
as some build configurations choke on too long filenames.

Bug: 27616343
Change-Id: I43439d7283920539817511249c6c1b430b3c9c95

8 years agoMerge "Fix Boolean to integral types conversions."
Roland Levillain [Thu, 31 Mar 2016 10:46:19 +0000 (10:46 +0000)]
Merge "Fix Boolean to integral types conversions."
am: b0170f0

* commit 'b0170f0457f60b81dd232bb3fa505b22f10f324c':
  Fix Boolean to integral types conversions.

Change-Id: Ide620cd42daaa05553d7d16603d65f7105232637

8 years agoMerge "Fix Boolean to integral types conversions."
Roland Levillain [Thu, 31 Mar 2016 10:39:52 +0000 (10:39 +0000)]
Merge "Fix Boolean to integral types conversions."

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: 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: Improve JitProfile perf in x86_64 mterp
Serguei Katkov [Tue, 29 Mar 2016 11:04:00 +0000 (17:04 +0600)]
ART: Improve JitProfile perf in x86_64 mterp

Change-Id: Ieae39e2cc8de8d381e6f9de0faa440c90e20a7a5
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
8 years agoART: Improve JitProfile perf in x86 mterp
Serguei Katkov [Tue, 29 Mar 2016 06:09:06 +0000 (12:09 +0600)]
ART: Improve JitProfile perf in x86 mterp

Change-Id: Id4c1e52352da8f6b7ce2008bc4adf52bc08847b2
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
8 years agoRemove obsolete ANDROID_COMPILE_WITH_JACK
Sebastien Hertz [Thu, 31 Mar 2016 07:22:50 +0000 (09:22 +0200)]
Remove obsolete ANDROID_COMPILE_WITH_JACK

Removes the checks on ANDROID_COMPILE_WITH_JACK since it is going
to disappear and build tests with Jack by default.

Bug: 27400061
Change-Id: I1c08796a946411070e2aab6fe8c3c0262dfb4c52

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 agoRemove obsolete LOCAL_DX_FLAGS.
Ying Wang [Wed, 30 Mar 2016 20:55:33 +0000 (13:55 -0700)]
Remove obsolete LOCAL_DX_FLAGS.

Bug: 27400061
Change-Id: Iff834b58b47f8e5759e868159f85bab0f5c544ee

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
Change-Id: I184f8e89648183cba4ebe7a1dc5e0e6c8774c15b

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 "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 "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 "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 agoFix Boolean to integral types conversions.
Roland Levillain [Wed, 30 Mar 2016 18:09:03 +0000 (19:09 +0100)]
Fix Boolean to integral types conversions.

Bug: 27616343
Change-Id: I050f92045bca1b8b5d6da53547cc617f17be84b1

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 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."
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."
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."
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 "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 "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"
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 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 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 agoMerge "Optimizing: Reduce arena memory used by GraphChecker."
Vladimir Marko [Tue, 29 Mar 2016 09:01:03 +0000 (09:01 +0000)]
Merge "Optimizing: Reduce arena memory used by GraphChecker."
am: 6f51d77

* commit '6f51d7756a9c66007fe7666b19399e1f60ff6092':
  Optimizing: Reduce arena memory used by GraphChecker.

Change-Id: Ibed1731665038d681998b8d31d1cd218e074f5ff

8 years agoMerge "Optimizing: Reduce arena memory used by GraphChecker."
Vladimir Marko [Tue, 29 Mar 2016 08:56:19 +0000 (08:56 +0000)]
Merge "Optimizing: Reduce arena memory used by GraphChecker."

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

8 years agoMerge "ART: Make verifier fail log level adjustable"
Andreas Gampe [Tue, 29 Mar 2016 02:36:24 +0000 (02:36 +0000)]
Merge "ART: Make verifier fail log level adjustable"
am: fedcd0a

* commit 'fedcd0a6870cf4d940d231f6725ca95c590d04bd':
  ART: Make verifier fail log level adjustable

Change-Id: Ia860a719def57f0ff1a914a93947d11b6fd58f49

8 years agoMerge "ART: Make verifier fail log level adjustable"
Andreas Gampe [Tue, 29 Mar 2016 02:31:16 +0000 (02:31 +0000)]
Merge "ART: Make verifier fail log level adjustable"

8 years agoMerge "ART: Clean up verifier"
Andreas Gampe [Tue, 29 Mar 2016 01:46:28 +0000 (01:46 +0000)]
Merge "ART: Clean up verifier"
am: ef94b54

* commit 'ef94b5484a75902404e975cba55a7e825941b2fa':
  ART: Clean up verifier

Change-Id: I975423bbf31948bacee17a077d54001b60f23870

8 years agoMerge "ART: Clean up verifier"
Andreas Gampe [Tue, 29 Mar 2016 01:38:19 +0000 (01:38 +0000)]
Merge "ART: Clean up verifier"

8 years agoART: Make verifier fail log level adjustable
Andreas Gampe [Fri, 25 Mar 2016 23:58:00 +0000 (16:58 -0700)]
ART: Make verifier fail log level adjustable

To help for build failures.

Change-Id: I6c94dfb50177daa7d89902d78715ccec31bf0e45

8 years agoART: Clean up verifier
Andreas Gampe [Fri, 25 Mar 2016 23:58:00 +0000 (16:58 -0700)]
ART: Clean up verifier

Clean up verifier post-Quick.

Change-Id: I0b05e10dd06edd228fe2068c8afffc4b7d7fdffa

8 years agoMerge "Add support for Dex version 37 in Runtime."
Alex Light [Mon, 28 Mar 2016 21:26:05 +0000 (21:26 +0000)]
Merge "Add support for Dex version 37 in Runtime."

8 years agoMerge "Fix bug not accounting for type in induction comparison. Extended unit tests."
Aart Bik [Sat, 26 Mar 2016 00:44:53 +0000 (00:44 +0000)]
Merge "Fix bug not accounting for type in induction comparison. Extended unit tests."

8 years agoMerge "ART: Relax verifier checks"
Andreas Gampe [Fri, 25 Mar 2016 23:53:20 +0000 (23:53 +0000)]
Merge "ART: Relax verifier checks"

8 years agoART: Relax verifier checks
Andreas Gampe [Fri, 25 Mar 2016 23:24:20 +0000 (16:24 -0700)]
ART: Relax verifier checks

Only bail for unresolved merge types in a couple of cases. Follow-up
to bb18a03c44d99b3cae232d445d56e80d8388cca9.

Bug: 27799205
Change-Id: If448e14036bc5e245677e0cd8cdddee02b320525

8 years agoFix bug not accounting for type in induction comparison.
Aart Bik [Fri, 25 Mar 2016 20:14:53 +0000 (13:14 -0700)]
Fix bug not accounting for type in induction comparison.
Extended unit tests.

Rationale:
Now that inductions are typed, comparisons should take
the type into account as well.

Change-Id: Ie533bb728d2006390646657573fa743e6fc37ff2

8 years agoMerge "Allow x86+arm multilib build."
Ying Wang [Fri, 25 Mar 2016 21:41:41 +0000 (21:41 +0000)]
Merge "Allow x86+arm multilib build."

8 years agoAllow x86+arm multilib build.
Ying Wang [Thu, 17 Mar 2016 02:40:00 +0000 (19:40 -0700)]
Allow x86+arm multilib build.

The explicit dependency of dex2oat on installed file of libart-compiler
isn't necessary: the build sets up the dependency automatically when
dex2oat links liblibart-compiler.
Also the way of the explicit dependency is incorrect if multilib is
involved: a 64-bit dex2oat may depend on 32-bit libart-compiler.

Bug: 27526885
Change-Id: I4a9d72b49f5712695ff5a32b88df5eab9df7c1e4
(cherry-pick from commit 5eec66ea27a2fa5bfa1b4f9bd203c76e2990d7a2)

8 years agoMerge "Avoid removing new-instance instruction twice. Includes a fail-before/pass...
Aart Bik [Fri, 25 Mar 2016 18:04:18 +0000 (18:04 +0000)]
Merge "Avoid removing new-instance instruction twice. Includes a fail-before/pass-after regression test."

8 years agoMerge "ART: Allow array-ness for unresolved merge types"
Andreas Gampe [Fri, 25 Mar 2016 17:45:31 +0000 (17:45 +0000)]
Merge "ART: Allow array-ness for unresolved merge types"

8 years agoART: Allow array-ness for unresolved merge types
Andreas Gampe [Wed, 23 Mar 2016 03:34:25 +0000 (20:34 -0700)]
ART: Allow array-ness for unresolved merge types

In case component types aren't resolvable, array types won't be
either. They then may be merged. The merge is still potentially
an array type.

Ensure that merging an unresolved array type with a primitive
array type or a non-array type will be resolved to java.lang.Object.

Added tests.

Bug: 27799205
Change-Id: I9beff75318814dddd842abd64ef9a5d2644d801e

8 years agoAvoid removing new-instance instruction twice.
Aart Bik [Thu, 24 Mar 2016 22:38:56 +0000 (15:38 -0700)]
Avoid removing new-instance instruction twice.
Includes a fail-before/pass-after regression test.

Rationale:
In some corner cases, one new instance reached more than one
java.lang.String.<init> method call. As a result, the new
instance instruction appeared multiple times in the vector
uninitialized_strings_. A second removal crashes the compiler.
This change list avoid the crash by simply skipping instructions
that are already removed.

BUG=27847265

Change-Id: I7f8a4f84ea3c184e1529ec3e90bd6749c83c445b

8 years agoOptimizing: Reduce arena memory used by GraphChecker.
Vladimir Marko [Fri, 25 Mar 2016 15:31:35 +0000 (15:31 +0000)]
Optimizing: Reduce arena memory used by GraphChecker.

Use member variables to reuse the storage instead of
repeatedly allocating new storage for local variables.

Bug: 27690481
Change-Id: I614db9b8614d585653cfbff62e9cf7d7f0c58810