OSDN Git Service

android-x86/art.git
9 years agoam bb3dabaf: Merge "ART: Improve Indenter performance."
Vladimir Marko [Tue, 23 Jun 2015 16:53:06 +0000 (16:53 +0000)]
am bb3dabaf: Merge "ART: Improve Indenter performance."

* commit 'bb3dabaf804e0d0bd2bf34e69091b2f86fd4e78b':
  ART: Improve Indenter performance.

9 years agoMerge "ART: Improve Indenter performance."
Vladimir Marko [Tue, 23 Jun 2015 16:43:31 +0000 (16:43 +0000)]
Merge "ART: Improve Indenter performance."

9 years agoam 568e8f39: Merge "Fix 496 test."
Nicolas Geoffray [Tue, 23 Jun 2015 16:05:22 +0000 (16:05 +0000)]
am 568e8f39: Merge "Fix 496 test."

* commit '568e8f394b264a9b7932f081f971b141e563641e':
  Fix 496 test.

9 years agoMerge "Fix 496 test."
Nicolas Geoffray [Tue, 23 Jun 2015 15:57:12 +0000 (15:57 +0000)]
Merge "Fix 496 test."

9 years agoFix 496 test.
Nicolas Geoffray [Tue, 23 Jun 2015 11:09:55 +0000 (12:09 +0100)]
Fix 496 test.

Make sure the class requested by LoadedByMyClassLoader.bar
is not loaded yet ('Main' is already loaded), in order to
do a proper class loader lookup and not use a dex cache
version.

Change-Id: I77215ae489e6d2c50b90684951bccd0bbf8c1a53

9 years agoART: Improve Indenter performance.
Vladimir Marko [Tue, 23 Jun 2015 14:39:01 +0000 (15:39 +0100)]
ART: Improve Indenter performance.

This reduces the time taken by oatdump_test by ~15s (16%)
on host and ~30s (5%) on N5. The Indenter.overflow() was
previously the hottest function according to perf.

Change-Id: I96eb69ce3f5420cd09dba23b29f8025cedc3d80a

9 years agoam d4a02cfc: Merge "Replace some run-time assertions with compile-time ones in ART."
Roland Levillain [Tue, 23 Jun 2015 14:05:29 +0000 (14:05 +0000)]
am d4a02cfc: Merge "Replace some run-time assertions with compile-time ones in ART."

* commit 'd4a02cfc59a449d216faa687cfdaa4252b4a433f':
  Replace some run-time assertions with compile-time ones in ART.

9 years agoMerge "Replace some run-time assertions with compile-time ones in ART."
Roland Levillain [Tue, 23 Jun 2015 13:53:54 +0000 (13:53 +0000)]
Merge "Replace some run-time assertions with compile-time ones in ART."

9 years agoam 0022bdf7: Merge "ART: Fix data loss when symbolizing oat files."
Roland Levillain [Tue, 23 Jun 2015 13:10:40 +0000 (13:10 +0000)]
am 0022bdf7: Merge "ART: Fix data loss when symbolizing oat files."

* commit '0022bdf71533a300deebe6b9cf287eaceeb0620c':
  ART: Fix data loss when symbolizing oat files.

9 years agoMerge "ART: Fix data loss when symbolizing oat files."
Roland Levillain [Tue, 23 Jun 2015 13:00:43 +0000 (13:00 +0000)]
Merge "ART: Fix data loss when symbolizing oat files."

9 years agoam 508755a3: Merge "Use GetOffsetDuringLinking instead of GetOffset."
Nicolas Geoffray [Tue, 23 Jun 2015 11:41:40 +0000 (11:41 +0000)]
am 508755a3: Merge "Use GetOffsetDuringLinking instead of GetOffset."

* commit '508755a3d4d3d67aa834c033c79073c0a08a8fbd':
  Use GetOffsetDuringLinking instead of GetOffset.

9 years agoMerge "Use GetOffsetDuringLinking instead of GetOffset."
Nicolas Geoffray [Tue, 23 Jun 2015 11:32:10 +0000 (11:32 +0000)]
Merge "Use GetOffsetDuringLinking instead of GetOffset."

9 years agoam 87dc1b09: Merge "ART: Compiler generated GC map should take care of temp registers."
Vladimir Marko [Tue, 23 Jun 2015 11:11:25 +0000 (11:11 +0000)]
am 87dc1b09: Merge "ART: Compiler generated GC map should take care of temp registers."

* commit '87dc1b09cee6e972fbe3ad48ba8b5ae68d37085f':
  ART: Compiler generated GC map should take care of temp registers.

9 years agoUse GetOffsetDuringLinking instead of GetOffset.
Nicolas Geoffray [Tue, 23 Jun 2015 11:11:24 +0000 (12:11 +0100)]
Use GetOffsetDuringLinking instead of GetOffset.

