| Index: src/x64/full-codegen-x64.cc
|
| diff --git a/src/x64/full-codegen-x64.cc b/src/x64/full-codegen-x64.cc
|
| index 24747ee9e85b11d7e3fed1b50e70db0d2073e9b2..c4d16b982c067e5681eed0812284a0e765004db1 100644
|
| --- a/src/x64/full-codegen-x64.cc
|
| +++ b/src/x64/full-codegen-x64.cc
|
| @@ -1655,7 +1655,7 @@ void FullCodeGenerator::VisitObjectLiteral(ObjectLiteral* expr) {
|
| ObjectLiteral::Property* property = expr->properties()->at(i);
|
| if (property->IsCompileTimeValue()) continue;
|
|
|
| - Literal* key = property->key();
|
| + Literal* key = property->key()->AsLiteral();
|
| Expression* value = property->value();
|
| if (!result_saved) {
|
| __ Push(rax); // Save result on the stack
|
| @@ -2402,7 +2402,7 @@ void FullCodeGenerator::EmitClassDefineProperties(ClassLiteral* lit) {
|
| } else {
|
| __ Push(Operand(rsp, 0)); // prototype
|
| }
|
| - VisitForStackValue(key);
|
| + EmitPropertyKey(property);
|
| VisitForStackValue(value);
|
| EmitSetHomeObjectIfNeeded(value, 2);
|
|
|
| @@ -2415,11 +2415,11 @@ void FullCodeGenerator::EmitClassDefineProperties(ClassLiteral* lit) {
|
| break;
|
|
|
| case ObjectLiteral::Property::GETTER:
|
| - __ CallRuntime(Runtime::kDefineClassGetter, 3);
|
| + __ CallRuntime(Runtime::kDefineGetterPropertyUnchecked, 3);
|
| break;
|
|
|
| case ObjectLiteral::Property::SETTER:
|
| - __ CallRuntime(Runtime::kDefineClassSetter, 3);
|
| + __ CallRuntime(Runtime::kDefineSetterPropertyUnchecked, 3);
|
| break;
|
|
|
| default:
|
|
|