OSDN Git Service

android-x86/art.git
9 years agoam 3856df46: am b5aad4c5: Merge "ART: Add GENERATE_CFI to the ZygoteHooks debug flags"
Andreas Gampe [Sat, 25 Apr 2015 01:10:53 +0000 (01:10 +0000)]
am 3856df46: am b5aad4c5: Merge "ART: Add GENERATE_CFI to the ZygoteHooks debug flags"

* commit '3856df46f8ceb741b39dd40392b9485b47c35a54':
  ART: Add GENERATE_CFI to the ZygoteHooks debug flags

9 years agoam b5aad4c5: Merge "ART: Add GENERATE_CFI to the ZygoteHooks debug flags"
Andreas Gampe [Sat, 25 Apr 2015 00:59:30 +0000 (00:59 +0000)]
am b5aad4c5: Merge "ART: Add GENERATE_CFI to the ZygoteHooks debug flags"

* commit 'b5aad4c54e0bf1aff6a0c49cb682defaafb81e1e':
  ART: Add GENERATE_CFI to the ZygoteHooks debug flags

9 years agoMerge "ART: Add GENERATE_CFI to the ZygoteHooks debug flags"
Andreas Gampe [Sat, 25 Apr 2015 00:48:45 +0000 (00:48 +0000)]
Merge "ART: Add GENERATE_CFI to the ZygoteHooks debug flags"

9 years agoam 21225131: am 33984b4d: Merge "ART: Do not log non-swap usage"
Andreas Gampe [Fri, 24 Apr 2015 23:49:15 +0000 (23:49 +0000)]
am 21225131: am 33984b4d: Merge "ART: Do not log non-swap usage"

* commit '2122513125735bbe9ca4e971bbdd888fb4bcbb4e':
  ART: Do not log non-swap usage

9 years agoam 33984b4d: Merge "ART: Do not log non-swap usage"
Andreas Gampe [Fri, 24 Apr 2015 23:36:03 +0000 (23:36 +0000)]
am 33984b4d: Merge "ART: Do not log non-swap usage"

* commit '33984b4d6b79b2d65258e69506e5669be704db82':
  ART: Do not log non-swap usage

9 years agoART: Add GENERATE_CFI to the ZygoteHooks debug flags
Andreas Gampe [Fri, 24 Apr 2015 23:33:43 +0000 (16:33 -0700)]
ART: Add GENERATE_CFI to the ZygoteHooks debug flags

Add code to understand the implications of the debug.gencfi system
property that forces generation of CFI data.

Change-Id: Ida66f8c1567634d05cfdbba1a982be3684e94369

9 years agoMerge "ART: Do not log non-swap usage"
Andreas Gampe [Fri, 24 Apr 2015 23:30:18 +0000 (23:30 +0000)]
Merge "ART: Do not log non-swap usage"

9 years agoART: Do not log non-swap usage
Andreas Gampe [Fri, 24 Apr 2015 23:22:18 +0000 (16:22 -0700)]
ART: Do not log non-swap usage

Reduce logcat noise.

Bug: 20501758
Change-Id: I5cbc28614d4be9e7fd120b7ccb97ca489e341f54

9 years agoam 63921cfe: am 16b5d29f: Merge "Guard against name == null in ShortDump"
Mathieu Chartier [Fri, 24 Apr 2015 23:19:52 +0000 (23:19 +0000)]
am 63921cfe: am 16b5d29f: Merge "Guard against name == null in ShortDump"

* commit '63921cfe407e093a527c94f5e01b03e89669f18a':
  Guard against name == null in ShortDump

9 years agoam 16b5d29f: Merge "Guard against name == null in ShortDump"
Mathieu Chartier [Fri, 24 Apr 2015 23:08:43 +0000 (23:08 +0000)]
am 16b5d29f: Merge "Guard against name == null in ShortDump"

* commit '16b5d29f1755e50ab92a3bee0b85b26460e69cf8':
  Guard against name == null in ShortDump

9 years agoMerge "Guard against name == null in ShortDump"
Mathieu Chartier [Fri, 24 Apr 2015 23:02:39 +0000 (23:02 +0000)]
Merge "Guard against name == null in ShortDump"

