Index: src/x64/codegen-x64.cc |
diff --git a/src/x64/codegen-x64.cc b/src/x64/codegen-x64.cc |
index fe9056709cdd4386340c9987f9016d25bc244bc2..a6b81191a00da398729f633bb5137ea3aa272ec9 100644 |
--- a/src/x64/codegen-x64.cc |
+++ b/src/x64/codegen-x64.cc |
@@ -7230,19 +7230,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; |