OSDN Git Service

android-x86/art.git
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 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 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 agoART: Check var-arg count earlier in method verifier
Taiju Tsuiki [Mon, 13 Apr 2015 05:21:00 +0000 (14:21 +0900)]
ART: Check var-arg count earlier in method verifier

Check the count in vararg instructions before filling the temp
array. Avoids a DCHECK.

Bug: 21869663
Bug: 20170976

Change-Id: I1ff93502ab84c5967ad54d1b50dba517da791637

9 years agoam d1a06338: Merge "Fix GC map generation edge case"
Mathieu Chartier [Fri, 19 Jun 2015 22:54:44 +0000 (22:54 +0000)]
am d1a06338: Merge "Fix GC map generation edge case"

* commit 'd1a06338b9aa818b730ef1d46549a09af8f35c5b':
  Fix GC map generation edge case

9 years agoMerge "Fix GC map generation edge case"
Mathieu Chartier [Fri, 19 Jun 2015 22:42:21 +0000 (22:42 +0000)]
Merge "Fix GC map generation edge case"

9 years agoFix GC map generation edge case
Mathieu Chartier [Fri, 19 Jun 2015 20:55:27 +0000 (13:55 -0700)]
Fix GC map generation edge case

Previously we checked the number of bits, but then rounded up to a
byte boundary. If ref_bitmap_bits was 65535, it would pass the check
but not actually fit in the 13 bits for ref_bitmap_bytes since we
rounded up to 8192 bytes.

(cherry picked from commit 1626b919005df42ccc90ebe68fc57b7c56d44029)

Regression test infeasible due to smali limitations.

Bug: 21888453
Change-Id: If4b769431f27ecca14fe7852d017bcde01b3e146

9 years agoam d5ff8c58: Merge "Fix case where block has no predecessor for StringChange."
Jeff Hao [Fri, 19 Jun 2015 18:31:00 +0000 (18:31 +0000)]
am d5ff8c58: Merge "Fix case where block has no predecessor for StringChange."

* commit 'd5ff8c584b230da350f4ebfffec1d245c09bf26b':
  Fix case where block has no predecessor for StringChange.

9 years agoMerge "Fix case where block has no predecessor for StringChange."
Jeff Hao [Fri, 19 Jun 2015 18:15:00 +0000 (18:15 +0000)]
Merge "Fix case where block has no predecessor for StringChange."

9 years agoFix case where block has no predecessor for StringChange.
Jeff Hao [Wed, 17 Jun 2015 23:04:26 +0000 (16:04 -0700)]
Fix case where block has no predecessor for StringChange.

Removes part that checks for throwing half of instruction. It's no
longer necessary. Also adds regression test.

Bug: 21902684

(cherry-picked from commit 3e91a44bc9063f7f69b5415e3cf162991f73283f)

Change-Id: I8d7308ff227816fb475341c2b74ed84d5695a2f5

9 years agoam e102f193: Merge "Fix StringChange for optimizing compiler."
Jeff Hao [Fri, 19 Jun 2015 17:50:54 +0000 (17:50 +0000)]
am e102f193: Merge "Fix StringChange for optimizing compiler."

* commit 'e102f1937ca14df87594469430d2e6e0ebe0f357':
  Fix StringChange for optimizing compiler.

9 years agoUse IsAssignableFrom instead of IsSubclass for robustness.
Nicolas Geoffray [Fri, 19 Jun 2015 17:35:41 +0000 (18:35 +0100)]
Use IsAssignableFrom instead of IsSubclass for robustness.

We can get interface methods as referrer. Instead of crashing,
just use IsAssignableFrom.

bug:21870666

Change-Id: I7978e36fb981d44611635fbaf3899138bae60672

9 years agoMerge "Fix StringChange for optimizing compiler."
Jeff Hao [Fri, 19 Jun 2015 17:38:55 +0000 (17:38 +0000)]
Merge "Fix StringChange for optimizing compiler."

9 years agoam e4bb626f: Merge "Quick: Handle total high/low register overlap on arm/mips."
Vladimir Marko [Fri, 19 Jun 2015 16:51:34 +0000 (16:51 +0000)]
am e4bb626f: Merge "Quick: Handle total high/low register overlap on arm/mips."