9 years agoam 233f1575: am 93cf23f9: Merge "Fix DCHECKs about clinit checks in Optimizing\'s...
Roland Levillain [Fri, 24 Apr 2015 22:58:55 +0000 (22:58 +0000)]
am 233f1575: am 93cf23f9: Merge "Fix DCHECKs about clinit checks in Optimizing\'s code generators."

* commit '233f1575843c6f94d96be90ba145a2623bff6d8f':
  Fix DCHECKs about clinit checks in Optimizing's code generators.

9 years agoam 93cf23f9: Merge "Fix DCHECKs about clinit checks in Optimizing\'s code generators."
Roland Levillain [Fri, 24 Apr 2015 22:47:16 +0000 (22:47 +0000)]
am 93cf23f9: Merge "Fix DCHECKs about clinit checks in Optimizing\'s code generators."

* commit '93cf23f9966cdbe88650b822ad8471284a21bacb':
  Fix DCHECKs about clinit checks in Optimizing's code generators.

9 years agoMerge "Fix DCHECKs about clinit checks in Optimizing's code generators."
Roland Levillain [Fri, 24 Apr 2015 22:35:49 +0000 (22:35 +0000)]
Merge "Fix DCHECKs about clinit checks in Optimizing's code generators."

9 years agoFix DCHECKs about clinit checks in Optimizing's code generators.
Roland Levillain [Fri, 24 Apr 2015 22:01:24 +0000 (23:01 +0100)]
Fix DCHECKs about clinit checks in Optimizing's code generators.

These assertions are not true for the baseline compiler.  As
a temporary workaround, remove a clinit check as last input
of a static invoke if it is still present at the stage of
code generation.

Change-Id: I5655f4a0873e2e7ee7790b6a341c18b4b7b52af1

9 years agoGuard against name == null in ShortDump
Mathieu Chartier [Fri, 24 Apr 2015 22:28:36 +0000 (15:28 -0700)]
Guard against name == null in ShortDump

Bug: 20561804
Change-Id: If1e4adb74d5b936cf171f2402bf4525bf8c2d209

9 years agoam d27c57cf: am 76f14134: Merge "[optimizing] Ensure FillNewArray sets array access"
Andreas Gampe [Fri, 24 Apr 2015 20:41:32 +0000 (20:41 +0000)]
am d27c57cf: am 76f14134: Merge "[optimizing] Ensure FillNewArray sets array access"

* commit 'd27c57cfec7f781c4d8bac39734b43391214628f':
  [optimizing] Ensure FillNewArray sets array access

9 years agoam 76f14134: Merge "[optimizing] Ensure FillNewArray sets array access"
Andreas Gampe [Fri, 24 Apr 2015 20:28:52 +0000 (20:28 +0000)]
am 76f14134: Merge "[optimizing] Ensure FillNewArray sets array access"

* commit '76f1413492c228bfa710e1eaa4c60370eaffbb8a':
  [optimizing] Ensure FillNewArray sets array access

9 years agoMerge "[optimizing] Ensure FillNewArray sets array access"
Andreas Gampe [Fri, 24 Apr 2015 20:18:20 +0000 (20:18 +0000)]
Merge "[optimizing] Ensure FillNewArray sets array access"

9 years ago[optimizing] Ensure FillNewArray sets array access
Mark Mendell [Fri, 24 Apr 2015 18:39:42 +0000 (14:39 -0400)]
[optimizing] Ensure FillNewArray sets array access

A method that only used filled new like 'int[]{0,0}' didn't have the
array access flag set, so BCE didn't remove the checks.

Change-Id: Iedec50daf0d25b1cc3872eb1a4cfc7b8bb31e6bf
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
9 years agoam c16be4d4: am 3507b795: Merge "Reduce the number of explicit clinit checks for...
Roland Levillain [Fri, 24 Apr 2015 18:34:56 +0000 (18:34 +0000)]
am c16be4d4: am 3507b795: Merge "Reduce the number of explicit clinit checks for static invokes."

* commit 'c16be4d4e3aa194474039a23e808ac463f5e3165':
  Reduce the number of explicit clinit checks for static invokes.

9 years agoam 9c0a5aa8: am eb5459ca: Merge "Ensure inlined static calls perform clinit checks...
Roland Levillain [Fri, 24 Apr 2015 18:34:54 +0000 (18:34 +0000)]
am 9c0a5aa8: am eb5459ca: Merge "Ensure inlined static calls perform clinit checks in Optimizing."

