Index: src/x64/full-codegen-x64.cc |
diff --git a/src/x64/full-codegen-x64.cc b/src/x64/full-codegen-x64.cc |
index fe06fc7dfcf99f99725befe7a18d0d5d2202e014..085a55d526de3ba9cdf63c8bf3fa49cd36930dfc 100644 |
--- a/src/x64/full-codegen-x64.cc |
+++ b/src/x64/full-codegen-x64.cc |
@@ -2443,29 +2443,22 @@ void FullCodeGenerator::EmitClassDefineProperties(ClassLiteral* lit) { |
__ Push(Operand(rsp, 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(Smi::FromInt(NONE)); |
- __ CallRuntime(Runtime::kDefineDataPropertyUnchecked, 4); |
+ __ CallRuntime(Runtime::kDefineClassMethod, 3); |
break; |
case ObjectLiteral::Property::GETTER: |
- VisitForStackValue(value); |
- __ Push(isolate()->factory()->null_value()); |
- __ Push(Smi::FromInt(NONE)); |
- __ CallRuntime(Runtime::kDefineAccessorPropertyUnchecked, 5); |
+ __ CallRuntime(Runtime::kDefineClassGetter, 3); |
break; |
case ObjectLiteral::Property::SETTER: |
- __ Push(isolate()->factory()->null_value()); |
- VisitForStackValue(value); |
- __ Push(Smi::FromInt(NONE)); |
- __ CallRuntime(Runtime::kDefineAccessorPropertyUnchecked, 5); |
+ __ CallRuntime(Runtime::kDefineClassSetter, 3); |
break; |
default: |