OSDN Git Service

android-x86/art.git
9 years agoam 52b63e20: Merge "ART: Fix gtests broken by dead block elimination"
David Brazdil [Fri, 24 Apr 2015 16:16:48 +0000 (16:16 +0000)]
am 52b63e20: Merge "ART: Fix gtests broken by dead block elimination"

* commit '52b63e20eaef3abfda928833101f67ff581140ad':
  ART: Fix gtests broken by dead block elimination

9 years agoMerge "ART: Fix gtests broken by dead block elimination"
David Brazdil [Fri, 24 Apr 2015 16:09:15 +0000 (16:09 +0000)]
Merge "ART: Fix gtests broken by dead block elimination"

9 years agoART: Fix gtests broken by dead block elimination
David Brazdil [Fri, 24 Apr 2015 16:04:38 +0000 (17:04 +0100)]
ART: Fix gtests broken by dead block elimination

Change-Id: If5de97f928f9e214d64871eabfbfb3f2d15451b7

9 years agoam 7bf9bc78: Merge "Minor improvements to 458-checker-instruction-simplification."
Roland Levillain [Fri, 24 Apr 2015 16:05:29 +0000 (16:05 +0000)]
am 7bf9bc78: Merge "Minor improvements to 458-checker-instruction-simplification."

* commit '7bf9bc7854f5c8ccc2cb2ef4be4f728c5fbd3236':
  Minor improvements to 458-checker-instruction-simplification.

9 years agoMerge "Minor improvements to 458-checker-instruction-simplification."
Roland Levillain [Fri, 24 Apr 2015 15:53:25 +0000 (15:53 +0000)]
Merge "Minor improvements to 458-checker-instruction-simplification."

9 years agoam f16d7b38: Merge "ART: Dead block removal"
David Brazdil [Fri, 24 Apr 2015 15:27:55 +0000 (15:27 +0000)]
am f16d7b38: Merge "ART: Dead block removal"

* commit 'f16d7b3824b2777b95fb509c1d2a95bef89f65a4':
  ART: Dead block removal

9 years agoMerge "ART: Dead block removal"
David Brazdil [Fri, 24 Apr 2015 15:20:27 +0000 (15:20 +0000)]
Merge "ART: Dead block removal"

9 years agoART: Dead block removal
David Brazdil [Mon, 20 Apr 2015 13:52:42 +0000 (14:52 +0100)]
ART: Dead block removal

Adds a new pass which finds all unreachable blocks, typically due to
simplifying an if-condition to a constant, and removes them from the
graph. The patch also slightly generalizes the graph-transforming
operations.

Change-Id: Iff7c97f1d10b52886f3cd7401689ebe1bfdbf456

9 years agoam 9f3565a6: Merge "Debugger: Remove support for setting values in optimizing."
Nicolas Geoffray [Fri, 24 Apr 2015 14:24:39 +0000 (14:24 +0000)]
am 9f3565a6: Merge "Debugger: Remove support for setting values in optimizing."

* commit '9f3565a632d12c9cadd7d966da308fd26dbc899c':
  Debugger: Remove support for setting values in optimizing.

9 years agoMerge "Debugger: Remove support for setting values in optimizing."
Nicolas Geoffray [Fri, 24 Apr 2015 14:18:19 +0000 (14:18 +0000)]
Merge "Debugger: Remove support for setting values in optimizing."

9 years agoDebugger: Remove support for setting values in optimizing.
Nicolas Geoffray [Fri, 24 Apr 2015 13:58:19 +0000 (14:58 +0100)]
Debugger: Remove support for setting values in optimizing.

bug:19944235
Change-Id: I3bcd56c7844847a7f0367f8ce6a72bddcd09d441

9 years agoam af248646: Merge "Don\'t use \'sh\' on the host."
Nicolas Geoffray [Fri, 24 Apr 2015 13:44:43 +0000 (13:44 +0000)]
am af248646: Merge "Don\'t use \'sh\' on the host."

* commit 'af248646f2de879a25114e9f0fb42ac903fe9db7':
  Don't use 'sh' on the host.

9 years agoMerge "Don't use 'sh' on the host."
Nicolas Geoffray [Fri, 24 Apr 2015 13:38:19 +0000 (13:38 +0000)]
Merge "Don't use 'sh' on the host."

9 years agoDon't use 'sh' on the host.
Nicolas Geoffray [Fri, 24 Apr 2015 13:37:29 +0000 (14:37 +0100)]
Don't use 'sh' on the host.