* commit '9c0a5aa8b95ffae383fb61cab30628af686e5331':
  Ensure inlined static calls perform clinit checks in Optimizing.

9 years agoam bcbd49c6: am ae803f6e: Merge "Quick: Fix and enable DCE and improve GVN/DCE cleanup."
Vladimir Marko [Fri, 24 Apr 2015 18:34:52 +0000 (18:34 +0000)]
am bcbd49c6: am ae803f6e: Merge "Quick: Fix and enable DCE and improve GVN/DCE cleanup."

* commit 'bcbd49c65ab8c5cdc4aece32b79ef34f6bdc454a':
  Quick: Fix and enable DCE and improve GVN/DCE cleanup.

9 years agoam 3507b795: Merge "Reduce the number of explicit clinit checks for static invokes."
Roland Levillain [Fri, 24 Apr 2015 18:31:05 +0000 (18:31 +0000)]
am 3507b795: Merge "Reduce the number of explicit clinit checks for static invokes."

* commit '3507b795c034617e1c94fc9544a208d6c6f75735':
  Reduce the number of explicit clinit checks for static invokes.

9 years agoam eb5459ca: Merge "Ensure inlined static calls perform clinit checks in Optimizing."
Roland Levillain [Fri, 24 Apr 2015 18:21:14 +0000 (18:21 +0000)]
am eb5459ca: Merge "Ensure inlined static calls perform clinit checks in Optimizing."

* commit 'eb5459ca861b58ee8a9907789f11400dcdddb87b':
  Ensure inlined static calls perform clinit checks in Optimizing.

9 years agoam ae803f6e: Merge "Quick: Fix and enable DCE and improve GVN/DCE cleanup."
Vladimir Marko [Fri, 24 Apr 2015 18:21:13 +0000 (18:21 +0000)]
am ae803f6e: Merge "Quick: Fix and enable DCE and improve GVN/DCE cleanup."

* commit 'ae803f6efbe8378b5423c51ee3c5564cae0e6e59':
  Quick: Fix and enable DCE and improve GVN/DCE cleanup.

9 years agoMerge "Reduce the number of explicit clinit checks for static invokes."
Roland Levillain [Fri, 24 Apr 2015 18:20:53 +0000 (18:20 +0000)]
Merge "Reduce the number of explicit clinit checks for static invokes."

9 years agoReduce the number of explicit clinit checks for static invokes.
Roland Levillain [Fri, 24 Apr 2015 18:14:22 +0000 (19:14 +0100)]
Reduce the number of explicit clinit checks for static invokes.

Do not generate explicit clinit checks for static invokes
when the class of the called method is a super class of the
caller method's class (referrer class).

Change-Id: I86ba18facef261fbb71f7ed20867756630ed3c53

9 years agoMerge "Ensure inlined static calls perform clinit checks in Optimizing."
Roland Levillain [Fri, 24 Apr 2015 18:17:40 +0000 (18:17 +0000)]
Merge "Ensure inlined static calls perform clinit checks in Optimizing."

9 years agoMerge "Quick: Fix and enable DCE and improve GVN/DCE cleanup."
Vladimir Marko [Fri, 24 Apr 2015 18:11:10 +0000 (18:11 +0000)]
Merge "Quick: Fix and enable DCE and improve GVN/DCE cleanup."

9 years agoam 2c1ce5bb: am 83134ec5: Merge "Remove ArtMethod* parameter from dex cache entry...
Vladimir Marko [Fri, 24 Apr 2015 16:38:50 +0000 (16:38 +0000)]
am 2c1ce5bb: am 83134ec5: Merge "Remove ArtMethod* parameter from dex cache entry points."

* commit '2c1ce5bb6a9472dc253f68cb937bc6a8727ff4eb':
  Remove ArtMethod* parameter from dex cache entry points.

9 years agoam b4364ee9: am 52b63e20: Merge "ART: Fix gtests broken by dead block elimination"
David Brazdil [Fri, 24 Apr 2015 16:29:07 +0000 (16:29 +0000)]
am b4364ee9: am 52b63e20: Merge "ART: Fix gtests broken by dead block elimination"

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

9 years agoam 83134ec5: Merge "Remove ArtMethod* parameter from dex cache entry points."
Vladimir Marko [Fri, 24 Apr 2015 16:28:46 +0000 (16:28 +0000)]
am 83134ec5: Merge "Remove ArtMethod* parameter from dex cache entry points."

