Index: src/ia32/codegen-ia32.cc |
diff --git a/src/ia32/codegen-ia32.cc b/src/ia32/codegen-ia32.cc |
index b977db877411ac0efd03a2aaccbf2399718f88eb..c94b0381b6cb552971d5d94cad941c5dacff7d40 100644 |
--- a/src/ia32/codegen-ia32.cc |
+++ b/src/ia32/codegen-ia32.cc |
@@ -8225,19 +8225,22 @@ void CodeGenerator::VisitUnaryOperation(UnaryOperation* node) { |
if (property != NULL) { |
Load(property->obj()); |
Load(property->key()); |
- Result answer = frame_->InvokeBuiltin(Builtins::DELETE, CALL_FUNCTION, 2); |
+ frame_->Push(Smi::FromInt(strict_mode_flag())); |
+ Result answer = frame_->InvokeBuiltin(Builtins::DELETE, CALL_FUNCTION, 3); |
frame_->Push(&answer); |
return; |
} |
Variable* variable = node->expression()->AsVariableProxy()->AsVariable(); |
if (variable != NULL) { |
+ ASSERT(strict_mode_flag() == kNonStrictMode); |
Slot* slot = variable->AsSlot(); |
if (variable->is_global()) { |
LoadGlobal(); |
frame_->Push(variable->name()); |
+ frame_->Push(Smi::FromInt(kNonStrictMode)); |
Result answer = frame_->InvokeBuiltin(Builtins::DELETE, |
- CALL_FUNCTION, 2); |
+ CALL_FUNCTION, 3); |
frame_->Push(&answer); |
return; |