Change-Id: I319c08367d143443425bc01f4dda28ad46417c7e

9 years agoam 9e85d55c: Merge "Use \'sh\' explicitly when invoking the art script."
Nicolas Geoffray [Fri, 24 Apr 2015 12:53:49 +0000 (12:53 +0000)]
am 9e85d55c: Merge "Use \'sh\' explicitly when invoking the art script."

* commit '9e85d55c085504b88a9ac68c3f9605629dc06853':
  Use 'sh' explicitly when invoking the art script.

9 years agoam 11307fd2: Merge "Make tests assume ANDROID_ROOT is not /system."
Nicolas Geoffray [Fri, 24 Apr 2015 12:53:48 +0000 (12:53 +0000)]
am 11307fd2: Merge "Make tests assume ANDROID_ROOT is not /system."

* commit '11307fd2943663bd7daa85428a104374e6d3e784':
  Make tests assume ANDROID_ROOT is not /system.

9 years agoMerge "Use 'sh' explicitly when invoking the art script."
Nicolas Geoffray [Fri, 24 Apr 2015 12:45:28 +0000 (12:45 +0000)]
Merge "Use 'sh' explicitly when invoking the art script."

9 years agoUse 'sh' explicitly when invoking the art script.
Nicolas Geoffray [Fri, 24 Apr 2015 12:44:19 +0000 (13:44 +0100)]
Use 'sh' explicitly when invoking the art script.

Change-Id: I5e11483dd75f9ab4dd67f3bbbc45485726d01e34

9 years agoMerge "Make tests assume ANDROID_ROOT is not /system."
Nicolas Geoffray [Fri, 24 Apr 2015 12:43:34 +0000 (12:43 +0000)]
Merge "Make tests assume ANDROID_ROOT is not /system."

9 years agoMake tests assume ANDROID_ROOT is not /system.
Nicolas Geoffray [Fri, 24 Apr 2015 10:57:37 +0000 (11:57 +0100)]
Make tests assume ANDROID_ROOT is not /system.

This is to enable better chroot-like testing.

Change-Id: I943c68b0ebcdab2f107f808b466ac694085255aa

9 years agoam c5cb691c: Merge "Cleanup and improve stack map stream"
Nicolas Geoffray [Fri, 24 Apr 2015 07:59:39 +0000 (07:59 +0000)]
am c5cb691c: Merge "Cleanup and improve stack map stream"

* commit 'c5cb691ca6a746a193bfbe3525aafa7cbb281d40':
  Cleanup and improve stack map stream

9 years agoMerge "Cleanup and improve stack map stream"
Nicolas Geoffray [Fri, 24 Apr 2015 07:52:34 +0000 (07:52 +0000)]
Merge "Cleanup and improve stack map stream"

9 years agoam 021190bf: Merge "Fix reflection handling and test flakiness"
Mathieu Chartier [Fri, 24 Apr 2015 00:34:28 +0000 (00:34 +0000)]
am 021190bf: Merge "Fix reflection handling and test flakiness"

* commit '021190bf584662e75b269ef47cd48e2044e34fe4':
  Fix reflection handling and test flakiness

9 years agoMerge "Fix reflection handling and test flakiness"
Mathieu Chartier [Fri, 24 Apr 2015 00:22:41 +0000 (00:22 +0000)]
Merge "Fix reflection handling and test flakiness"

9 years agoFix reflection handling and test flakiness
Mathieu Chartier [Thu, 23 Apr 2015 23:32:54 +0000 (16:32 -0700)]
Fix reflection handling and test flakiness

Fixed reflection invoke to handle exceptions which occur from
FindClass or NewObject by throwing these instead of
the expected InvocationTargetException.

Added test case to 080 for this reflection invoke.

Fixed println throwing OOM in 104-growth-limit.

Change-Id: I65766e7c3478e299da06fdc3a521fe3f3e8fdba9

9 years agoCleanup and improve stack map stream
Calin Juravle [Thu, 23 Apr 2015 17:47:21 +0000 (18:47 +0100)]
Cleanup and improve stack map stream

- transform AddStackMapEntry into BeginStackMapEntry/EndStackMapEntry.
This allows for nicer code and less assumptions when searching for equal
dex register maps.
- store the components sizes and their start positions as fields to
avoid re-computation.
- store the current stack map entry as a field to avoid the copy
semantic when updating its value in the stack maps array.
- remove redundant methods and fix visibility for the remaining ones.

Change-Id: Ica2d2969d7e15993bdbf8bc41d9df083cddafd24

