History log of /external/r8/src/main/java/com/android/tools/r8/ir/conversion/DexBuilder.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
f9417d8bfecd4e420bc3a3f6ec9191c94651799d 06-Jul-2017 Søren Gjesse <sgjesse@google.com> Add creation of an instruction list iterator starting at an instruction

R=zerny@google.com

Change-Id: I14af75e74b25a2ad7d3c305402b01f5730632eab
/external/r8/src/main/java/com/android/tools/r8/ir/conversion/DexBuilder.java
5d16b09f0174fe9e6a4726ccf609935e4cbd7f8a 06-Jul-2017 Ian Zerny <zerny@google.com> Emit local changes accurately at all instruction points.

Bug: 63243012
Change-Id: I874308618da6366b79b68e5b8eb0c0e1b08aa447
/external/r8/src/main/java/com/android/tools/r8/ir/conversion/DexBuilder.java
38e805cae2610c601a6126797711333fd8e4ad06 29-Jun-2017 Søren Gjesse <sgjesse@google.com> Remove packed/sparse switch information from the IR

The IR switch instruction now just represents the keys, and not the type
used by the input.

When the Dex code is emitted the actual representation is selected based
on the size of the switch payload instruction always emitting the smallest
representation.

This saves 23 KB on GMS Core v9.

Bug: 62247472
Change-Id: I0ce6966aec0151444c2c184c30100d31361c028a
/external/r8/src/main/java/com/android/tools/r8/ir/conversion/DexBuilder.java
6e53c0885d712d064142350ae14f51056f6499bd 23-Jun-2017 Ian Zerny <zerny@google.com> Ensure we always emit debug positions.

If two positions are consecutive we ensure a pc increment by emitting a nop.

Bug: 37494646
Change-Id: Id6b3b81379161764652693b945eeb62dea4632b5
/external/r8/src/main/java/com/android/tools/r8/ir/conversion/DexBuilder.java
c958d8804194bd0ee3b92c38f1c7467922a49ffb 13-Jun-2017 Mads Ager <ager@google.com> Make it less likely that Art lock verification gets confused.

When locking on argument values, use the argument register for all lock
operations whenever possible.

In all but the most obscure cases that should be possible. However,
it is not bullet-proof and when the argument registers become too high
we will have to use another register for it and lock verification
will get confused by the splitting and print a warning. That shouldn't
be treated as a fatal error, but we can attempt to avoid it as much
as possible.

R=acleung@google.com

Bug: 62475512
Change-Id: Ia4358e38aacfb90e79167d4b5144afa80d9cc30b
/external/r8/src/main/java/com/android/tools/r8/ir/conversion/DexBuilder.java
fc475d644e6da9968673a7509085a7e9a3b0c531 08-Jun-2017 Mads Ager <ager@google.com> Introduce fewer argument moves for ranged invokes.

When a ranged invoke is just forwarding a sub-sequence of the incoming
argument registers there is no need to introduce moves that might
end up being materialized. Instead we can use the original argument
registers. This is the first patch set of

https://r8-review.googlesource.com/c/1360/

with the addition of special handling for getting the allocated
register for ranged invokes.

Gives around 10kB savings on dexing the gmscore v10 deploy jar.

R=mikaelpeltier@google.com

Change-Id: I6ee816cb2ffffdaadd44f4af2b2ba18d9ebadd14
/external/r8/src/main/java/com/android/tools/r8/ir/conversion/DexBuilder.java
39cdb4cb692e28fb956bef615546f4899861f901 24-May-2017 Alan Leung <acleung@google.com> Use a pool for DexDebugEvents.

Lowers heap requirement from 460MB to 430MB in GMSCore.

For 480MB heap with this change:

real 0m54.886s
user 2m0.952s
sys 0m2.480s

Without this change:

real 1m18.465s
user 3m11.344s
sys 0m2.868s

BUG=

Change-Id: I442d4c52bfa092bdea42cb66c1edbb7346ae1566
/external/r8/src/main/java/com/android/tools/r8/ir/conversion/DexBuilder.java
ad417a547c741b1b9758a8e7941c628d96f208a9 23-May-2017 Alan Leung <acleung@google.com> Revert "Use a pool for DexDebugEvents."

This reverts commit 5ac4de3d63faaf09806e9bd93dc038bc0f2d7541.

Change-Id: Icce64cd5c7252abd606f4e7d1a39acbce1e6affc
/external/r8/src/main/java/com/android/tools/r8/ir/conversion/DexBuilder.java
5ac4de3d63faaf09806e9bd93dc038bc0f2d7541 23-May-2017 Alan Leung <acleung@google.com> Use a pool for DexDebugEvents.

Lowers heap requirement from 460MB to 430MB in GMSCore.

For 480MB heap with this change:

real 0m54.886s
user 2m0.952s
sys 0m2.480s

Without this change:

real 1m18.465s
user 3m11.344s
sys 0m2.868s

BUG=

Change-Id: Ie9565cbd2447cce31680a8dd3e88e2bd2e02723b
/external/r8/src/main/java/com/android/tools/r8/ir/conversion/DexBuilder.java
418d1ca139ea11316113beafbb3b3dd3fd5587ab 22-May-2017 Mads Ager <ager@google.com> Initial push.
/external/r8/src/main/java/com/android/tools/r8/ir/conversion/DexBuilder.java