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