Index: src/crankshaft/hydrogen.cc |
diff --git a/src/crankshaft/hydrogen.cc b/src/crankshaft/hydrogen.cc |
index 52a19ac26c4fc1b25f1dad71eaa56dd9a9d6009b..32102107e796ab986b6bc6402b05b442a3097969 100644 |
--- a/src/crankshaft/hydrogen.cc |
+++ b/src/crankshaft/hydrogen.cc |
@@ -10013,12 +10013,11 @@ void HOptimizedGraphBuilder::VisitDelete(UnaryOperation* expr) { |
CHECK_ALIVE(VisitForValue(prop->key())); |
HValue* key = Pop(); |
HValue* obj = Pop(); |
- Add<HPushArguments>(obj, key); |
- HInstruction* instr = New<HCallRuntime>( |
- Runtime::FunctionForId(is_strict(function_language_mode()) |
- ? Runtime::kDeleteProperty_Strict |
- : Runtime::kDeleteProperty_Sloppy), |
- 2); |
+ HValue* language_mode = Add<HConstant>( |
+ static_cast<int32_t>(function_language_mode()), Representation::Smi()); |
+ Add<HPushArguments>(obj, key, language_mode); |
+ HInstruction* instr = |
+ New<HCallRuntime>(Runtime::FunctionForId(Runtime::kDeleteProperty), 3); |
return ast_context()->ReturnInstruction(instr, expr->id()); |
} else if (proxy != NULL) { |
Variable* var = proxy->var(); |