| 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();
|
|
|