History log of /dalvik/dx/src/com/android/dx/ssa/back/FirstFitLocalCombiningAllocator.java
Revision Date Author Comments
7debb9113af41a38a6f5ecbda1a2c28c5e5a17af 27-Aug-2011 jeffhao <jeffhao@google.com> Dx reg allocator fix for accidental long/double clobbering.

Addresses this bug: http://b/issue?id=5215643.

Change-Id: I82613c38b0a6247d071aa6c5cc90bf8b60d5d84b
0e002d447f73dfbad6cecd2657152cfce08d4335 02-Aug-2011 jeffhao <jeffhao@google.com> Rollback of dx change to prevent methods from being overwritten.

Rolls back: I999013858501e7de3df27f82199d377fb1d034ea

Change-Id: Id67611b0153d49a81a2fbe0aaa8a7c9a9784987c
adb1446cc9ee4b27b053854b54f34ec1b595c727 02-Aug-2011 jeffhao <jeffhao@google.com> Dx fit to prevent method arguments from being overwritten by temps.

This change keeps code debuggable by preventing method arguments from
being reused to hold temporary values. This was a problem especially for
static methods.

Change-Id: I999013858501e7de3df27f82199d377fb1d034ea
38b61748553bd387bc36b6bd82a8667b6c5f5934 24-Mar-2011 jeffhao <jeffhao@google.com> Various dx fixes to make it preserve locals and debug info.

The SCCP pass checks if a register has associated local info before
attepting to prune branches or replace values with constants. Also, the
register allocator reserves a register for each local in a method. This
could be later improved by only reserving registers for the lengths of
their lifetimes as specified by the local info table.

Change-Id: I654ac014a9aac530f1db0db7d5cdef7535ff49bf
2e31a719118f7b6c8d6c987d27532c29530cc9c8 17-Mar-2011 jeffhao <jeffhao@google.com> Register allocator uses single reg for each local when possible.

Changes the register allocator to try much harder to map all SSA regs
associated with a local variable to the same register. Also, the
register allocator won't try to reuse parameter space for locals
like it used to, which would often lead to many unnecessary moves.

Change-Id: Ie012072015993204ef4b3f4e74a0eb94fdb10bc1
b6f966024be7d6dd260735c9e541e23572f26f37 28-Feb-2011 jeffhao <jeffhao@google.com> Improved register allocation for check-cast instructions.

Check-cast instructions that don't use the same register for source and
destination no longer use an intermediate register due to expansion.
This saves a move instruction and, in some cases, a register.

Change-Id: Ib704fe51ec172e05efbff708e8b63004457cc8cb
1acb3f560b45df68d5acdcb2759de1f78ef5da7c 24-Feb-2011 jeffhao <jeffhao@google.com> Changed dx register allocator to place more phis and reuse locals.

This change makes the register allocator try to place all phis earlier,
by using whichever register is most common among its sources and result.

In addition, the code tries much harder to reuse registers originally
reserved for locals if they are no longer live. This leads to fewer
registers in many methods.

Change-Id: I5f69320686184f784384f5cf3a1d9c97e44ec19d
6ca2505711b24a91385c6bf46dbef5c404dcf65f 29-Jan-2011 jeffhao <jeffhao@google.com> Changed reg allocator to try mapping phi sources/result to the same reg.

The current registor allocator is pretty greedy in how it chooses to
allocate registers. This change makes it attempt to try to map the
sources and result of a phi to the same register if one of them already
has a mapping and that mapping is compatible with the others. This saves
on some register shuffling when the original greedy method got unlucky.

Change-Id: I8afa430ce2ba8d034a9c0452a247d5943bc9cf37
72e93344b4d1ffc71e9c832ec23de0657e5b04a5 13-Nov-2009 Jean-Baptiste Queru <jbq@google.com> eclair snapshot
64986d4f1b50a5f3a12e05eb179ae9ad555814e7 05-May-2009 Dan Bornstein <danfuzz@android.com> A foolish consistency is the hobgoblin of little minds.
-- Ralph Waldo Emerson
41aecd0a6bfea1e9a6713014b2b3d56fec8c552c 04-May-2009 Dan Bornstein <danfuzz@android.com> Tweaks, Mostly grep-based, to better conform to the coding guidelines.
99409883d9c4c0ffb49b070ce307bb33a9dfe9f1 19-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import //branches/master/...@140412
f6c387128427e121477c1b32ad35cdcaa5101ba3 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
f72d5de56a522ac3be03873bdde26f23a5eeeb3c 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
2ad60cfc28e14ee8f0bb038720836a4696c478ad 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution