| Index: src/ia32/full-codegen-ia32.cc
 | 
| diff --git a/src/ia32/full-codegen-ia32.cc b/src/ia32/full-codegen-ia32.cc
 | 
| index ac3f815f5bc511e184bc865f9f6368f455eaac84..dee4cafd533c5f818039c71786b327db65dabfd5 100644
 | 
| --- a/src/ia32/full-codegen-ia32.cc
 | 
| +++ b/src/ia32/full-codegen-ia32.cc
 | 
| @@ -712,24 +712,24 @@ void FullCodeGenerator::EmitDeclaration(Variable* variable,
 | 
|      }
 | 
|  
 | 
|    } else if (prop != NULL) {
 | 
| -    if (function != NULL || mode == Variable::CONST) {
 | 
| -      // We are declaring a function or constant that rewrites to a
 | 
| -      // property.  Use (keyed) IC to set the initial value.  We cannot
 | 
| -      // visit the rewrite because it's shared and we risk recording
 | 
| -      // duplicate AST IDs for bailouts from optimized code.
 | 
| +    // A const declaration aliasing a parameter is a illegal redeclaration.
 | 
| +    ASSERT(mode != Variable::CONST);
 | 
| +    // Do nothing for a regular var declaration.
 | 
| +    // Store the function for a function declaration.
 | 
| +    if (function != NULL) {
 | 
| +      // We are declaring a function that rewrites to a property.
 | 
| +      // Use (keyed) IC to set the initial value.  We cannot visit the
 | 
| +      // rewrite because it's shared and we risk recording duplicate AST
 | 
| +      // IDs for bailouts from optimized code.
 | 
|        ASSERT(prop->obj()->AsVariableProxy() != NULL);
 | 
|        { AccumulatorValueContext for_object(this);
 | 
|          EmitVariableLoad(prop->obj()->AsVariableProxy()->var());
 | 
|        }
 | 
|  
 | 
| -      if (function != NULL) {
 | 
| -        __ push(eax);
 | 
| -        VisitForAccumulatorValue(function);
 | 
| -        __ pop(edx);
 | 
| -      } else {
 | 
| -        __ mov(edx, eax);
 | 
| -        __ mov(eax, isolate()->factory()->the_hole_value());
 | 
| -      }
 | 
| +      __ push(eax);
 | 
| +      VisitForAccumulatorValue(function);
 | 
| +      __ pop(edx);
 | 
| +
 | 
|        ASSERT(prop->key()->AsLiteral() != NULL &&
 | 
|               prop->key()->AsLiteral()->handle()->IsSmi());
 | 
|        __ SafeSet(ecx, Immediate(prop->key()->AsLiteral()->handle()));
 | 
| 
 |