GetOffset assumes the class has been resolved, but LinkFields
is called before the class is marked as such.

Change-Id: I6f9fc21cd220881806f00461a82a14e459e26a8b

9 years agoMerge "ART: Compiler generated GC map should take care of temp registers."
Vladimir Marko [Tue, 23 Jun 2015 11:00:19 +0000 (11:00 +0000)]
Merge "ART: Compiler generated GC map should take care of temp registers."

9 years agoam b5061a82: Merge "Do not overwrite an input register in shift operations."
Nicolas Geoffray [Tue, 23 Jun 2015 10:24:40 +0000 (10:24 +0000)]
am b5061a82: Merge "Do not overwrite an input register in shift operations."

* commit 'b5061a821d96cb1af7ba24d21a4d2d59f7f16c7c':
  Do not overwrite an input register in shift operations.

9 years agoMerge "Do not overwrite an input register in shift operations."
Nicolas Geoffray [Tue, 23 Jun 2015 10:15:45 +0000 (10:15 +0000)]
Merge "Do not overwrite an input register in shift operations."

9 years agoDo not overwrite an input register in shift operations.
Nicolas Geoffray [Mon, 22 Jun 2015 22:12:45 +0000 (23:12 +0100)]
Do not overwrite an input register in shift operations.

'second_reg' is an input register that can survive the instruction.
Instead use the output register as a temporary result.

bug:21667432
Change-Id: I1a4577b0333c3fb184645023d5eae30555bbf65c

9 years agoam 1f22dbc1: Merge "ART: Fix GraphVisualizer dlopen crash"
David Brazdil [Tue, 23 Jun 2015 10:00:43 +0000 (10:00 +0000)]
am 1f22dbc1: Merge "ART: Fix GraphVisualizer dlopen crash"

* commit '1f22dbc10d9fdc96a6814e737718098e36a0ea3c':
  ART: Fix GraphVisualizer dlopen crash

9 years agoMerge "ART: Fix GraphVisualizer dlopen crash"
David Brazdil [Tue, 23 Jun 2015 09:47:23 +0000 (09:47 +0000)]
Merge "ART: Fix GraphVisualizer dlopen crash"

9 years agoART: Fix GraphVisualizer dlopen crash
David Brazdil [Tue, 23 Jun 2015 09:22:38 +0000 (10:22 +0100)]
ART: Fix GraphVisualizer dlopen crash

The HGraphVisualizer used to crash if it failed to dlopen the
libart(d)-disassembler.so. This patch fixes that.

Bug: 22001285
Change-Id: Ibe9b9af17a77e22e3571c886f77918e9491b7827

9 years agoam da0e224d: Merge "Restore DDMS recent allocation tracking\'s behavior"
Mathieu Chartier [Tue, 23 Jun 2015 03:35:17 +0000 (03:35 +0000)]
am da0e224d: Merge "Restore DDMS recent allocation tracking\'s behavior"

* commit 'da0e224d79262b11fbac9e7b1fdc11c4df31b77f':
  Restore DDMS recent allocation tracking's behavior

9 years agoam 3355963c: Merge "Fix another miranda method moving GC bug"
Mathieu Chartier [Tue, 23 Jun 2015 03:35:15 +0000 (03:35 +0000)]
am 3355963c: Merge "Fix another miranda method moving GC bug"

* commit '3355963cee00fe97cc7aaeaab2c6e31c5657ff6a':
  Fix another miranda method moving GC bug

9 years agoMerge "Restore DDMS recent allocation tracking's behavior"
Mathieu Chartier [Tue, 23 Jun 2015 03:27:44 +0000 (03:27 +0000)]
Merge "Restore DDMS recent allocation tracking's behavior"

9 years agoMerge "Fix another miranda method moving GC bug"
Mathieu Chartier [Tue, 23 Jun 2015 03:27:18 +0000 (03:27 +0000)]
Merge "Fix another miranda method moving GC bug"

9 years agoFix another miranda method moving GC bug
Mathieu Chartier [Sat, 20 Jun 2015 03:24:45 +0000 (20:24 -0700)]
Fix another miranda method moving GC bug

Need to copy miranda methods over before we allocate the new vtable
or else we may have stale miranda gc roots.

(cherry picked from commit 6e80460bdf0aa9bd273d4a4d665d679c651b5f4f)

Bug: 21664466
Change-Id: Ib3e415bb9e7df7abfa18c98fe01f790fa39622dc

9 years agoRestore DDMS recent allocation tracking's behavior
Man Cao [Fri, 12 Jun 2015 05:47:35 +0000 (22:47 -0700)]
Restore DDMS recent allocation tracking's behavior