* commit 'e4bb626ff09e409c9482e515716de7cd595ea466':
  Quick: Handle total high/low register overlap on arm/mips.

9 years agoMerge "Quick: Handle total high/low register overlap on arm/mips."
Vladimir Marko [Fri, 19 Jun 2015 16:39:29 +0000 (16:39 +0000)]
Merge "Quick: Handle total high/low register overlap on arm/mips."

9 years agoam 87a135e8: Merge "Be careful with predecessor/successor index."
Nicolas Geoffray [Fri, 19 Jun 2015 16:00:41 +0000 (16:00 +0000)]
am 87a135e8: Merge "Be careful with predecessor/successor index."

* commit '87a135e8699119c9ef99b0221acf481d7d6501d4':
  Be careful with predecessor/successor index.

9 years agoam ff3fd957: Merge "Quick: Fix optimizations for empty if blocks."
Vladimir Marko [Fri, 19 Jun 2015 15:53:16 +0000 (15:53 +0000)]
am ff3fd957: Merge "Quick: Fix optimizations for empty if blocks."

* commit 'ff3fd957020f0e5cf5cc279f4bbbca3545ce8745':
  Quick: Fix optimizations for empty if blocks.

9 years agoMerge "Be careful with predecessor/successor index."
Nicolas Geoffray [Fri, 19 Jun 2015 15:52:24 +0000 (15:52 +0000)]
Merge "Be careful with predecessor/successor index."

9 years agoBe careful with predecessor/successor index.
Nicolas Geoffray [Fri, 19 Jun 2015 15:17:05 +0000 (16:17 +0100)]
Be careful with predecessor/successor index.

When we simplify the CFG, we must preserve things that were already
simplified. For example, the index in the predecessor list or
successor list of a block must be preserved for ensuring the
first block is a loop pre header.

bug:21867463

Change-Id: Ic3fcb3eb2c3fb109d8a57ee2a6b6d4d65fdb9410

9 years agoMerge "Quick: Fix optimizations for empty if blocks."
Vladimir Marko [Fri, 19 Jun 2015 15:44:22 +0000 (15:44 +0000)]
Merge "Quick: Fix optimizations for empty if blocks."

9 years agoam dbc0345e: Merge "Opt compiler: Add a description to MIP64 slow paths."
Roland Levillain [Fri, 19 Jun 2015 15:22:37 +0000 (15:22 +0000)]
am dbc0345e: Merge "Opt compiler: Add a description to MIP64 slow paths."

* commit 'dbc0345e7a066726fda6dbfe47592963f4602c56':
  Opt compiler: Add a description to MIP64 slow paths.

9 years agoMerge "Opt compiler: Add a description to MIP64 slow paths."
Roland Levillain [Fri, 19 Jun 2015 15:09:31 +0000 (15:09 +0000)]
Merge "Opt compiler: Add a description to MIP64 slow paths."

9 years agoOpt compiler: Add a description to MIP64 slow paths.
Roland Levillain [Fri, 19 Jun 2015 15:07:18 +0000 (16:07 +0100)]
Opt compiler: Add a description to MIP64 slow paths.

Change-Id: I773a543cd4f146d64819cc347e57e6472dea0b38

9 years agoam 7ed9cec8: Merge "MIPS: Initial version of optimizing compiler for MIPS64R6."
Roland Levillain [Fri, 19 Jun 2015 15:04:43 +0000 (15:04 +0000)]
am 7ed9cec8: Merge "MIPS: Initial version of optimizing compiler for MIPS64R6."

* commit '7ed9cec8bc302a0b4fe5a127b58bfddd702a70e8':
  MIPS: Initial version of optimizing compiler for MIPS64R6.

9 years agoMerge "MIPS: Initial version of optimizing compiler for MIPS64R6."
Roland Levillain [Fri, 19 Jun 2015 14:51:33 +0000 (14:51 +0000)]
Merge "MIPS: Initial version of optimizing compiler for MIPS64R6."

9 years agoMIPS: Initial version of optimizing compiler for MIPS64R6.
Alexey Frunze [Tue, 2 Jun 2015 01:31:49 +0000 (18:31 -0700)]
MIPS: Initial version of optimizing compiler for MIPS64R6.

