Index: src/arm/full-codegen-arm.cc |
diff --git a/src/arm/full-codegen-arm.cc b/src/arm/full-codegen-arm.cc |
index 8639698051041118a6eb108706dde664df16ff80..303f0b086e7ed815e22f34d472e7d77bd6a0d268 100644 |
--- a/src/arm/full-codegen-arm.cc |
+++ b/src/arm/full-codegen-arm.cc |
@@ -1498,11 +1498,15 @@ void FullCodeGenerator::VisitObjectLiteral(ObjectLiteral* expr) { |
__ ldr(r0, MemOperand(sp)); |
__ push(r0); |
VisitForStackValue(key); |
- __ mov(r1, Operand(property->kind() == ObjectLiteral::Property::SETTER ? |
- Smi::FromInt(1) : |
- Smi::FromInt(0))); |
- __ push(r1); |
- VisitForStackValue(value); |
+ if (property->kind() == ObjectLiteral::Property::GETTER) { |
+ VisitForStackValue(value); |
+ __ LoadRoot(r1, Heap::kNullValueRootIndex); |
+ __ push(r1); |
+ } else { |
+ __ LoadRoot(r1, Heap::kNullValueRootIndex); |
+ __ push(r1); |
+ VisitForStackValue(value); |
+ } |
__ mov(r0, Operand(Smi::FromInt(NONE))); |
__ push(r0); |
__ CallRuntime(Runtime::kDefineOrRedefineAccessorProperty, 5); |