Make the allocation tracker mark recently allocated objects as roots,
so the allocation records are not swept. Because DDMS needs recent
allocation tracking records even for dead objects. This should fix
the flaky failures for 098-ddmc test, but it cannot pass GC stress
test (OOM). Re-enabled 098-ddmc for other tests.

There should be an option to not mark them as roots, when user only
needs HPROF dump with traces but not DDMS's recent allocation tracking.
Probably need to add a new JNI API function for this option.

There could be another way to keep a second list of recent allocation
records and maintain a type cache for them, so not to make the objects
roots. But it's more complex, and not sure which is better.

Also reduce memory usage for AllocRecordStackTrace objects, and change
default stack depth to 16. Rename the property that controls the stack
depth to "debug.allocTracker.maxStackDepth" so developer can change it.

Bug:20037135
Change-Id: Ic6b9ae87bdcda558be6f14ded8057e763439881c

9 years agoam 336b0b1b: Merge "base: Fix an infinite loop in HashSet::Insert"
Igor Murashkin [Mon, 22 Jun 2015 23:44:53 +0000 (23:44 +0000)]
am 336b0b1b: Merge "base: Fix an infinite loop in HashSet::Insert"

* commit '336b0b1baaf2b3eccb26ccf1b7d502c90c3f33fd':
  base: Fix an infinite loop in HashSet::Insert

9 years agoMerge "base: Fix an infinite loop in HashSet::Insert"
Igor Murashkin [Mon, 22 Jun 2015 23:36:14 +0000 (23:36 +0000)]
Merge "base: Fix an infinite loop in HashSet::Insert"

9 years agobase: Fix an infinite loop in HashSet::Insert
Igor Murashkin [Mon, 22 Jun 2015 22:57:38 +0000 (15:57 -0700)]
base: Fix an infinite loop in HashSet::Insert

Also adds a test for HashSet::ShrinkToMaximumLoad

(This bug was only reachable when using ShrinkToMaximumLoad, which is not
called from anywhere other than the new test)

Change-Id: I5276b4b3f4ecf6090bb545ddd1752758b11609dd

9 years agoam ac854d27: Merge "New experimental GC stress mode"
Mathieu Chartier [Mon, 22 Jun 2015 23:17:59 +0000 (23:17 +0000)]
am ac854d27: Merge "New experimental GC stress mode"

* commit 'ac854d27aeafb3dca04dfc5c716d0436f1d5ffc1':
  New experimental GC stress mode

9 years agoMerge "New experimental GC stress mode"
Mathieu Chartier [Mon, 22 Jun 2015 22:58:54 +0000 (22:58 +0000)]
Merge "New experimental GC stress mode"

9 years agoam 5aa39bb7: Merge "Change GC to allow strings to use large object space."
Jeff Hao [Mon, 22 Jun 2015 22:47:11 +0000 (22:47 +0000)]
am 5aa39bb7: Merge "Change GC to allow strings to use large object space."

* commit '5aa39bb7f93cf2e8f73d06980b588519825c0ebe':
  Change GC to allow strings to use large object space.

9 years agoNew experimental GC stress mode
Mathieu Chartier [Sun, 14 Jun 2015 21:14:37 +0000 (14:14 -0700)]
New experimental GC stress mode

Tries to do a GC for every unique call stack (up to 16 frames).
The goal is to catch moving GC bugs and lock violations without being
rediculously slow. Some tests fail on 64 bits, 32 bit host doesn't
work. N5 is booting.

Added runtime -Xgc options: gcstress and nogcstress.

Bug: 21664466

Change-Id: Icb8e420f2048e8ee83bcca7937563166a2638f5c

9 years agoam d423552a: Merge "Make large string use large object space."
Jeff Hao [Mon, 22 Jun 2015 22:42:22 +0000 (22:42 +0000)]
am d423552a: Merge "Make large string use large object space."

* commit 'd423552afd00bac3cdb523b9f8681f3f58163564':
  Make large string use large object space.

9 years agoMerge "Change GC to allow strings to use large object space."
Jeff Hao [Mon, 22 Jun 2015 22:39:55 +0000 (22:39 +0000)]
Merge "Change GC to allow strings to use large object space."

9 years agoChange GC to allow strings to use large object space.
Jeff Hao [Mon, 22 Jun 2015 22:14:49 +0000 (15:14 -0700)]
Change GC to allow strings to use large object space.

Bug: 21209641

(cherry-picked from commit 37fd5275c665b483f2d990634a500c4e79aae87f)

Change-Id: I043f59eeb601a95c7d01b10a844c2237167ee862

9 years agoMerge "Make large string use large object space."
Jeff Hao [Mon, 22 Jun 2015 22:27:56 +0000 (22:27 +0000)]
Merge "Make large string use large object space."

9 years agoMake large string use large object space.
Jeff Hao [Mon, 22 Jun 2015 21:29:54 +0000 (14:29 -0700)]
Make large string use large object space.

