Index: src/arm/lithium-codegen-arm.cc |
diff --git a/src/arm/lithium-codegen-arm.cc b/src/arm/lithium-codegen-arm.cc |
index 7a3ab38a00ec2700d297c81720eb4da9405369b1..b21416993cfea9fed2cdb389cdf9eaddd1e909fe 100644 |
--- a/src/arm/lithium-codegen-arm.cc |
+++ b/src/arm/lithium-codegen-arm.cc |
@@ -2187,7 +2187,7 @@ void LCodeGen::DoLoadGlobalGeneric(LLoadGlobalGeneric* instr) { |
} |
-void LCodeGen::DoStoreGlobal(LStoreGlobal* instr) { |
+void LCodeGen::DoStoreGlobalCell(LStoreGlobalCell* instr) { |
Register value = ToRegister(instr->InputAt(0)); |
Register scratch = scratch0(); |
@@ -2212,6 +2212,16 @@ void LCodeGen::DoStoreGlobal(LStoreGlobal* instr) { |
} |
+void LCodeGen::DoStoreGlobalGeneric(LStoreGlobalGeneric* instr) { |
+ ASSERT(ToRegister(instr->global_object()).is(r1)); |
+ ASSERT(ToRegister(instr->value()).is(r0)); |
+ |
+ __ mov(r2, Operand(instr->name())); |
+ Handle<Code> ic = isolate()->builtins()->StoreIC_Initialize(); |
+ CallCode(ic, RelocInfo::CODE_TARGET_CONTEXT, instr); |
+} |
+ |
+ |
void LCodeGen::DoLoadContextSlot(LLoadContextSlot* instr) { |
Register context = ToRegister(instr->context()); |
Register result = ToRegister(instr->result()); |