Index: src/ia32/full-codegen-ia32.cc |
diff --git a/src/ia32/full-codegen-ia32.cc b/src/ia32/full-codegen-ia32.cc |
index de08bd1c3ee154c1cb94e5e3e89c3f12a51ef2da..920d0367349d251a842836ef84fc43f6fa51383d 100644 |
--- a/src/ia32/full-codegen-ia32.cc |
+++ b/src/ia32/full-codegen-ia32.cc |
@@ -2444,29 +2444,22 @@ void FullCodeGenerator::EmitClassDefineProperties(ClassLiteral* lit) { |
__ push(Operand(esp, 0)); // prototype |
} |
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); |
- __ push(Immediate(Smi::FromInt(NONE))); |
- __ CallRuntime(Runtime::kDefineDataPropertyUnchecked, 4); |
+ __ CallRuntime(Runtime::kDefineClassMethod, 3); |
break; |
case ObjectLiteral::Property::GETTER: |
- VisitForStackValue(value); |
- __ push(Immediate(isolate()->factory()->null_value())); |
- __ push(Immediate(Smi::FromInt(NONE))); |
- __ CallRuntime(Runtime::kDefineAccessorPropertyUnchecked, 5); |
+ __ CallRuntime(Runtime::kDefineClassGetter, 3); |
break; |
case ObjectLiteral::Property::SETTER: |
- __ push(Immediate(isolate()->factory()->null_value())); |
- VisitForStackValue(value); |
- __ push(Immediate(Smi::FromInt(NONE))); |
- __ CallRuntime(Runtime::kDefineAccessorPropertyUnchecked, 5); |
+ __ CallRuntime(Runtime::kDefineClassSetter, 3); |
break; |
default: |