Bug: 21209641

(cherry-picked from commit 38fafa18f0fcf610f6314a0fc4165e04e6e5d017)

Change-Id: If6d708307ba1ecdde6bf856d31dceac9ee782fb7

9 years agoam ec3a4e7c: Merge "runtime: Partially implement box-lambda and unbox-lambda experime...
Igor Murashkin [Mon, 22 Jun 2015 21:25:27 +0000 (21:25 +0000)]
am ec3a4e7c: Merge "runtime: Partially implement box-lambda and unbox-lambda experimental opcodes"

* commit 'ec3a4e7cdc4f268b40d923227c125429f4ee4884':
  runtime: Partially implement box-lambda and unbox-lambda experimental opcodes

9 years agoam 11dc78c8: Merge "ART: Allow checking RETURN_VOID_NO_BARRIER on unresolved classes"
Andreas Gampe [Mon, 22 Jun 2015 21:25:25 +0000 (21:25 +0000)]
am 11dc78c8: Merge "ART: Allow checking RETURN_VOID_NO_BARRIER on unresolved classes"

* commit '11dc78c8d36b4a65f4d955bc4303cc8279f1151e':
  ART: Allow checking RETURN_VOID_NO_BARRIER on unresolved classes

9 years agoMerge "runtime: Partially implement box-lambda and unbox-lambda experimental opcodes"
Igor Murashkin [Mon, 22 Jun 2015 21:15:01 +0000 (21:15 +0000)]
Merge "runtime: Partially implement box-lambda and unbox-lambda experimental opcodes"

9 years agoMerge "ART: Allow checking RETURN_VOID_NO_BARRIER on unresolved classes"
Andreas Gampe [Mon, 22 Jun 2015 21:14:43 +0000 (21:14 +0000)]
Merge "ART: Allow checking RETURN_VOID_NO_BARRIER on unresolved classes"

9 years agoruntime: Partially implement box-lambda and unbox-lambda experimental opcodes
Igor Murashkin [Thu, 18 Jun 2015 17:05:11 +0000 (10:05 -0700)]
runtime: Partially implement box-lambda and unbox-lambda experimental opcodes

These opcodes are not yet fully specified, and *will* change before they become shippable.
Do not write production code against experimental opcodes.

--

Implement partial interpreter support for new dex instructions box/unbox-lambda.
* box-lambda will take a closure and convert it into an Object
* unbox-lambda will take an Object and convert it to a closure

(Currently does not implement object identity or variable capture).

All new opcodes are disabled by default, use runtime option -Xexperimental-lambdas to enable them.

Change-Id: I3c15ccf8a26ccecd1d35808a8c1b4149220f6019

9 years agoam f7012291: Merge "Run an empty checkpoint before marking ends in the CC collector."
Hiroshi Yamauchi [Mon, 22 Jun 2015 19:50:41 +0000 (19:50 +0000)]
am f7012291: Merge "Run an empty checkpoint before marking ends in the CC collector."

* commit 'f7012291ed9c984e2b50d83d7a2d5758cd64c99a':
  Run an empty checkpoint before marking ends in the CC collector.

9 years agoMerge "Run an empty checkpoint before marking ends in the CC collector."
Hiroshi Yamauchi [Mon, 22 Jun 2015 19:40:00 +0000 (19:40 +0000)]
Merge "Run an empty checkpoint before marking ends in the CC collector."

9 years agoART: Allow checking RETURN_VOID_NO_BARRIER on unresolved classes
Andreas Gampe [Mon, 22 Jun 2015 18:35:46 +0000 (11:35 -0700)]
ART: Allow checking RETURN_VOID_NO_BARRIER on unresolved classes

We must check that all fields are non-final, even for unresolved
classes. Fall back to the dex file for this information.

Bug: 22005084
Bug: https://code.google.com/p/android/issues/detail?id=177694
Change-Id: If2126d1be5dccadbbedcdccabde7398688d6e5ca

9 years agoam ae393c3b: Merge "ART: Avoid recursive abort in barrier"
Andreas Gampe [Mon, 22 Jun 2015 17:28:15 +0000 (17:28 +0000)]
am ae393c3b: Merge "ART: Avoid recursive abort in barrier"

* commit 'ae393c3b24cfdad97aaded8c0ff1ee7262b46ffe':
  ART: Avoid recursive abort in barrier

9 years agoMerge "ART: Avoid recursive abort in barrier"
Andreas Gampe [Mon, 22 Jun 2015 17:18:57 +0000 (17:18 +0000)]
Merge "ART: Avoid recursive abort in barrier"

9 years agoam 59cb5218: Merge "Fix in ReferenceTypePropagation"
Calin Juravle [Mon, 22 Jun 2015 17:06:52 +0000 (17:06 +0000)]
am 59cb5218: Merge "Fix in ReferenceTypePropagation"

