Index: src/full-codegen/arm/full-codegen-arm.cc |
diff --git a/src/full-codegen/arm/full-codegen-arm.cc b/src/full-codegen/arm/full-codegen-arm.cc |
index 642671af18e80d1a80db971c7bfc78aec0339928..f5023643cc7af4afc0d7f2e4dd7962b52c25fa85 100644 |
--- a/src/full-codegen/arm/full-codegen-arm.cc |
+++ b/src/full-codegen/arm/full-codegen-arm.cc |
@@ -2244,21 +2244,11 @@ void FullCodeGenerator::EmitInlineSmiBinaryOp(BinaryOperation* expr, |
void FullCodeGenerator::EmitClassDefineProperties(ClassLiteral* lit) { |
- // Constructor is in r0. |
- DCHECK(lit != NULL); |
- __ push(r0); |
- |
- // No access check is needed here since the constructor is created by the |
- // class literal. |
- Register scratch = r1; |
- __ ldr(scratch, |
- FieldMemOperand(r0, JSFunction::kPrototypeOrInitialMapOffset)); |
- __ push(scratch); |
- |
for (int i = 0; i < lit->properties()->length(); i++) { |
ObjectLiteral::Property* property = lit->properties()->at(i); |
Expression* value = property->value(); |
+ Register scratch = r1; |
if (property->is_static()) { |
__ ldr(scratch, MemOperand(sp, kPointerSize)); // constructor |
} else { |
@@ -2306,10 +2296,6 @@ void FullCodeGenerator::EmitClassDefineProperties(ClassLiteral* lit) { |
UNREACHABLE(); |
} |
} |
- |
- // Set both the prototype and constructor to have fast properties, and also |
- // freeze them in strong mode. |
- __ CallRuntime(Runtime::kFinalizeClassDefinition); |
} |