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

Reply via email to