Bug: 21555893
Change-Id: I874dc356eee6ab061a32f8f3df5f8ac3a4ab7dcf
Signed-off-by: Alexey Frunze <Alexey.Frunze@imgtec.com>
Signed-off-by: Douglas Leung <douglas.leung@imgtec.com>
9 years agoam 71af6f7a: Merge "Opt compiler: Add a description to slow paths."
David Brazdil [Fri, 19 Jun 2015 14:30:51 +0000 (14:30 +0000)]
am 71af6f7a: Merge "Opt compiler: Add a description to slow paths."

* commit '71af6f7aab7491665fe2d6beb9af4c251a99ad56':
  Opt compiler: Add a description to slow paths.

9 years agoMerge "Opt compiler: Add a description to slow paths."
David Brazdil [Fri, 19 Jun 2015 14:21:58 +0000 (14:21 +0000)]
Merge "Opt compiler: Add a description to slow paths."

9 years agoQuick: Handle total high/low register overlap on arm/mips.
Vladimir Marko [Fri, 19 Jun 2015 13:56:38 +0000 (14:56 +0100)]
Quick: Handle total high/low register overlap on arm/mips.

OpRegCopyWide() in arm and mips backends didn't handle the
total register overlap when the registers holding the source
and destination pairs are the same but in reverse order.

Bug: 21897012
Change-Id: Ia1f0005cbf5cc1c2d30899575dea21b3efa20ae6

9 years agoQuick: Fix optimizations for empty if blocks.
Vladimir Marko [Fri, 19 Jun 2015 11:58:22 +0000 (12:58 +0100)]
Quick: Fix optimizations for empty if blocks.

If a block ending with if-eqz or if-nez has the same "taken"
and "fallthrough", we cannot assume that the value has been
checked against zero in one of the succesors. This affects
the null check elimination pass as well as GVN. Refactor all
those checks to a single function in BasicBlock and check
that the "taken" and "falthrough" are different when needed.

Bug: 21614284
Change-Id: I8c6ac23e96cdaf5984786a555ebbd28110f095cb

9 years agoOpt compiler: Add a description to slow paths.
Alexandre Rames [Fri, 19 Jun 2015 13:47:01 +0000 (14:47 +0100)]
Opt compiler: Add a description to slow paths.

Change-Id: I22160d90de3fe0ab3e6a2acc440bda8daa00e0f0

9 years agoam 97d207c3: Merge "Use compiling class instead of referrer for access checks."
Nicolas Geoffray [Fri, 19 Jun 2015 13:11:23 +0000 (13:11 +0000)]
am 97d207c3: Merge "Use compiling class instead of referrer for access checks."

* commit '97d207c3beba0a4ed6402e882c5909c5ac5bde6d':
  Use compiling class instead of referrer for access checks.

9 years agoMerge "Use compiling class instead of referrer for access checks."
Nicolas Geoffray [Fri, 19 Jun 2015 13:02:11 +0000 (13:02 +0000)]
Merge "Use compiling class instead of referrer for access checks."

9 years agoUse compiling class instead of referrer for access checks.
Nicolas Geoffray [Fri, 19 Jun 2015 12:32:41 +0000 (13:32 +0100)]
Use compiling class instead of referrer for access checks.

bug:21869670
Change-Id: Ief329247e90202835e27fa38803e02dd2e2ae8ca

9 years agoam d8d7b90c: Merge "Do not expect 0 or 1 only when comparing a boolean."
Nicolas Geoffray [Fri, 19 Jun 2015 11:11:01 +0000 (11:11 +0000)]
am d8d7b90c: Merge "Do not expect 0 or 1 only when comparing a boolean."

* commit 'd8d7b90ca57e8e3762951bb419b6f2645bb414c5':
  Do not expect 0 or 1 only when comparing a boolean.

9 years agoam e4387574: Merge "Verifier: check an aput, even if we know it will fail."
Nicolas Geoffray [Fri, 19 Jun 2015 11:10:59 +0000 (11:10 +0000)]
am e4387574: Merge "Verifier: check an aput, even if we know it will fail."

* commit 'e43875749fbc674fbad23ba11af64f25ab2add0d':
  Verifier: check an aput, even if we know it will fail.