* commit '59cb52189d350fa9fb38b767fa9b25d971375833':
  Fix in ReferenceTypePropagation

9 years agoART: Avoid recursive abort in barrier
Andreas Gampe [Mon, 22 Jun 2015 17:04:39 +0000 (10:04 -0700)]
ART: Avoid recursive abort in barrier

Try to avoid recursive abort in barrier. May lead to a segfault
instead of a nested abort in bad cases.

Change-Id: I0e7976b77c243956dbcf81142bd5df81d5927ce0

9 years agoMerge "Fix in ReferenceTypePropagation"
Calin Juravle [Mon, 22 Jun 2015 16:57:04 +0000 (16:57 +0000)]
Merge "Fix in ReferenceTypePropagation"

9 years agoam c30e721b: Merge "ART: Don\'t do pre-linked calls to the interpreter bridge."
Vladimir Marko [Mon, 22 Jun 2015 16:10:45 +0000 (16:10 +0000)]
am c30e721b: Merge "ART: Don\'t do pre-linked calls to the interpreter bridge."

* commit 'c30e721b5ddcb4ba6835c5b721e1c5095f4a3d7f':
  ART: Don't do pre-linked calls to the interpreter bridge.

9 years agoMerge "ART: Don't do pre-linked calls to the interpreter bridge."
Vladimir Marko [Mon, 22 Jun 2015 15:57:16 +0000 (15:57 +0000)]
Merge "ART: Don't do pre-linked calls to the interpreter bridge."

9 years agoam f91fb4a6: Merge "ART: Disallow classes that are abstract and final"
Andreas Gampe [Mon, 22 Jun 2015 15:02:49 +0000 (15:02 +0000)]
am f91fb4a6: Merge "ART: Disallow classes that are abstract and final"

* commit 'f91fb4a6a565809dd077ee128d11f30b67e6f2ff':
  ART: Disallow classes that are abstract and final

9 years agoMerge "ART: Disallow classes that are abstract and final"
Andreas Gampe [Mon, 22 Jun 2015 14:50:42 +0000 (14:50 +0000)]
Merge "ART: Disallow classes that are abstract and final"

9 years agoART: Don't do pre-linked calls to the interpreter bridge.
Vladimir Marko [Mon, 22 Jun 2015 13:35:42 +0000 (14:35 +0100)]
ART: Don't do pre-linked calls to the interpreter bridge.

Bug: 21897404
Change-Id: I6cca9d3b436df2eed2b0192607de0faf5cc2ecf7

9 years agoam 2d655f1c: Merge "Revert "Revert "Use IsAssignableFrom instead of IsSubclass for...
Nicolas Geoffray [Mon, 22 Jun 2015 13:53:58 +0000 (13:53 +0000)]
am 2d655f1c: Merge "Revert "Revert "Use IsAssignableFrom instead of IsSubclass for robustness."""

* commit '2d655f1ce89a714094a4f55ac75edcf9a34c7e24':
  Revert "Revert "Use IsAssignableFrom instead of IsSubclass for robustness.""

9 years agoMerge "Revert "Revert "Use IsAssignableFrom instead of IsSubclass for robustness."""
Nicolas Geoffray [Mon, 22 Jun 2015 13:47:02 +0000 (13:47 +0000)]
Merge "Revert "Revert "Use IsAssignableFrom instead of IsSubclass for robustness."""

9 years agoRevert "Revert "Use IsAssignableFrom instead of IsSubclass for robustness.""
Nicolas Geoffray [Mon, 22 Jun 2015 10:06:43 +0000 (11:06 +0100)]
Revert "Revert "Use IsAssignableFrom instead of IsSubclass for robustness.""

Don't use IsAssignableFrom, but check beforehand if the referrer is an
interface. Otherwise, we are being too aggressive on removing clinit
checks on interfaces (being a subclass doesn't imply the interface
has been initialized).

bug:21870666

This reverts commit 463580ca5a1e75e27ad0207537ffc6252091326a.

Change-Id: I2a13974d28477ee3e5224142cc260cbf46d19aa9

9 years agoam a63d8f44: Merge "fault_handler : debug output sp in hex and not decimal."
Narayan Kamath [Mon, 22 Jun 2015 11:42:49 +0000 (11:42 +0000)]
am a63d8f44: Merge "fault_handler : debug output sp in hex and not decimal."

* commit 'a63d8f44740a8406adda6aaff7ed75ef923c085f':
  fault_handler : debug output sp in hex and not decimal.

9 years agoMerge "fault_handler : debug output sp in hex and not decimal."
Narayan Kamath [Mon, 22 Jun 2015 11:28:17 +0000 (11:28 +0000)]
Merge "fault_handler : debug output sp in hex and not decimal."

