diff options
Diffstat (limited to 'deps/v8/src/full-codegen/x87/full-codegen-x87.cc')
-rw-r--r-- | deps/v8/src/full-codegen/x87/full-codegen-x87.cc | 19 |
1 files changed, 6 insertions, 13 deletions
diff --git a/deps/v8/src/full-codegen/x87/full-codegen-x87.cc b/deps/v8/src/full-codegen/x87/full-codegen-x87.cc index f0239be1a9..0499100746 100644 --- a/deps/v8/src/full-codegen/x87/full-codegen-x87.cc +++ b/deps/v8/src/full-codegen/x87/full-codegen-x87.cc @@ -951,7 +951,7 @@ void FullCodeGenerator::VisitForInStatement(ForInStatement* stmt) { __ j(equal, &no_descriptors); __ LoadInstanceDescriptors(eax, ecx); - __ mov(ecx, FieldOperand(ecx, DescriptorArray::kEnumCacheOffset)); + __ mov(ecx, FieldOperand(ecx, DescriptorArray::kEnumCacheBridgeOffset)); __ mov(ecx, FieldOperand(ecx, DescriptorArray::kEnumCacheBridgeCacheOffset)); // Set up the four remaining stack slots. @@ -1144,8 +1144,7 @@ void FullCodeGenerator::VisitObjectLiteral(ObjectLiteral* expr) { __ mov(ebx, Immediate(Smi::FromInt(expr->literal_index()))); __ mov(ecx, Immediate(constant_properties)); __ mov(edx, Immediate(Smi::FromInt(flags))); - Callable callable = CodeFactory::FastCloneShallowObject( - isolate(), expr->properties_count()); + Callable callable = CodeFactory::FastCloneShallowObject(isolate()); __ Call(callable.code(), RelocInfo::CODE_TARGET); RestoreContext(); } @@ -1676,12 +1675,6 @@ void FullCodeGenerator::EmitVariableAssignment(Variable* var, Token::Value op, // Assignment to var or initializing assignment to let/const in harmony // mode. MemOperand location = VarOperand(var, ecx); - if (FLAG_debug_code && var->mode() == LET && op == Token::INIT) { - // Check for an uninitialized let binding. - __ mov(edx, location); - __ cmp(edx, isolate()->factory()->the_hole_value()); - __ Check(equal, kLetBindingReInitialization); - } EmitStoreToStackLocalOrContextSlot(var, location); } } @@ -2147,9 +2140,8 @@ void FullCodeGenerator::VisitUnaryOperation(UnaryOperation* expr) { if (property != NULL) { VisitForStackValue(property->obj()); VisitForStackValue(property->key()); - CallRuntimeWithOperands(is_strict(language_mode()) - ? Runtime::kDeleteProperty_Strict - : Runtime::kDeleteProperty_Sloppy); + PushOperand(Smi::FromInt(language_mode())); + CallRuntimeWithOperands(Runtime::kDeleteProperty); context()->Plug(eax); } else if (proxy != NULL) { Variable* var = proxy->var(); @@ -2161,7 +2153,8 @@ void FullCodeGenerator::VisitUnaryOperation(UnaryOperation* expr) { __ mov(eax, NativeContextOperand()); __ push(ContextOperand(eax, Context::EXTENSION_INDEX)); __ push(Immediate(var->name())); - __ CallRuntime(Runtime::kDeleteProperty_Sloppy); + __ Push(Smi::FromInt(SLOPPY)); + __ CallRuntime(Runtime::kDeleteProperty); context()->Plug(eax); } else { DCHECK(!var->IsLookupSlot()); |