Index: src/arm/virtual-frame-arm.cc |
diff --git a/src/arm/virtual-frame-arm.cc b/src/arm/virtual-frame-arm.cc |
index 1e3a865658b427d6887f8334307ea59673c4afd2..ac8bb2821a24e681ea5a604e425e3084f587e2c2 100644 |
--- a/src/arm/virtual-frame-arm.cc |
+++ b/src/arm/virtual-frame-arm.cc |
@@ -191,6 +191,20 @@ void VirtualFrame::PushTryHandler(HandlerType type) { |
} |
+void VirtualFrame::CallJSFunction(int arg_count) { |
+ // InvokeFunction requires function in r1. |
+ EmitPop(r1); |
+ |
+ // +1 for receiver. |
+ Forget(arg_count + 1); |
+ ASSERT(cgen()->HasValidEntryRegisters()); |
+ ParameterCount count(arg_count); |
+ __ InvokeFunction(r1, count, CALL_FUNCTION); |
+ // Restore the context. |
+ __ ldr(cp, Context()); |
+} |
+ |
+ |
void VirtualFrame::CallRuntime(Runtime::Function* f, int arg_count) { |
Forget(arg_count); |
ASSERT(cgen()->HasValidEntryRegisters()); |