9 years agofault_handler : debug output sp in hex and not decimal.
Narayan Kamath [Fri, 19 Jun 2015 14:23:46 +0000 (15:23 +0100)]
fault_handler : debug output sp in hex and not decimal.

Easier to compare against hex values in tombstones and debuggerd
dumps.

Change-Id: I4a4512ea1ce5872fdb6b41e824fa3475dfcfb71d

9 years agoam ae370391: Merge "Use compiling class instead of outer class for access checks."
Nicolas Geoffray [Mon, 22 Jun 2015 11:16:42 +0000 (11:16 +0000)]
am ae370391: Merge "Use compiling class instead of outer class for access checks."

* commit 'ae370391057b88607b0e451fdea020b257684b91':
  Use compiling class instead of outer class for access checks.

9 years agoam a948b1a0: Merge "Opt compiler: Add disassembly to the \'.cfg\' output."
David Brazdil [Mon, 22 Jun 2015 11:10:39 +0000 (11:10 +0000)]
am a948b1a0: Merge "Opt compiler: Add disassembly to the \'.cfg\' output."

* commit 'a948b1a0a917b9fd4bbd10a5ba4823594b78373d':
  Opt compiler: Add disassembly to the '.cfg' output.

9 years agoMerge "Use compiling class instead of outer class for access checks."
Nicolas Geoffray [Mon, 22 Jun 2015 11:09:24 +0000 (11:09 +0000)]
Merge "Use compiling class instead of outer class for access checks."

9 years agoMerge "Opt compiler: Add disassembly to the '.cfg' output."
David Brazdil [Mon, 22 Jun 2015 10:58:32 +0000 (10:58 +0000)]
Merge "Opt compiler: Add disassembly to the '.cfg' output."

9 years agoOpt compiler: Add disassembly to the '.cfg' output.
Alexandre Rames [Fri, 19 Jun 2015 13:47:01 +0000 (14:47 +0100)]
Opt compiler: Add disassembly to the '.cfg' output.

This is automatically added to the '.cfg' output when using the usual
`--dump-cfg` option.

Change-Id: I864bfc3a8299c042e72e451cc7730ad8271e4deb

9 years agoam 8ec0e203: Merge "ART: Simplify (Not)Equal bool vs. int to true/false"
David Brazdil [Mon, 22 Jun 2015 10:28:02 +0000 (10:28 +0000)]
am 8ec0e203: Merge "ART: Simplify (Not)Equal bool vs. int to true/false"

* commit '8ec0e20347e13592539a8c0786b1db1735149800':
  ART: Simplify (Not)Equal bool vs. int to true/false

9 years agoam 0f0be726: Merge "Revert "Use IsAssignableFrom instead of IsSubclass for robustness.""
Nicolas Geoffray [Mon, 22 Jun 2015 10:17:26 +0000 (10:17 +0000)]
am 0f0be726: Merge "Revert "Use IsAssignableFrom instead of IsSubclass for robustness.""

* commit '0f0be7261c68ebb701677b70d40e373accef4d09':
  Revert "Use IsAssignableFrom instead of IsSubclass for robustness."

9 years agoMerge "ART: Simplify (Not)Equal bool vs. int to true/false"
David Brazdil [Mon, 22 Jun 2015 10:16:45 +0000 (10:16 +0000)]
Merge "ART: Simplify (Not)Equal bool vs. int to true/false"

9 years agoART: Simplify (Not)Equal bool vs. int to true/false
David Brazdil [Mon, 22 Jun 2015 09:26:45 +0000 (10:26 +0100)]
ART: Simplify (Not)Equal bool vs. int to true/false

Optimizations on the HGraph may produce comparisons of bool and ints.
Instruction simplifier will simplify these only for 0/1 int constants.
Since the range of bool is known, comparison against all other int
constants can always be determined statically.

Change-Id: I502651b7a08edf71ee0b2589069f00def6aacf66

9 years agoMerge "Revert "Use IsAssignableFrom instead of IsSubclass for robustness.""
Nicolas Geoffray [Mon, 22 Jun 2015 10:05:58 +0000 (10:05 +0000)]
Merge "Revert "Use IsAssignableFrom instead of IsSubclass for robustness.""

9 years agoRevert "Use IsAssignableFrom instead of IsSubclass for robustness."
Nicolas Geoffray [Mon, 22 Jun 2015 10:04:29 +0000 (10:04 +0000)]
Revert "Use IsAssignableFrom instead of IsSubclass for robustness."

Not correct for Quick.

Bug:21870666

This reverts commit af268bbc4fbd0b9847acf1f7b79c038806118467.

Change-Id: Id44849cc877a42495619fd71bfd2db75159b6868

9 years agoUse compiling class instead of outer class for access checks.
Nicolas Geoffray [Sat, 20 Jun 2015 21:44:47 +0000 (22:44 +0100)]
Use compiling class instead of outer class for access checks.

