Revision: 6224
Author: [email protected]
Date: Fri Jan 7 04:34:39 2011
Log: ARM: Support DoCallGlobal in lithium code generator.
BUG=
TEST=
Review URL: http://codereview.chromium.org/6094011
http://code.google.com/p/v8/source/detail?r=6224
Modified:
/branches/bleeding_edge/src/arm/lithium-codegen-arm.cc
=======================================
--- /branches/bleeding_edge/src/arm/lithium-codegen-arm.cc Thu Jan 6
23:33:46 2011
+++ /branches/bleeding_edge/src/arm/lithium-codegen-arm.cc Fri Jan 7
04:34:39 2011
@@ -1840,7 +1840,13 @@
void LCodeGen::DoCallGlobal(LCallGlobal* instr) {
- Abort("DoCallGlobal unimplemented.");
+ ASSERT(ToRegister(instr->result()).is(r0));
+
+ int arity = instr->arity();
+ Handle<Code> ic = StubCache::ComputeCallInitialize(arity, NOT_IN_LOOP);
+ __ mov(r2, Operand(instr->name()));
+ CallCode(ic, RelocInfo::CODE_TARGET_CONTEXT, instr);
+ __ ldr(cp, MemOperand(fp, StandardFrameConstants::kContextOffset));
}
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev