Index: src/ia32/lithium-ia32.cc |
diff --git a/src/ia32/lithium-ia32.cc b/src/ia32/lithium-ia32.cc |
index fd9cc947284bf31823cff9f998e3bf5c3642785f..9b1ee8d840bc558a02c23d4a46fff30a9b4bad6f 100644 |
--- a/src/ia32/lithium-ia32.cc |
+++ b/src/ia32/lithium-ia32.cc |
@@ -44,10 +44,10 @@ LITHIUM_CONCRETE_INSTRUCTION_LIST(DEFINE_COMPILE) |
#undef DEFINE_COMPILE |
LOsrEntry::LOsrEntry() { |
- for (int i = 0; i < Register::NumAllocatableRegisters(); ++i) { |
+ for (int i = 0; i < Register::kNumAllocatableRegisters; ++i) { |
register_spills_[i] = NULL; |
} |
- for (int i = 0; i < DoubleRegister::NumAllocatableRegisters(); ++i) { |
+ for (int i = 0; i < DoubleRegister::kNumAllocatableRegisters; ++i) { |
double_register_spills_[i] = NULL; |
} |
} |
@@ -460,11 +460,9 @@ LPlatformChunk* LChunkBuilder::Build() { |
status_ = BUILDING; |
// Reserve the first spill slot for the state of dynamic alignment. |
- if (info()->IsOptimizing()) { |
- int alignment_state_index = chunk_->GetNextSpillIndex(false); |
- ASSERT_EQ(alignment_state_index, 0); |
- USE(alignment_state_index); |
- } |
+ int alignment_state_index = chunk_->GetNextSpillIndex(false); |
+ ASSERT_EQ(alignment_state_index, 0); |
+ USE(alignment_state_index); |
const ZoneList<HBasicBlock*>* blocks = graph()->blocks(); |
for (int i = 0; i < blocks->length(); i++) { |
@@ -496,12 +494,6 @@ LUnallocated* LChunkBuilder::ToUnallocated(XMMRegister reg) { |
} |
-LUnallocated* LChunkBuilder::ToUnallocated(X87TopOfStackRegister reg) { |
- return new(zone()) LUnallocated(LUnallocated::FIXED_DOUBLE_REGISTER, |
- X87TopOfStackRegister::ToAllocationIndex(reg)); |
-} |
- |
- |
LOperand* LChunkBuilder::UseFixed(HValue* value, Register fixed_register) { |
return Use(value, ToUnallocated(fixed_register)); |
} |
@@ -634,13 +626,6 @@ LInstruction* LChunkBuilder::DefineFixedDouble( |
} |
-template<int I, int T> |
-LInstruction* LChunkBuilder::DefineX87TOS( |
- LTemplateInstruction<1, I, T>* instr) { |
- return Define(instr, ToUnallocated(x87tos)); |
-} |
- |
- |
LInstruction* LChunkBuilder::AssignEnvironment(LInstruction* instr) { |
HEnvironment* hydrogen_env = current_block_->last_environment(); |
int argument_index_accumulator = 0; |
@@ -653,8 +638,6 @@ LInstruction* LChunkBuilder::AssignEnvironment(LInstruction* instr) { |
LInstruction* LChunkBuilder::MarkAsCall(LInstruction* instr, |
HInstruction* hinstr, |
CanDeoptimize can_deoptimize) { |
- info()->MarkAsNonDeferredCalling(); |
- |
#ifdef DEBUG |
instr->VerifyCall(); |
#endif |
@@ -1708,12 +1691,8 @@ LInstruction* LChunkBuilder::DoForceRepresentation(HForceRepresentation* bad) { |
LInstruction* LChunkBuilder::DoChange(HChange* instr) { |
Representation from = instr->from(); |
Representation to = instr->to(); |
- // Only mark conversions that might need to allocate as calling rather than |
- // all changes. This makes simple, non-allocating conversion not have to force |
- // building a stack frame. |
if (from.IsTagged()) { |
if (to.IsDouble()) { |
- info()->MarkAsDeferredCalling(); |
LOperand* value = UseRegister(instr->value()); |
// Temp register only necessary for minus zero check. |
LOperand* temp = instr->deoptimize_on_minus_zero() |
@@ -1738,10 +1717,7 @@ LInstruction* LChunkBuilder::DoChange(HChange* instr) { |
} |
} else if (from.IsDouble()) { |
if (to.IsTagged()) { |
- info()->MarkAsDeferredCalling(); |
- LOperand* value = CpuFeatures::IsSupported(SSE2) |
- ? UseRegisterAtStart(instr->value()) |
- : UseAtStart(instr->value()); |
+ LOperand* value = UseRegister(instr->value()); |
LOperand* temp = TempRegister(); |
// Make sure that temp and result_temp are different registers. |
@@ -1759,7 +1735,6 @@ LInstruction* LChunkBuilder::DoChange(HChange* instr) { |
DefineAsRegister(new(zone()) LDoubleToI(value, temp))); |
} |
} else if (from.IsInteger32()) { |
- info()->MarkAsDeferredCalling(); |
if (to.IsTagged()) { |
HValue* val = instr->value(); |
LOperand* value = UseRegister(val); |
@@ -2276,17 +2251,8 @@ LInstruction* LChunkBuilder::DoOsrEntry(HOsrEntry* instr) { |
LInstruction* LChunkBuilder::DoParameter(HParameter* instr) { |
- LParameter* result = new(zone()) LParameter; |
- if (info()->IsOptimizing()) { |
- int spill_index = chunk()->GetParameterStackSlot(instr->index()); |
- return DefineAsSpilled(result, spill_index); |
- } else { |
- ASSERT(info()->IsStub()); |
- CodeStubInterfaceDescriptor* descriptor = |
- info()->code_stub()->GetInterfaceDescriptor(info()->isolate()); |
- Register reg = descriptor->register_params_[instr->index()]; |
- return DefineFixed(result, reg); |
- } |
+ int spill_index = chunk()->GetParameterStackSlot(instr->index()); |
+ return DefineAsSpilled(new(zone()) LParameter, spill_index); |
} |
@@ -2387,7 +2353,6 @@ LInstruction* LChunkBuilder::DoSimulate(HSimulate* instr) { |
LInstruction* LChunkBuilder::DoStackCheck(HStackCheck* instr) { |
- info()->MarkAsDeferredCalling(); |
if (instr->is_function_entry()) { |
LOperand* context = UseFixed(instr->context(), esi); |
return MarkAsCall(new(zone()) LStackCheck(context), instr); |