Index: src/arm/full-codegen-arm.cc |
diff --git a/src/arm/full-codegen-arm.cc b/src/arm/full-codegen-arm.cc |
index 7037ba959470e4f1b3341a11527873b7dccf585f..1b8ac31876d36ef1b814f7bb0d1c81683e76fcd9 100644 |
--- a/src/arm/full-codegen-arm.cc |
+++ b/src/arm/full-codegen-arm.cc |
@@ -1646,8 +1646,6 @@ void FullCodeGenerator::VisitObjectLiteral(ObjectLiteral* expr) { |
} |
break; |
} |
- // Fall through. |
- case ObjectLiteral::Property::PROTOTYPE: |
// Duplicate receiver on stack. |
__ ldr(r0, MemOperand(sp)); |
__ push(r0); |
@@ -1661,6 +1659,18 @@ void FullCodeGenerator::VisitObjectLiteral(ObjectLiteral* expr) { |
__ Drop(3); |
} |
break; |
+ case ObjectLiteral::Property::PROTOTYPE: |
+ // Duplicate receiver on stack. |
+ __ ldr(r0, MemOperand(sp)); |
+ __ push(r0); |
+ VisitForStackValue(value); |
+ if (property->emit_store()) { |
+ __ CallRuntime(Runtime::kSetPrototype, 2); |
+ } else { |
+ __ Drop(2); |
+ } |
+ break; |
+ |
case ObjectLiteral::Property::GETTER: |
accessor_table.lookup(key)->second->getter = value; |
break; |