28 #ifndef V8_IA32_LITHIUM_GAP_RESOLVER_IA32_H_
29 #define V8_IA32_LITHIUM_GAP_RESOLVER_IA32_H_
43 explicit LGapResolver(LCodeGen* owner);
46 void Resolve(LParallelMove* parallel_move);
50 void BuildInitialMoveList(LParallelMove* parallel_move);
54 void PerformMove(
int index);
61 void AddMove(LMoveOperands move);
62 void RemoveMove(
int index);
66 int CountSourceUses(LOperand* operand);
69 void EmitMove(
int index);
73 void EmitSwap(
int index);
76 void EnsureRestored(LOperand* operand);
80 Register EnsureTempRegister();
85 Register GetFreeRegisterNot(Register reg);
97 ZoneList<LMoveOperands> moves_;
105 int spilled_register_;
110 #endif // V8_IA32_LITHIUM_GAP_RESOLVER_IA32_H_
static const int kNumAllocatableRegisters