* commit '83134ec5f26979cbb9131dccaf849a72cdd752f6':
  Remove ArtMethod* parameter from dex cache entry points.

9 years agoMerge "Remove ArtMethod* parameter from dex cache entry points."
Vladimir Marko [Fri, 24 Apr 2015 16:21:36 +0000 (16:21 +0000)]
Merge "Remove ArtMethod* parameter from dex cache entry points."

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 agoam 9b096834: am 7bf9bc78: Merge "Minor improvements to 458-checker-instruction-simpli...
Roland Levillain [Fri, 24 Apr 2015 16:12:32 +0000 (16:12 +0000)]
am 9b096834: am 7bf9bc78: Merge "Minor improvements to 458-checker-instruction-simplification."

* commit '9b096834aed2fbb69ecc07e999bc1f273f1a7017':
  Minor improvements to 458-checker-instruction-simplification.

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 agoEnsure inlined static calls perform clinit checks in Optimizing.
Roland Levillain [Fri, 24 Apr 2015 15:43:49 +0000 (16:43 +0100)]
Ensure inlined static calls perform clinit checks in Optimizing.

Calls to static methods have implicit class initialization
(clinit) checks of the method's declaring class in
Optimizing.  However, when such a static call is inlined,
the implicit clinit check vanishes, possibly leading to an
incorrect behavior.

To ensure that inlining static methods does not change the
behavior of a program, add explicit class initialization
checks (art::HClinitCheck) as well as load class
instructions (art::HLoadClass) as last input of static
calls (art::HInvokeStaticOrDirect) in Optimizing' control
flow graphs, when the declaring class is reachable and not
known to be already initialized.  Then when considering the
inlining of a static method call, proceed only if the method
has no implicit clinit check requirement.

The added explicit clinit checks are already removed by the
art::PrepareForRegisterAllocation visitor.  This CL also
extends this visitor to turn explicit clinit checks from
static invokes into implicit ones after the inlining step,
by removing the added art::HLoadClass nodes mentioned
hereinbefore.

Change-Id: I9ba452b8bd09ae1fdd9a3797ef556e3e7e19c651

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

* commit 'b4e284f26aa1eda0cae0b37bf78cbb8de1651704':
  ART: Dead block removal

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 490c9561: am 9f3565a6: Merge "Debugger: Remove support for setting values in optim...
Nicolas Geoffray [Fri, 24 Apr 2015 14:34:56 +0000 (14:34 +0000)]
am 490c9561: am 9f3565a6: Merge "Debugger: Remove support for setting values in optimizing."

* commit '490c9561bc2d4ce6817a3d881144a9741d442256':
  Debugger: Remove support for setting values in optimizing.

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 553871c8: am af248646: Merge "Don\'t use \'sh\' on the host."
Nicolas Geoffray [Fri, 24 Apr 2015 13:54:24 +0000 (13:54 +0000)]
am 553871c8: am af248646: Merge "Don\'t use \'sh\' on the host."

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

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 78a34f71: am 9e85d55c: Merge "Use \'sh\' explicitly when invoking the art script."
Nicolas Geoffray [Fri, 24 Apr 2015 13:04:57 +0000 (13:04 +0000)]
am 78a34f71: am 9e85d55c: Merge "Use \'sh\' explicitly when invoking the art script."

* commit '78a34f7117e4c9c2ac6bd2a5e80054c8c55c1e87':
  Use 'sh' explicitly when invoking the art script.

9 years agoam 51e8e98b: am 11307fd2: Merge "Make tests assume ANDROID_ROOT is not /system."
Nicolas Geoffray [Fri, 24 Apr 2015 13:04:56 +0000 (13:04 +0000)]
am 51e8e98b: am 11307fd2: Merge "Make tests assume ANDROID_ROOT is not /system."

* commit '51e8e98b39d1850c0a793875eda9f42f418868ff':
  Make tests assume ANDROID_ROOT is not /system.

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 agoRemove ArtMethod* parameter from dex cache entry points.
Vladimir Marko [Mon, 20 Apr 2015 19:11:30 +0000 (20:11 +0100)]
Remove ArtMethod* parameter from dex cache entry points.

Load the ArtMethod* using an optimized stack walk instead.
This reduces the size of the generated code.

