| 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:
|
|
|