9 years agoMerge "Do not expect 0 or 1 only when comparing a boolean."
Nicolas Geoffray [Fri, 19 Jun 2015 11:03:44 +0000 (11:03 +0000)]
Merge "Do not expect 0 or 1 only when comparing a boolean."

9 years agoMerge "Verifier: check an aput, even if we know it will fail."
Nicolas Geoffray [Fri, 19 Jun 2015 11:02:16 +0000 (11:02 +0000)]
Merge "Verifier: check an aput, even if we know it will fail."

9 years agoDo not expect 0 or 1 only when comparing a boolean.
Nicolas Geoffray [Fri, 19 Jun 2015 10:42:07 +0000 (11:42 +0100)]
Do not expect 0 or 1 only when comparing a boolean.

bug:21866529
Change-Id: I81ffba609a357010bd86073eb979024fc668ed20

9 years agoam be59b852: Merge "Make Main public to pass tests on all configurations."
Nicolas Geoffray [Fri, 19 Jun 2015 10:16:54 +0000 (10:16 +0000)]
am be59b852: Merge "Make Main public to pass tests on all configurations."

* commit 'be59b85251f085359d40bb89b1aa7e037c8ac0ef':
  Make Main public to pass tests on all configurations.

9 years agoMerge "Make Main public to pass tests on all configurations."
Nicolas Geoffray [Fri, 19 Jun 2015 10:07:46 +0000 (10:07 +0000)]
Merge "Make Main public to pass tests on all configurations."

9 years agoam 511b7cb2: Merge "Use the right bug number. Spotted by vmarko."
Nicolas Geoffray [Fri, 19 Jun 2015 10:00:08 +0000 (10:00 +0000)]
am 511b7cb2: Merge "Use the right bug number. Spotted by vmarko."

* commit '511b7cb2c2c1f276875ff2762bbc97337d824a63':
  Use the right bug number. Spotted by vmarko.

9 years agoMerge "Use the right bug number. Spotted by vmarko."
Nicolas Geoffray [Fri, 19 Jun 2015 09:50:49 +0000 (09:50 +0000)]
Merge "Use the right bug number. Spotted by vmarko."

9 years agoMake Main public to pass tests on all configurations.
Nicolas Geoffray [Fri, 19 Jun 2015 09:45:44 +0000 (10:45 +0100)]
Make Main public to pass tests on all configurations.

There's a mismatch between compile-time and runtime access checks.
This doens't fix it but keep us green.

bug:21923303

Change-Id: I1d4a80557f9d8ca9d8bef18a8c23230ed46d4a4c

9 years agoVerifier: check an aput, even if we know it will fail.
Nicolas Geoffray [Fri, 19 Jun 2015 09:35:42 +0000 (10:35 +0100)]
Verifier: check an aput, even if we know it will fail.

bug:21867457
Change-Id: I01e333d858995d0e1e083a50cf8d460a86381f2c

9 years agoUse the right bug number. Spotted by vmarko.
Nicolas Geoffray [Fri, 19 Jun 2015 09:05:50 +0000 (10:05 +0100)]
Use the right bug number. Spotted by vmarko.

bug:21863767

Change-Id: I203072188c0c97b2d6709e1a59555b45fc5a0ab2

9 years agoFix StringChange for optimizing compiler.
Jeff Hao [Fri, 19 Jun 2015 04:16:08 +0000 (21:16 -0700)]
Fix StringChange for optimizing compiler.

Uses optimizing compiler more and fixes x86_64 invoke codegen.

Bug: 21902634

(cherry-picked from commit e0a9a53ec4b4ccbf9b1d67957fb99a45b469ccc2)

Change-Id: I56881889bee7092b8401b090af1c0f1004c11667

9 years agoam f12ffdb5: Merge "Fix moving GC bug in DoFilledNewArray"
Mathieu Chartier [Fri, 19 Jun 2015 00:12:48 +0000 (00:12 +0000)]
am f12ffdb5: Merge "Fix moving GC bug in DoFilledNewArray"

* commit 'f12ffdb549f1947125e3f56694cb479a619f02bf':
  Fix moving GC bug in DoFilledNewArray

