Index: src/x64/full-codegen-x64.cc |
diff --git a/src/x64/full-codegen-x64.cc b/src/x64/full-codegen-x64.cc |
index 7a60adc0b37db09bf368fc6ee61556f461d016a6..49adf6af660454adabaf994c0c18bf946e974be7 100644 |
--- a/src/x64/full-codegen-x64.cc |
+++ b/src/x64/full-codegen-x64.cc |
@@ -1459,10 +1459,13 @@ void FullCodeGenerator::VisitObjectLiteral(ObjectLiteral* expr) { |
case ObjectLiteral::Property::GETTER: |
__ push(Operand(rsp, 0)); // Duplicate receiver. |
VisitForStackValue(key); |
- __ Push(property->kind() == ObjectLiteral::Property::SETTER ? |
- Smi::FromInt(1) : |
- Smi::FromInt(0)); |
- VisitForStackValue(value); |
+ if (property->kind() == ObjectLiteral::Property::GETTER) { |
+ VisitForStackValue(value); |
+ __ PushRoot(Heap::kNullValueRootIndex); |
+ } else { |
+ __ PushRoot(Heap::kNullValueRootIndex); |
+ VisitForStackValue(value); |
+ } |
__ Push(Smi::FromInt(NONE)); |
__ CallRuntime(Runtime::kDefineOrRedefineAccessorProperty, 5); |
break; |