Index: src/arm/macro-assembler-arm.h |
diff --git a/src/arm/macro-assembler-arm.h b/src/arm/macro-assembler-arm.h |
index 89fd1f9340637faadaf05f4d3c8090bc8e607b6e..bc20eb1de2ad2e6831d1f51cae22ee82637ab948 100644 |
--- a/src/arm/macro-assembler-arm.h |
+++ b/src/arm/macro-assembler-arm.h |
@@ -346,25 +346,33 @@ class MacroAssembler: public Assembler { |
// --------------------------------------------------------------------------- |
// JavaScript invokes |
+ // Setup call kind marking in ecx. The method takes ecx as an |
+ // explicit first parameter to make the code more readable at the |
+ // call sites. |
+ void SetCallKind(Register dst, CallKind kind); |
+ |
// Invoke the JavaScript function code by either calling or jumping. |
void InvokeCode(Register code, |
const ParameterCount& expected, |
const ParameterCount& actual, |
InvokeFlag flag, |
- const CallWrapper& call_wrapper = NullCallWrapper()); |
+ const CallWrapper& call_wrapper = NullCallWrapper(), |
+ CallKind call_kind = CALL_AS_METHOD); |
void InvokeCode(Handle<Code> code, |
const ParameterCount& expected, |
const ParameterCount& actual, |
RelocInfo::Mode rmode, |
- InvokeFlag flag); |
+ InvokeFlag flag, |
+ CallKind call_kind = CALL_AS_METHOD); |
// Invoke the JavaScript function in the given register. Changes the |
// current context to the context in the function before invoking. |
void InvokeFunction(Register function, |
const ParameterCount& actual, |
InvokeFlag flag, |
- const CallWrapper& call_wrapper = NullCallWrapper()); |
+ const CallWrapper& call_wrapper = NullCallWrapper(), |
+ CallKind call_kind = CALL_AS_METHOD); |
void InvokeFunction(JSFunction* function, |
const ParameterCount& actual, |
@@ -1028,7 +1036,8 @@ class MacroAssembler: public Assembler { |
Register code_reg, |
Label* done, |
InvokeFlag flag, |
- const CallWrapper& call_wrapper = NullCallWrapper()); |
+ const CallWrapper& call_wrapper = NullCallWrapper(), |
+ CallKind call_kind = CALL_AS_METHOD); |
// Activation support. |
void EnterFrame(StackFrame::Type type); |