9 years agoam 633a37ec: Merge "Quick: Fix out of temp regs in ArmMir2Lir::GenMulLong()."
Vladimir Marko [Thu, 23 Apr 2015 18:18:57 +0000 (18:18 +0000)]
am 633a37ec: Merge "Quick: Fix out of temp regs in ArmMir2Lir::GenMulLong()."

* commit '633a37ece49c5afcf3fa9a89692f07d19c56229b':
  Quick: Fix out of temp regs in ArmMir2Lir::GenMulLong().

9 years agoMerge "Quick: Fix out of temp regs in ArmMir2Lir::GenMulLong()."
Vladimir Marko [Thu, 23 Apr 2015 18:11:04 +0000 (18:11 +0000)]
Merge "Quick: Fix out of temp regs in ArmMir2Lir::GenMulLong()."

9 years agoam 360475ab: Merge "Linear scan: split at better positions."
Nicolas Geoffray [Thu, 23 Apr 2015 17:38:27 +0000 (17:38 +0000)]
am 360475ab: Merge "Linear scan: split at better  positions."

* commit '360475aba293267398a17184b5330fd857f9b296':
  Linear scan: split at better  positions.

9 years agoMerge "Linear scan: split at better positions."
Nicolas Geoffray [Thu, 23 Apr 2015 17:28:35 +0000 (17:28 +0000)]
Merge "Linear scan: split at better  positions."

9 years agoLinear scan: split at better positions.
Nicolas Geoffray [Thu, 23 Apr 2015 14:14:36 +0000 (15:14 +0100)]
Linear scan: split at better  positions.

- Split at block entry to piggy back on control flow resolution.
- Split at the loop header, if the split position is within a loop.

Change-Id: I718299a58c02ee02a1b22bda589607c69a35f0e8

9 years agoam 322b389a: Merge "Remove unnecessary null checks in CheckCast and InstanceOf"
Calin Juravle [Thu, 23 Apr 2015 17:26:53 +0000 (17:26 +0000)]
am 322b389a: Merge "Remove unnecessary null checks in CheckCast and InstanceOf"

* commit '322b389a74177c9d938f1f73d53110623dfc61b6':
  Remove unnecessary null checks in CheckCast and InstanceOf

9 years agoMerge "Remove unnecessary null checks in CheckCast and InstanceOf"
Calin Juravle [Thu, 23 Apr 2015 17:19:34 +0000 (17:19 +0000)]
Merge "Remove unnecessary null checks in CheckCast and InstanceOf"

9 years agoam 272bf7e6: Merge "ART: Run BooleanSimplifier after inlining"
David Brazdil [Thu, 23 Apr 2015 17:03:32 +0000 (17:03 +0000)]
am 272bf7e6: Merge "ART: Run BooleanSimplifier after inlining"

* commit '272bf7e60add5f741fb9a2589eaa71945257afcc':
  ART: Run BooleanSimplifier after inlining

9 years agoMerge "ART: Run BooleanSimplifier after inlining"
David Brazdil [Thu, 23 Apr 2015 16:55:10 +0000 (16:55 +0000)]
Merge "ART: Run BooleanSimplifier after inlining"

9 years agoRemove unnecessary null checks in CheckCast and InstanceOf
Guillaume "Vermeille" Sanchez [Mon, 20 Apr 2015 13:41:30 +0000 (14:41 +0100)]
Remove unnecessary null checks in CheckCast and InstanceOf

Change-Id: I6fd81cabd8673be360f369e6318df0de8b18b634

9 years agoART: Run BooleanSimplifier after inlining
David Brazdil [Tue, 21 Apr 2015 14:13:31 +0000 (15:13 +0100)]
ART: Run BooleanSimplifier after inlining

Inlined methods are currently not simplified.

Change-Id: I075130c9df55e2f55032a2c81b08d42cb2cc01f6

9 years agoQuick: Fix out of temp regs in ArmMir2Lir::GenMulLong().
Vladimir Marko [Thu, 23 Apr 2015 16:00:40 +0000 (17:00 +0100)]
Quick: Fix out of temp regs in ArmMir2Lir::GenMulLong().