9 years agoMerge "Fix moving GC bug in DoFilledNewArray"
Mathieu Chartier [Fri, 19 Jun 2015 00:00:07 +0000 (00:00 +0000)]
Merge "Fix moving GC bug in DoFilledNewArray"

9 years agoFix moving GC bug in DoFilledNewArray
Mathieu Chartier [Thu, 18 Jun 2015 23:48:52 +0000 (16:48 -0700)]
Fix moving GC bug in DoFilledNewArray

Previously we read from componentClass after allocating the array.

Bug: 21783443

Change-Id: I5283982edab479434e27416509e1436b4176fe01

9 years agoam 542ca97d: Merge "test: Fix lambda test incorrectly globbing together compiler...
Igor Murashkin [Thu, 18 Jun 2015 22:50:57 +0000 (22:50 +0000)]
am 542ca97d: Merge "test: Fix lambda test incorrectly globbing together compiler arguments"

* commit '542ca97d3e4266896407b9abd29b36b1c59d798c':
  test: Fix lambda test incorrectly globbing together compiler arguments

9 years agoMerge "test: Fix lambda test incorrectly globbing together compiler arguments"
Igor Murashkin [Thu, 18 Jun 2015 22:41:57 +0000 (22:41 +0000)]
Merge "test: Fix lambda test incorrectly globbing together compiler arguments"

9 years agotest: Fix lambda test incorrectly globbing together compiler arguments
Igor Murashkin [Thu, 18 Jun 2015 22:38:59 +0000 (15:38 -0700)]
test: Fix lambda test incorrectly globbing together compiler arguments

This also fixes test failures when running imageless tests.

Change-Id: I9b0deb836907060160e31c434cf0710507f9665a

9 years agoam 46d87021: Merge "Fix moving GC bugs in proxy stub for X86/X86_64"
Mathieu Chartier [Thu, 18 Jun 2015 20:11:02 +0000 (20:11 +0000)]
am 46d87021: Merge "Fix moving GC bugs in proxy stub for X86/X86_64"

* commit '46d8702167d679dbf87ba9fa8fd0f1b6bbb3ed62':
  Fix moving GC bugs in proxy stub for X86/X86_64

9 years agoam 247e9774: Merge "interpreter: Add experimental lambda opcodes for invoke/create...
Igor Murashkin [Thu, 18 Jun 2015 20:11:01 +0000 (20:11 +0000)]
am 247e9774: Merge "interpreter: Add experimental lambda opcodes for invoke/create-lambda"

* commit '247e97746016b49183b52f4c386bedf7cd53e590':
  interpreter: Add experimental lambda opcodes for invoke/create-lambda

9 years agoMerge "Fix moving GC bugs in proxy stub for X86/X86_64"
Mathieu Chartier [Thu, 18 Jun 2015 20:01:24 +0000 (20:01 +0000)]
Merge "Fix moving GC bugs in proxy stub for X86/X86_64"

9 years agoMerge "interpreter: Add experimental lambda opcodes for invoke/create-lambda"
Igor Murashkin [Thu, 18 Jun 2015 19:56:57 +0000 (19:56 +0000)]
Merge "interpreter: Add experimental lambda opcodes for invoke/create-lambda"

9 years agoFix moving GC bugs in proxy stub for X86/X86_64
Mathieu Chartier [Thu, 18 Jun 2015 17:17:26 +0000 (10:17 -0700)]
Fix moving GC bugs in proxy stub for X86/X86_64

Needed to restore the refs.

Bug: 21907554
Change-Id: I562906dff07dcaa78dfb39646ba9ab35a5f56c6c

9 years agoam 2b696ab5: Merge "Quick: Don\'t expect move-exception in every catch block."
Vladimir Marko [Thu, 18 Jun 2015 18:31:41 +0000 (18:31 +0000)]
am 2b696ab5: Merge "Quick: Don\'t expect move-exception in every catch block."

* commit '2b696ab55e817b583d7b3b3ffd39e48c38db6989':
  Quick: Don't expect move-exception in every catch block.

9 years agoMerge "Quick: Don't expect move-exception in every catch block."
Vladimir Marko [Thu, 18 Jun 2015 18:22:48 +0000 (18:22 +0000)]
Merge "Quick: Don't expect move-exception in every catch block."