Index: src/arm/full-codegen-arm.cc |
diff --git a/src/arm/full-codegen-arm.cc b/src/arm/full-codegen-arm.cc |
index 76e6738c5b0f3d4d5cebe429300e4068fdeb142c..bdc68b19c7af2a15f8d119a03813ac00b7916bdf 100644 |
--- a/src/arm/full-codegen-arm.cc |
+++ b/src/arm/full-codegen-arm.cc |
@@ -2530,34 +2530,22 @@ void FullCodeGenerator::EmitClassDefineProperties(ClassLiteral* lit) { |
} |
__ push(scratch); |
VisitForStackValue(key); |
+ VisitForStackValue(value); |
switch (property->kind()) { |
case ObjectLiteral::Property::CONSTANT: |
case ObjectLiteral::Property::MATERIALIZED_LITERAL: |
case ObjectLiteral::Property::COMPUTED: |
case ObjectLiteral::Property::PROTOTYPE: |
- VisitForStackValue(value); |
- __ mov(scratch, Operand(Smi::FromInt(NONE))); |
- __ push(scratch); |
- __ CallRuntime(Runtime::kDefineDataPropertyUnchecked, 4); |
+ __ CallRuntime(Runtime::kDefineClassMethod, 3); |
break; |
case ObjectLiteral::Property::GETTER: |
- VisitForStackValue(value); |
- __ LoadRoot(scratch, Heap::kNullValueRootIndex); |
- __ push(scratch); |
- __ mov(scratch, Operand(Smi::FromInt(NONE))); |
- __ push(scratch); |
- __ CallRuntime(Runtime::kDefineAccessorPropertyUnchecked, 5); |
+ __ CallRuntime(Runtime::kDefineClassGetter, 3); |
break; |
case ObjectLiteral::Property::SETTER: |
- __ LoadRoot(scratch, Heap::kNullValueRootIndex); |
- __ push(scratch); |
- VisitForStackValue(value); |
- __ mov(scratch, Operand(Smi::FromInt(NONE))); |
- __ push(scratch); |
- __ CallRuntime(Runtime::kDefineAccessorPropertyUnchecked, 5); |
+ __ CallRuntime(Runtime::kDefineClassSetter, 3); |
break; |
default: |