Index: src/arm/lithium-codegen-arm.cc |
diff --git a/src/arm/lithium-codegen-arm.cc b/src/arm/lithium-codegen-arm.cc |
index e6942fada14f66396ffcf32e43e4b5e60ab09868..ff260b59cd255c8ff2035775f17602f74a077a1a 100644 |
--- a/src/arm/lithium-codegen-arm.cc |
+++ b/src/arm/lithium-codegen-arm.cc |
@@ -1812,7 +1812,12 @@ void LCodeGen::DoUnaryMathOperation(LUnaryMathOperation* instr) { |
void LCodeGen::DoCallKeyed(LCallKeyed* instr) { |
- Abort("DoCallKeyed unimplemented."); |
+ ASSERT(ToRegister(instr->result()).is(r0)); |
+ |
+ int arity = instr->arity(); |
+ Handle<Code> ic = StubCache::ComputeKeyedCallInitialize(arity, NOT_IN_LOOP); |
+ CallCode(ic, RelocInfo::CODE_TARGET, instr); |
+ __ ldr(cp, MemOperand(fp, StandardFrameConstants::kContextOffset)); |
} |