| Index: src/hydrogen.cc
|
| ===================================================================
|
| --- src/hydrogen.cc (revision 9022)
|
| +++ src/hydrogen.cc (working copy)
|
| @@ -5074,19 +5074,13 @@
|
| // The subexpression does not have side effects.
|
| return ast_context()->ReturnValue(graph()->GetConstantFalse());
|
| } else if (prop != NULL) {
|
| - if (prop->is_synthetic()) {
|
| - // Result of deleting parameters is false, even when they rewrite
|
| - // to accesses on the arguments object.
|
| - return ast_context()->ReturnValue(graph()->GetConstantFalse());
|
| - } else {
|
| - CHECK_ALIVE(VisitForValue(prop->obj()));
|
| - CHECK_ALIVE(VisitForValue(prop->key()));
|
| - HValue* key = Pop();
|
| - HValue* obj = Pop();
|
| - HValue* context = environment()->LookupContext();
|
| - HDeleteProperty* instr = new(zone()) HDeleteProperty(context, obj, key);
|
| - return ast_context()->ReturnInstruction(instr, expr->id());
|
| - }
|
| + CHECK_ALIVE(VisitForValue(prop->obj()));
|
| + CHECK_ALIVE(VisitForValue(prop->key()));
|
| + HValue* key = Pop();
|
| + HValue* obj = Pop();
|
| + HValue* context = environment()->LookupContext();
|
| + HDeleteProperty* instr = new(zone()) HDeleteProperty(context, obj, key);
|
| + return ast_context()->ReturnInstruction(instr, expr->id());
|
| } else if (var->is_global()) {
|
| Bailout("delete with global variable");
|
| } else {
|
|
|