diff options
Diffstat (limited to 'vm/compiler/codegen/Optimizer.h')
| -rw-r--r-- | vm/compiler/codegen/Optimizer.h | 18 |
1 files changed, 2 insertions, 16 deletions
diff --git a/vm/compiler/codegen/Optimizer.h b/vm/compiler/codegen/Optimizer.h index 487e8648e..713aa4105 100644 --- a/vm/compiler/codegen/Optimizer.h +++ b/vm/compiler/codegen/Optimizer.h @@ -26,28 +26,14 @@ typedef enum optControlVector { kLoadStoreElimination = 0, kLoadHoisting, + kTrackLiveTemps, + kSuppressLoads, } optControlVector; /* Forward declarations */ struct CompilationUnit; struct LIR; -/* - * Data structure tracking the mapping between a Dalvik register (pair) and a - * native register (pair). The idea is to reuse the previously loaded value - * if possible, otherwise to keep the value in a native register as long as - * possible. - */ -typedef struct RegisterScoreboard { - BitVector *nullCheckedRegs; // Track which registers have been null-checked - int liveDalvikReg; // Track which Dalvik register is live - int nativeReg; // And the mapped native register - int nativeRegHi; // And the mapped native register - bool isWide; // Whether a pair of registers are alive - int fp[32]; // Track the Dalvik register held in a SFP reg - int nextFP; // Next index for FP register allocation -} RegisterScoreboard; - void dvmCompilerApplyLocalOptimizations(struct CompilationUnit *cUnit, struct LIR *head, struct LIR *tail); |
