diff options
Diffstat (limited to 'deps/v8/src/crankshaft/ia32/lithium-codegen-ia32.cc')
-rw-r--r-- | deps/v8/src/crankshaft/ia32/lithium-codegen-ia32.cc | 52 |
1 files changed, 4 insertions, 48 deletions
diff --git a/deps/v8/src/crankshaft/ia32/lithium-codegen-ia32.cc b/deps/v8/src/crankshaft/ia32/lithium-codegen-ia32.cc index 2512e2be01..6c121dd271 100644 --- a/deps/v8/src/crankshaft/ia32/lithium-codegen-ia32.cc +++ b/deps/v8/src/crankshaft/ia32/lithium-codegen-ia32.cc @@ -164,7 +164,7 @@ void LCodeGen::DoPrologue(LPrologue* instr) { Comment(";;; Prologue begin"); // Possibly allocate a local context. - if (info_->scope()->num_heap_slots() > 0) { + if (info_->scope()->NeedsContext()) { Comment(";;; Allocate local context"); bool need_write_barrier = true; // Argument to NewContext is the function, which is still in edi. @@ -172,7 +172,7 @@ void LCodeGen::DoPrologue(LPrologue* instr) { Safepoint::DeoptMode deopt_mode = Safepoint::kNoLazyDeopt; if (info()->scope()->is_script_scope()) { __ push(edi); - __ Push(info()->scope()->GetScopeInfo(info()->isolate())); + __ Push(info()->scope()->scope_info()); __ CallRuntime(Runtime::kNewScriptContext); deopt_mode = Safepoint::kLazyDeopt; } else { @@ -2397,20 +2397,6 @@ void LCodeGen::EmitVectorLoadICRegisters(T* instr) { } -template <class T> -void LCodeGen::EmitVectorStoreICRegisters(T* instr) { - Register vector_register = ToRegister(instr->temp_vector()); - Register slot_register = ToRegister(instr->temp_slot()); - - AllowDeferredHandleDereference vector_structure_check; - Handle<TypeFeedbackVector> vector = instr->hydrogen()->feedback_vector(); - __ mov(vector_register, vector); - FeedbackVectorSlot slot = instr->hydrogen()->slot(); - int index = vector->GetIndex(slot); - __ mov(slot_register, Immediate(Smi::FromInt(index))); -} - - void LCodeGen::DoLoadGlobalGeneric(LLoadGlobalGeneric* instr) { DCHECK(ToRegister(instr->context()).is(esi)); DCHECK(ToRegister(instr->result()).is(eax)); @@ -3703,21 +3689,6 @@ void LCodeGen::DoStoreNamedField(LStoreNamedField* instr) { } -void LCodeGen::DoStoreNamedGeneric(LStoreNamedGeneric* instr) { - DCHECK(ToRegister(instr->context()).is(esi)); - DCHECK(ToRegister(instr->object()).is(StoreDescriptor::ReceiverRegister())); - DCHECK(ToRegister(instr->value()).is(StoreDescriptor::ValueRegister())); - - EmitVectorStoreICRegisters<LStoreNamedGeneric>(instr); - - __ mov(StoreDescriptor::NameRegister(), instr->name()); - Handle<Code> ic = - CodeFactory::StoreICInOptimizedCode(isolate(), instr->language_mode()) - .code(); - CallCode(ic, RelocInfo::CODE_TARGET, instr); -} - - void LCodeGen::DoBoundsCheck(LBoundsCheck* instr) { Condition cc = instr->hydrogen()->allow_equality() ? above : above_equal; if (instr->index()->IsConstantOperand()) { @@ -3877,21 +3848,6 @@ void LCodeGen::DoStoreKeyed(LStoreKeyed* instr) { } -void LCodeGen::DoStoreKeyedGeneric(LStoreKeyedGeneric* instr) { - DCHECK(ToRegister(instr->context()).is(esi)); - DCHECK(ToRegister(instr->object()).is(StoreDescriptor::ReceiverRegister())); - DCHECK(ToRegister(instr->key()).is(StoreDescriptor::NameRegister())); - DCHECK(ToRegister(instr->value()).is(StoreDescriptor::ValueRegister())); - - EmitVectorStoreICRegisters<LStoreKeyedGeneric>(instr); - - Handle<Code> ic = CodeFactory::KeyedStoreICInOptimizedCode( - isolate(), instr->language_mode()) - .code(); - CallCode(ic, RelocInfo::CODE_TARGET, instr); -} - - void LCodeGen::DoTrapAllocationMemento(LTrapAllocationMemento* instr) { Register object = ToRegister(instr->object()); Register temp = ToRegister(instr->temp()); @@ -4831,7 +4787,7 @@ void LCodeGen::DoAllocate(LAllocate* instr) { if (instr->size()->IsConstantOperand()) { int32_t size = ToInteger32(LConstantOperand::cast(instr->size())); - CHECK(size <= Page::kMaxRegularHeapObjectSize); + CHECK(size <= kMaxRegularHeapObjectSize); __ Allocate(size, result, temp, no_reg, deferred->entry(), flags); } else { Register size = ToRegister(instr->size()); @@ -4874,7 +4830,7 @@ void LCodeGen::DoFastAllocate(LFastAllocate* instr) { } if (instr->size()->IsConstantOperand()) { int32_t size = ToInteger32(LConstantOperand::cast(instr->size())); - CHECK(size <= Page::kMaxRegularHeapObjectSize); + CHECK(size <= kMaxRegularHeapObjectSize); __ FastAllocate(size, result, temp, flags); } else { Register size = ToRegister(instr->size()); |