bug:21869678
Change-Id: Ica6ecc759adc76950dcfe9d4d859dd593a742c62

9 years agoam e85647ed: Merge "Use IsAssignableFrom instead of IsSubclass for robustness."
Nicolas Geoffray [Mon, 22 Jun 2015 08:00:51 +0000 (08:00 +0000)]
am e85647ed: Merge "Use IsAssignableFrom instead of IsSubclass for robustness."

* commit 'e85647ed00d07169193cc07ffa09e3b70ce38f59':
  Use IsAssignableFrom instead of IsSubclass for robustness.

9 years agoam 8cf7cbf7: Merge "Fix wrong DCHECK in bounds check elimination."
Nicolas Geoffray [Mon, 22 Jun 2015 08:00:50 +0000 (08:00 +0000)]
am 8cf7cbf7: Merge "Fix wrong DCHECK in bounds check elimination."

* commit '8cf7cbf7854199cfd5001fa9503c78c3b15f0b58':
  Fix wrong DCHECK in bounds check elimination.

9 years agoMerge "Use IsAssignableFrom instead of IsSubclass for robustness."
Nicolas Geoffray [Mon, 22 Jun 2015 07:53:43 +0000 (07:53 +0000)]
Merge "Use IsAssignableFrom instead of IsSubclass for robustness."

9 years agoMerge "Fix wrong DCHECK in bounds check elimination."
Nicolas Geoffray [Mon, 22 Jun 2015 07:52:58 +0000 (07:52 +0000)]
Merge "Fix wrong DCHECK in bounds check elimination."

9 years agoam 7aa55725: Merge "Fix String Change baseline compiler errors."
Nicolas Geoffray [Mon, 22 Jun 2015 07:42:44 +0000 (07:42 +0000)]
am 7aa55725: Merge "Fix String Change baseline compiler errors."

* commit '7aa557256a87a8a7ad4be7d9ff90aee54a99124c':
  Fix String Change baseline compiler errors.

9 years agoMerge "Fix String Change baseline compiler errors."
Nicolas Geoffray [Mon, 22 Jun 2015 07:32:14 +0000 (07:32 +0000)]
Merge "Fix String Change baseline compiler errors."

9 years agoFix String Change baseline compiler errors.
Nicolas Geoffray [Sun, 21 Jun 2015 17:57:02 +0000 (18:57 +0100)]
Fix String Change baseline compiler errors.

The String Change adds multiple move results if the uninitialized string
is in multiple registers. This adds StoreLocals on the same instruction,
which isn't allowed. Now, a LoadLocal is added for each extra move
needed.

Change-Id: I49f676cb85de051e737e0653138cbb947a73e48b

9 years agoam 74f774f0: Merge "Make dump-oat-target work with second architecture"
Brian Carlstrom [Sun, 21 Jun 2015 00:17:24 +0000 (00:17 +0000)]
am 74f774f0: Merge "Make dump-oat-target work with second architecture"

* commit '74f774f0d6389c432122ca262c6705118f5ebd6e':
  Make dump-oat-target work with second architecture

9 years agoMerge "Make dump-oat-target work with second architecture"
Brian Carlstrom [Sun, 21 Jun 2015 00:08:20 +0000 (00:08 +0000)]
Merge "Make dump-oat-target work with second architecture"

9 years agoFix wrong DCHECK in bounds check elimination.
Nicolas Geoffray [Sat, 20 Jun 2015 22:49:01 +0000 (23:49 +0100)]
Fix wrong DCHECK in bounds check elimination.

The lower range of an array length instruction can
be changed by other instructions than HBoundsCheck,
like HNewArray.

bug:21862741
Change-Id: Idbe50ac114287ea6d852fb6fe9f9e2d440d18af5

9 years agoam 883ac209: Merge "Move LD_USE_LOAD_BIAS to run-test-jar to reduce log verbosity."
David Srbecky [Sat, 20 Jun 2015 06:04:40 +0000 (06:04 +0000)]
am 883ac209: Merge "Move LD_USE_LOAD_BIAS to run-test-jar to reduce log verbosity."

* commit '883ac209066d61404627a8820770755d60068a2b':
  Move LD_USE_LOAD_BIAS to run-test-jar to reduce log verbosity.

9 years agoFix in ReferenceTypePropagation
Calin Juravle [Thu, 18 Jun 2015 17:38:29 +0000 (18:38 +0100)]
Fix in ReferenceTypePropagation

Take into account that we might not be able to resolve the method when
we visit the invoke, or the field when we visit a field-access.

Bug: 21914925
Change-Id: Ie4bcfeddaa78780d8cfe28e77d1135ee219a15ad