Three of the entry points are called only from a slow-path
and the fourth (InitializeTypeAndVerifyAccess) is rare and
already slow enough that the one or two extra loads
(depending on whether we already have the ArtMethod* in a
register) are insignificant. And as we're starting to use
PC-relative addressing of the dex cache arrays (already
done by Quick for the boot image), having the ArtMethod* in
a register becomes less likely anyway.

Change-Id: Ib19b9d204e355e13bf386662a8b158178bf8ad28

9 years agoam 0e76c6e0: am c5cb691c: Merge "Cleanup and improve stack map stream"
Nicolas Geoffray [Fri, 24 Apr 2015 09:23:54 +0000 (09:23 +0000)]
am 0e76c6e0: am c5cb691c: Merge "Cleanup and improve stack map stream"

* commit '0e76c6e0aadd6efd2d0a57970e8c4c01d0264f33':
  Cleanup and improve stack map stream

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 1b7ae567: am 021190bf: Merge "Fix reflection handling and test flakiness"
Mathieu Chartier [Fri, 24 Apr 2015 00:45:21 +0000 (00:45 +0000)]
am 1b7ae567: am 021190bf: Merge "Fix reflection handling and test flakiness"

* commit '1b7ae5672053e8fac0dff5a6970d96f3d6c0578b':
  Fix reflection handling and test flakiness

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 b85ca827: am 633a37ec: Merge "Quick: Fix out of temp regs in ArmMir2Lir::GenMulLon...
Vladimir Marko [Thu, 23 Apr 2015 18:25:12 +0000 (18:25 +0000)]
am b85ca827: am 633a37ec: Merge "Quick: Fix out of temp regs in ArmMir2Lir::GenMulLong()."

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

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 3c2f49ca: am 360475ab: Merge "Linear scan: split at better positions."
Nicolas Geoffray [Thu, 23 Apr 2015 17:50:30 +0000 (17:50 +0000)]
am 3c2f49ca: am 360475ab: Merge "Linear scan: split at better  positions."

* commit '3c2f49ca06a8ada9b6818b90227b3e4c58d93202':
  Linear scan: split at better  positions.

9 years agoQuick: Fix and enable DCE and improve GVN/DCE cleanup.
Vladimir Marko [Mon, 20 Apr 2015 09:48:13 +0000 (10:48 +0100)]
Quick: Fix and enable DCE and improve GVN/DCE cleanup.

When eliminating a move by renaming its source register,
check that it doesn't conflict with vreg usage by insns
between the defining insn and the move.

Improve the GVN/DCE cleanup so that it can handle cases
where GVN or DCE is individually disabled in the pass driver
but not in the disable_opt flags.

Bug: 19419671
Change-Id: I49bb67b81509f51fbaf90c6016c509962be43736

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

* commit '73f87c07df610847adc44b647eadf55e077ad3f5':
  Remove unnecessary null checks in CheckCast and InstanceOf

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 d3f6cd42: am 272bf7e6: Merge "ART: Run BooleanSimplifier after inlining"
David Brazdil [Thu, 23 Apr 2015 17:15:18 +0000 (17:15 +0000)]
am d3f6cd42: am 272bf7e6: Merge "ART: Run BooleanSimplifier after inlining"

* commit 'd3f6cd425b41ab7c479b47031b7f833e02dd47c3':
  ART: Run BooleanSimplifier after inlining

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 dbd9eddc: am 4ceed922: Merge "Move stack map stream implementation to its own...
Calin Juravle [Thu, 23 Apr 2015 15:50:52 +0000 (15:50 +0000)]
am dbd9eddc: am 4ceed922: Merge "Move stack map stream implementation to its own cc file."

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

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

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

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 1a624411: am b4186df6: Merge "Skip known broken tests for ARM back ends on ARM...
Roland Levillain [Thu, 23 Apr 2015 14:34:29 +0000 (14:34 +0000)]
am 1a624411: am b4186df6: Merge "Skip known broken tests for ARM back ends on ARM as second arch."

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

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 b8b32310: am c1b829b8: Merge "Remove ActAsNullConstant"
Calin Juravle [Thu, 23 Apr 2015 13:58:53 +0000 (13:58 +0000)]
am b8b32310: am c1b829b8: Merge "Remove ActAsNullConstant"

* commit 'b8b32310e9accb6bd03c4ae1971330e686998829':
  Remove ActAsNullConstant

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