This fixes running out of temp registers for mul-long that
needs a temporary to store the result, i.e. when it's stored
to stack location [sp, #offset] with offset >= 1024. The bug
is currently not reproducible because ARM_R4_SUSPEND_FLAG is
off and thus we have the extra register available. However,
the code generation could be cleaned up and make use of that
extra register, so pre-emptively fix it anyway.

Bug: 20110806
Change-Id: I8362c349961dbe28fc3ec8a9299b66fd72f26779

9 years agoam 4ceed922: Merge "Move stack map stream implementation to its own cc file."
Calin Juravle [Thu, 23 Apr 2015 15:34:49 +0000 (15:34 +0000)]
am 4ceed922: Merge "Move stack map stream implementation to its own cc file."

* commit '4ceed922d44b68c3fa7cbe670014c9e2e003b92b':
  Move stack map stream implementation to its own cc file.

9 years agoam b19c1e66: Merge "Revert "Revert "Quick: Rewrite type inference pass."""
Vladimir Marko [Thu, 23 Apr 2015 15:34:48 +0000 (15:34 +0000)]
am b19c1e66: Merge "Revert "Revert "Quick: Rewrite type inference pass."""

* commit 'b19c1e666e44a455c955275a967cbf04f397e9d9':
  Revert "Revert "Quick: Rewrite type inference pass.""

9 years agoMerge "Move stack map stream implementation to its own cc file."
Calin Juravle [Thu, 23 Apr 2015 15:32:13 +0000 (15:32 +0000)]
Merge "Move stack map stream implementation to its own cc file."

9 years agoMerge "Revert "Revert "Quick: Rewrite type inference pass."""
Vladimir Marko [Thu, 23 Apr 2015 15:26:20 +0000 (15:26 +0000)]
Merge "Revert "Revert "Quick: Rewrite type inference pass."""

9 years agoMove stack map stream implementation to its own cc file.
Calin Juravle [Thu, 23 Apr 2015 15:01:43 +0000 (16:01 +0100)]
Move stack map stream implementation to its own cc file.

It's big enough now to separate the implementation from the header.

It also enables faster compilation time for experiments.

Change-Id: Ica0c72994d5e461c62c32628010f46f9e5c46b57

9 years agoam b4186df6: Merge "Skip known broken tests for ARM back ends on ARM as second arch."
Roland Levillain [Thu, 23 Apr 2015 14:23:29 +0000 (14:23 +0000)]
am b4186df6: Merge "Skip known broken tests for ARM back ends on ARM as second arch."

* commit 'b4186df6c48a88ad8028fcf9e1dac5ce6c391de2':
  Skip known broken tests for ARM back ends on ARM as second arch.

9 years agoMerge "Skip known broken tests for ARM back ends on ARM as second arch."
Roland Levillain [Thu, 23 Apr 2015 14:14:10 +0000 (14:14 +0000)]
Merge "Skip known broken tests for ARM back ends on ARM as second arch."

9 years agoSkip known broken tests for ARM back ends on ARM as second arch.
Roland Levillain [Thu, 23 Apr 2015 14:02:51 +0000 (15:02 +0100)]
Skip known broken tests for ARM back ends on ARM as second arch.

Change-Id: Idbe4c26d8ffcd91882fe61f62c959cc27d1f28b1

9 years agoam c1b829b8: Merge "Remove ActAsNullConstant"
Calin Juravle [Thu, 23 Apr 2015 13:46:43 +0000 (13:46 +0000)]
am c1b829b8: Merge "Remove ActAsNullConstant"

* commit 'c1b829b8d52affb1b6789550d2ffcc6689389209':
  Remove ActAsNullConstant

9 years agoMerge "Remove ActAsNullConstant"
Calin Juravle [Thu, 23 Apr 2015 13:39:17 +0000 (13:39 +0000)]
Merge "Remove ActAsNullConstant"

9 years agoRemove ActAsNullConstant
Calin Juravle [Thu, 23 Apr 2015 13:34:33 +0000 (14:34 +0100)]
Remove ActAsNullConstant

We now properly type null constants during ssa builder so this is not
needed anymore.

Bug: 20322006
Change-Id: Ic060a52d4fa2d4f00755dd6427f822d368392d7b

9 years agoam 84c5f998: Merge "Mul simplification should expect zero operand"
Nicolas Geoffray [Thu, 23 Apr 2015 12:08:02 +0000 (12:08 +0000)]
am 84c5f998: Merge "Mul simplification should expect zero operand"

* commit '84c5f9986dfaab881d4c66b2f3cb214e6152e9f7':
  Mul simplification should expect zero operand

9 years agoMerge "Mul simplification should expect zero operand"
Nicolas Geoffray [Thu, 23 Apr 2015 11:58:06 +0000 (11:58 +0000)]
Merge "Mul simplification should expect zero operand"

9 years agoMul simplification should expect zero operand
Serguei Katkov [Mon, 20 Apr 2015 08:22:27 +0000 (14:22 +0600)]
Mul simplification should expect zero operand

It is possible that zero constant can appear due to
simplification of other instructions, so we cannot expect
zero handling from constant optimizations.

Change-Id: I084126fd0c106ac2683c4f10a451960d9807f4f6
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
9 years agoRevert "Revert "Quick: Rewrite type inference pass.""
Vladimir Marko [Thu, 23 Apr 2015 09:29:21 +0000 (09:29 +0000)]
Revert "Revert "Quick: Rewrite type inference pass.""

Fix the type of the ArtMethod* SSA register.

Bug: 19419671
This reverts commit 1b717f63847de8762e7f7bdd6708fdfae9d24a67.

Change-Id: Ie4da3c03a0e0334a39a24718f6dc31f9255cfb53

9 years agoam 9d4d13f3: Merge "Revert "Quick: Rewrite type inference pass.""
Andreas Gampe [Thu, 23 Apr 2015 02:06:44 +0000 (02:06 +0000)]
am 9d4d13f3: Merge "Revert "Quick: Rewrite type inference pass.""

* commit '9d4d13f38398e880e610323242fe73d609bac40d':
  Revert "Quick: Rewrite type inference pass."

9 years agoMerge "Revert "Quick: Rewrite type inference pass.""
Andreas Gampe [Thu, 23 Apr 2015 01:56:11 +0000 (01:56 +0000)]
Merge "Revert "Quick: Rewrite type inference pass.""

9 years agoRevert "Quick: Rewrite type inference pass."
Andreas Gampe [Thu, 23 Apr 2015 01:45:06 +0000 (18:45 -0700)]
Revert "Quick: Rewrite type inference pass."

Breaks arm64, as the method register is not correctly flagged
as ref and thus 32bit.

Bug: 19419671
This reverts commit e490b01c12d33f3bd5c247b55b47e507cc9c8fab.

9 years agoam baba16a4: Merge "ART: Fix re-throwing failures of non-convention errors"
Andreas Gampe [Thu, 23 Apr 2015 01:33:19 +0000 (01:33 +0000)]
am baba16a4: Merge "ART: Fix re-throwing failures of non-convention errors"

* commit 'baba16a405df121542b66eba1a025e58850092b4':
  ART: Fix re-throwing failures of non-convention errors

9 years agoMerge "ART: Fix re-throwing failures of non-convention errors"
Andreas Gampe [Thu, 23 Apr 2015 01:24:51 +0000 (01:24 +0000)]
Merge "ART: Fix re-throwing failures of non-convention errors"

9 years agoART: Fix re-throwing failures of non-convention errors
Andreas Gampe [Thu, 23 Apr 2015 01:10:36 +0000 (18:10 -0700)]
ART: Fix re-throwing failures of non-convention errors

While it is convention that Throwable subclasses should have a
constructor with a String argument, that is not rigorously enforced.
So if a static initializer throws an error that omits that
constructor, we must not provide a message when trying to throw
again.

Bug: 20495321
Bug: 20497840
Change-Id: Ia4334fa24223750f90a8f2732f1eb1e738575e8d

9 years agoam 8e58d76e: Merge "Do not mention x86 floating point numbers in CFI."
Andreas Gampe [Wed, 22 Apr 2015 21:29:54 +0000 (21:29 +0000)]
am 8e58d76e: Merge "Do not mention x86 floating point numbers in CFI."

* commit '8e58d76eb30a50e38c46bd6277186116937ba396':
  Do not mention x86 floating point numbers in CFI.

9 years agoMerge "Do not mention x86 floating point numbers in CFI."
Andreas Gampe [Wed, 22 Apr 2015 21:19:51 +0000 (21:19 +0000)]
Merge "Do not mention x86 floating point numbers in CFI."

9 years agoDo not mention x86 floating point numbers in CFI.
David Srbecky [Mon, 20 Apr 2015 15:43:52 +0000 (16:43 +0100)]
Do not mention x86 floating point numbers in CFI.

We have explicitly declared them as undefined, but libunwind does
not seem to support them at all.  Omit the initialization to make
libunwind happy.  Reasonable debugger should still default to
undefined since they are not callee save registers.

Bug: 20491296
Change-Id: Ibaa9595b977508e518bfe3f88b240e8959b1198f

9 years agoam 0ad14266: Merge "Replace NULL with nullptr"
Mathieu Chartier [Wed, 22 Apr 2015 20:10:50 +0000 (20:10 +0000)]
am 0ad14266: Merge "Replace NULL with nullptr"

* commit '0ad14266a71c8579cd6bebcaf42f56fae37c988f':
  Replace NULL with nullptr

9 years agoMerge "Replace NULL with nullptr"
Mathieu Chartier [Wed, 22 Apr 2015 19:59:01 +0000 (19:59 +0000)]
Merge "Replace NULL with nullptr"

9 years agoam 1f02f1a7: Merge "Quick: Rewrite type inference pass."
Vladimir Marko [Wed, 22 Apr 2015 19:53:38 +0000 (19:53 +0000)]
am 1f02f1a7: Merge "Quick: Rewrite type inference pass."

* commit '1f02f1a7b3073b8fef07770a67fbf94afad317f0':
  Quick: Rewrite type inference pass.

9 years agoReplace NULL with nullptr
Mathieu Chartier [Tue, 21 Apr 2015 23:50:40 +0000 (16:50 -0700)]
Replace NULL with nullptr

Also fixed some lines that were too long, and a few other minor
details.

Change-Id: I6efba5fb6e03eb5d0a300fddb2a75bf8e2f175cb

9 years agoMerge "Quick: Rewrite type inference pass."
Vladimir Marko [Wed, 22 Apr 2015 19:41:40 +0000 (19:41 +0000)]
Merge "Quick: Rewrite type inference pass."

9 years agoam 692c03bf: Merge "Quick: Remove broken Mir2Lir::LocToRegClass()."
Vladimir Marko [Wed, 22 Apr 2015 19:41:23 +0000 (19:41 +0000)]
am 692c03bf: Merge "Quick: Remove broken Mir2Lir::LocToRegClass()."

* commit '692c03bfbd3a86f7ce329844d32f7e047997a2f0':
  Quick: Remove broken Mir2Lir::LocToRegClass().

9 years agoQuick: Rewrite type inference pass.
Vladimir Marko [Tue, 24 Feb 2015 11:32:46 +0000 (11:32 +0000)]
Quick: Rewrite type inference pass.

Use method signatures, field types and types embedded in dex
insns for type inference. Perform the type inference in two
phases, first a simple pass that records all types implied
by individual insns, and then an iterative pass to propagate
those types further via phi, move, if-cc and aget/aput insns.

Bug: 19419671
Change-Id: Id38579d48a44fc5eadd13780afb6d370093056f9

9 years agoMerge "Quick: Remove broken Mir2Lir::LocToRegClass()."
Vladimir Marko [Wed, 22 Apr 2015 19:32:36 +0000 (19:32 +0000)]
Merge "Quick: Remove broken Mir2Lir::LocToRegClass()."

9 years agoam be52c68d: Merge "Simplify template parameters of Elf classes."
David Srbecky [Wed, 22 Apr 2015 17:37:38 +0000 (17:37 +0000)]
am be52c68d: Merge "Simplify template parameters of Elf classes."

* commit 'be52c68dca2f146a571ffa65624acf2e6c7adeb2':
  Simplify template parameters of Elf classes.

9 years agoMerge "Simplify template parameters of Elf classes."
David Srbecky [Wed, 22 Apr 2015 17:25:06 +0000 (17:25 +0000)]
Merge "Simplify template parameters of Elf classes."

9 years agoam 54862b36: Merge "Fix X86_64 assembler REX instructions"
Nicolas Geoffray [Wed, 22 Apr 2015 16:22:44 +0000 (16:22 +0000)]
am 54862b36: Merge "Fix X86_64 assembler REX instructions"

* commit '54862b361d94f21c5aa0c7bcec012f3541a1044a':
  Fix X86_64 assembler REX instructions

9 years agoMerge "Fix X86_64 assembler REX instructions"
Nicolas Geoffray [Wed, 22 Apr 2015 16:13:23 +0000 (16:13 +0000)]
Merge "Fix X86_64 assembler REX instructions"

9 years agoSimplify template parameters of Elf classes.
David Srbecky [Wed, 22 Apr 2015 11:20:22 +0000 (12:20 +0100)]
Simplify template parameters of Elf classes.

The ELF specification defines several types which differ between
32-bit ELF and 64-bit ELF.  We used to template all ELF-related
methods on all of those types which was very verbose.

This CL wraps all the types as typedefs in ElfTypes32 and ElfTypes64.
One of those wrappers is then used as the template parameter.

Change-Id: I65247c2c79d92a7c4799e988cf3e4a1b10eb4788

9 years agoFix X86_64 assembler REX instructions
Mark Mendell [Wed, 22 Apr 2015 14:46:07 +0000 (10:46 -0400)]
Fix X86_64 assembler REX instructions

A couple of instructions don't pass the 'Address' to EmitRex64.  This
will cause the incorrect register number to be assembled if the register
is >= 8.

This may cause bad code to be generated in some cases.

Change-Id: I2907ae8b7629ee95d542e3fab429318994a78938
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
9 years agoam f456ce1d: Merge "Remove warning when we do too many simplifications"
Calin Juravle [Wed, 22 Apr 2015 14:35:47 +0000 (14:35 +0000)]
am f456ce1d: Merge "Remove warning when we do too many simplifications"

* commit 'f456ce1d602044e96deef30297b16bfb44f6663a':
  Remove warning when we do too many simplifications

9 years agoMerge "Remove warning when we do too many simplifications"
Calin Juravle [Wed, 22 Apr 2015 14:24:56 +0000 (14:24 +0000)]
Merge "Remove warning when we do too many simplifications"

9 years agoRemove warning when we do too many simplifications
Calin Juravle [Wed, 22 Apr 2015 14:19:51 +0000 (15:19 +0100)]
Remove warning when we do too many simplifications

This happens pretty often and pollutes the logs.

Change-Id: I074783d3cf3519a5186d2dd81c821d97071302e7

9 years agoam 0edd36bc: Merge "ART: Update last_instruction when adding Phis"
David Brazdil [Wed, 22 Apr 2015 14:06:03 +0000 (14:06 +0000)]
am 0edd36bc: Merge "ART: Update last_instruction when adding Phis"

* commit '0edd36bc24e7086277f3f1fbadcdcce288a7ebe5':
  ART: Update last_instruction when adding Phis

9 years agoMerge "ART: Update last_instruction when adding Phis"
David Brazdil [Wed, 22 Apr 2015 13:54:21 +0000 (13:54 +0000)]
Merge "ART: Update last_instruction when adding Phis"

9 years agoART: Update last_instruction when adding Phis
David Brazdil [Wed, 22 Apr 2015 12:40:50 +0000 (13:40 +0100)]
ART: Update last_instruction when adding Phis

HBasicBlock::InsertPhiAfter would not update the last_instruction
pointer when adding at the end of the list. This could cause problems
when iterating over phis backwards. Fortunately, we don't do that
anywhere in the existing code.

Change-Id: I4487265bf2cf3d3819623fafd7ce7c359bac190e

9 years agoam 83fca401: Merge "[optimizing] Use more X86_64 addressing modes"
Nicolas Geoffray [Wed, 22 Apr 2015 13:34:37 +0000 (13:34 +0000)]
am 83fca401: Merge "[optimizing] Use more X86_64 addressing modes"

* commit '83fca401adc11ae50a05db7172f6d48d136b240a':
  [optimizing] Use more X86_64 addressing modes

9 years agoMerge "[optimizing] Use more X86_64 addressing modes"
Nicolas Geoffray [Wed, 22 Apr 2015 13:28:09 +0000 (13:28 +0000)]
Merge "[optimizing] Use more X86_64 addressing modes"

9 years agoam eb0c4014: Merge "[optimizing] Name the last DCE pass."
Calin Juravle [Wed, 22 Apr 2015 12:54:27 +0000 (12:54 +0000)]
am eb0c4014: Merge "[optimizing] Name the last DCE pass."

* commit 'eb0c401408e414dae8ff1b2da47fd3f712925a6d':
  [optimizing] Name the last DCE pass.

9 years agoMerge "[optimizing] Name the last DCE pass."
Calin Juravle [Wed, 22 Apr 2015 12:42:14 +0000 (12:42 +0000)]
Merge "[optimizing] Name the last DCE pass."

9 years ago[optimizing] Name the last DCE pass.
Calin Juravle [Wed, 22 Apr 2015 12:31:47 +0000 (13:31 +0100)]
[optimizing] Name the last DCE pass.

This will allow Checker to differentiate between them.

Change-Id: I972d452a64f1c19d370567b9ef3d620f9b835a9a

9 years agoQuick: Remove broken Mir2Lir::LocToRegClass().
Vladimir Marko [Wed, 22 Apr 2015 10:51:52 +0000 (11:51 +0100)]
Quick: Remove broken Mir2Lir::LocToRegClass().

Its use in intrinsics has been bogus. In all other instances
it's been used under the assumption that the inferred type
matches the return type of associated calls. However, if the
type inference identifies a type mismatch, the assumption
doesn't hold and there isn't necessarily a valid value that
the function could reasonably return.

Bug: 19918641
Change-Id: I050934e6f9eb00427d0b888ee29ae9eeb509bb3f

9 years agoam 8d1ba74f: Merge "Run DCE again after all the other optimizations have run."
Calin Juravle [Wed, 22 Apr 2015 11:21:05 +0000 (11:21 +0000)]
am 8d1ba74f: Merge "Run DCE again after all the other optimizations have run."

* commit '8d1ba74fe48703fc2b5a5920dd5eea0c65db5b15':
  Run DCE again after all the other optimizations have run.

9 years agoam f7be052d: Merge "[optimizing] Fix a bug in moving the null check to the user."
Calin Juravle [Wed, 22 Apr 2015 11:21:03 +0000 (11:21 +0000)]
am f7be052d: Merge "[optimizing] Fix a bug in moving the null check to the user."

* commit 'f7be052d88158f3bc607cbe3da4c7b1e32f6408f':
  [optimizing] Fix a bug in moving the null check to the user.

9 years agoMerge "Run DCE again after all the other optimizations have run."
Calin Juravle [Wed, 22 Apr 2015 11:18:33 +0000 (11:18 +0000)]
Merge "Run DCE again after all the other optimizations have run."

9 years agoRun DCE again after all the other optimizations have run.
Calin Juravle [Tue, 21 Apr 2015 13:07:50 +0000 (14:07 +0100)]
Run DCE again after all the other optimizations have run.

On docs this doubles the amount of instructions removed.

9 years agoMerge "[optimizing] Fix a bug in moving the null check to the user."
Calin Juravle [Wed, 22 Apr 2015 11:11:07 +0000 (11:11 +0000)]
Merge "[optimizing] Fix a bug in moving the null check to the user."

9 years ago[optimizing] Fix a bug in moving the null check to the user.
Calin Juravle [Tue, 21 Apr 2015 21:08:51 +0000 (22:08 +0100)]
[optimizing] Fix a bug in moving the null check to the user.

When taking the decision to move a null check to the user we did not
verify if the next instruction checks the same object.

Change-Id: I2f4533a4bb18aa4b0b6d5e419f37dcccd60354d2

9 years agoam f23c8e3b: Merge "Propertly quote arguments after latest adb/vogar changes."
Nicolas Geoffray [Wed, 22 Apr 2015 10:24:33 +0000 (10:24 +0000)]
am f23c8e3b: Merge "Propertly quote arguments after latest adb/vogar changes."

* commit 'f23c8e3b1cf4d05e7393ce423c085672d40d90c7':
  Propertly quote arguments after latest adb/vogar changes.

9 years agoMerge "Propertly quote arguments after latest adb/vogar changes."
Nicolas Geoffray [Wed, 22 Apr 2015 10:12:43 +0000 (10:12 +0000)]
Merge "Propertly quote arguments after latest adb/vogar changes."

9 years agoPropertly quote arguments after latest adb/vogar changes.
Nicolas Geoffray [Wed, 22 Apr 2015 10:10:30 +0000 (11:10 +0100)]
Propertly quote arguments after latest adb/vogar changes.

Change-Id: If3452b616df48ecec0d85ac34d8af9253c3ea925

9 years agoam f888d5d6: Merge "Fix tlsPtr_.long_jump_context == nullptr check failure."
Mingyao Yang [Wed, 22 Apr 2015 10:06:40 +0000 (10:06 +0000)]
am f888d5d6: Merge "Fix tlsPtr_.long_jump_context == nullptr check failure."

* commit 'f888d5d6584efb66ecd9eed94879679a65712336':
  Fix tlsPtr_.long_jump_context == nullptr check failure.

9 years agoMerge "Fix tlsPtr_.long_jump_context == nullptr check failure."
Mingyao Yang [Wed, 22 Apr 2015 08:09:29 +0000 (08:09 +0000)]
Merge "Fix tlsPtr_.long_jump_context == nullptr check failure."

9 years agoFix tlsPtr_.long_jump_context == nullptr check failure.
Mingyao Yang [Tue, 21 Apr 2015 23:55:22 +0000 (16:55 -0700)]
Fix tlsPtr_.long_jump_context == nullptr check failure.

This is a bogus assertion. We need to handle the case
though to free the existing tlsPtr_.long_jump_context.

Bug: 20449310
Change-Id: Ie1e49dd1fec9defab69f081d1f129aa8dc1dc6bf