9 years agoART: Disallow classes that are abstract and final
Andreas Gampe [Sat, 20 Jun 2015 05:58:47 +0000 (22:58 -0700)]
ART: Disallow classes that are abstract and final

Make the verifier fail such classes.

Bug: 21873151
Change-Id: I217f3d71f44bccdcee7ca830e092c807928bed39

9 years agoMerge "Move LD_USE_LOAD_BIAS to run-test-jar to reduce log verbosity."
David Srbecky [Sat, 20 Jun 2015 05:56:48 +0000 (05:56 +0000)]
Merge "Move LD_USE_LOAD_BIAS to run-test-jar to reduce log verbosity."

9 years agoMove LD_USE_LOAD_BIAS to run-test-jar to reduce log verbosity.
David Srbecky [Sat, 20 Jun 2015 05:03:53 +0000 (06:03 +0100)]
Move LD_USE_LOAD_BIAS to run-test-jar to reduce log verbosity.

LD_USE_LOAD_BIAS is needed so that we can use dlopen.
Without it, we will fallback to our own loader and
dump all mmap for diagnostics which makes the tests verbose.

Change-Id: Ib12e9834b3454ffd726642859550545826ce38bf

9 years agoMake dump-oat-target work with second architecture
Brian Carlstrom [Sat, 20 Jun 2015 05:05:35 +0000 (22:05 -0700)]
Make dump-oat-target work with second architecture

Bug: 19909409
Change-Id: Iff21c5d3ce0e6b057a677da6726ee42af64463e7

9 years agoam 1e73a95d: Merge "Use signed encoding when using relative CFI addresses."
David Srbecky [Sat, 20 Jun 2015 04:40:51 +0000 (04:40 +0000)]
am 1e73a95d: Merge "Use signed encoding when using relative CFI addresses."

* commit '1e73a95d74848020fab512a95a7f9a7ada72497b':
  Use signed encoding when using relative CFI addresses.

9 years agoMerge "Use signed encoding when using relative CFI addresses."
David Srbecky [Sat, 20 Jun 2015 04:30:29 +0000 (04:30 +0000)]
Merge "Use signed encoding when using relative CFI addresses."

9 years agoam a60bd747: Merge "ART: Check for expected args for instance methods"
Andreas Gampe [Sat, 20 Jun 2015 04:11:47 +0000 (04:11 +0000)]
am a60bd747: Merge "ART: Check for expected args for instance methods"

* commit 'a60bd74737fcd1b3737bc523741efa1097bbd782':
  ART: Check for expected args for instance methods

9 years agoUse signed encoding when using relative CFI addresses.
David Srbecky [Sat, 20 Jun 2015 04:01:22 +0000 (05:01 +0100)]
Use signed encoding when using relative CFI addresses.

This is required for gdb to work.
libunwind works with either encoding.

Bug: 21924613
Change-Id: I4e4f1cf9c65d48fa885a5993eeeed0253a3f2579

9 years agoMerge "ART: Check for expected args for instance methods"
Andreas Gampe [Sat, 20 Jun 2015 04:03:20 +0000 (04:03 +0000)]
Merge "ART: Check for expected args for instance methods"

9 years agoART: Check for expected args for instance methods
Andreas Gampe [Sat, 20 Jun 2015 03:37:46 +0000 (20:37 -0700)]
ART: Check for expected args for instance methods

Don't assume that the receiver is expected. This was writing out
of bounds (or triggering a DCHECK).

Bug: 21817284
Bug: 21872240
Bug: https://code.google.com/p/android/issues/detail?id=176571
Bug: https://code.google.com/p/android/issues/detail?id=176572
Change-Id: I7cad2c1dfc39feb0b1b4660deeb43afdcb844ba3

9 years agoam ba7837b2: Merge "ART: Check var-arg count earlier in method verifier"
Andreas Gampe [Sat, 20 Jun 2015 00:54:49 +0000 (00:54 +0000)]
am ba7837b2: Merge "ART: Check var-arg count earlier in method verifier"

* commit 'ba7837b2308aeaaa613383297737488af558aed7':
  ART: Check var-arg count earlier in method verifier

9 years agoMerge "ART: Check var-arg count earlier in method verifier"
Andreas Gampe [Sat, 20 Jun 2015 00:43:39 +0000 (00:43 +0000)]
Merge "ART: Check var-arg count earlier in method verifier"

9 years agoRun an empty checkpoint before marking ends in the CC collector.
Hiroshi Yamauchi [Sat, 20 Jun 2015 00:39:45 +0000 (17:39 -0700)]
Run an empty checkpoint before marking ends in the CC collector.

To avoid a race condition between the end of marking and a mutator
still in the middle of a read barrier.

Bug: 12687968
Bug: 21564728
Change-Id: I4962d895b4df89d2bcde97cbabdb98a14a19dd6b