| Index: src/scopes.cc
|
| diff --git a/src/scopes.cc b/src/scopes.cc
|
| index 392f9d4af8b79165954db06bdea2831ae8b2c248..d2f7b89d63db138e4d1cbed69edb54451d10476b 100644
|
| --- a/src/scopes.cc
|
| +++ b/src/scopes.cc
|
| @@ -293,13 +293,11 @@ void Scope::RemoveUnresolved(VariableProxy* var) {
|
| }
|
|
|
|
|
| -VariableProxy* Scope::NewTemporary(Handle<String> name) {
|
| - Variable* var = new Variable(this, name, Variable::TEMPORARY, true,
|
| - Variable::NORMAL);
|
| - VariableProxy* tmp = new VariableProxy(name, false, false);
|
| - tmp->BindTo(var);
|
| +Variable* Scope::NewTemporary(Handle<String> name) {
|
| + Variable* var =
|
| + new Variable(this, name, Variable::TEMPORARY, true, Variable::NORMAL);
|
| temps_.Add(var);
|
| - return tmp;
|
| + return var;
|
| }
|
|
|
|
|
| @@ -863,11 +861,13 @@ void Scope::AllocateParameterLocals() {
|
| // allocated.
|
| arguments_shadow_->is_accessed_from_inner_scope_ = true;
|
| }
|
| - var->rewrite_ =
|
| + Property* rewrite =
|
| new Property(new VariableProxy(arguments_shadow_),
|
| new Literal(Handle<Object>(Smi::FromInt(i))),
|
| RelocInfo::kNoPosition,
|
| Property::SYNTHETIC);
|
| + rewrite->set_is_arguments_access(true);
|
| + var->rewrite_ = rewrite;
|
| }
|
| }
|
|
|
|
|