Index: src/ia32/macro-assembler-ia32.h |
diff --git a/src/ia32/macro-assembler-ia32.h b/src/ia32/macro-assembler-ia32.h |
index 04e805ea11ac6428fc20c145c4bd858062c097e9..4805a07e93e96c9ae7fdb585c29a42f42a4283dc 100644 |
--- a/src/ia32/macro-assembler-ia32.h |
+++ b/src/ia32/macro-assembler-ia32.h |
@@ -153,26 +153,34 @@ 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(const Operand& 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, |
- const CallWrapper& call_wrapper = NullCallWrapper()); |
+ const CallWrapper& call_wrapper = NullCallWrapper(), |
+ 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, |
@@ -652,7 +660,8 @@ class MacroAssembler: public Assembler { |
Label* done, |
InvokeFlag flag, |
Label::Distance done_near = Label::kFar, |
- const CallWrapper& call_wrapper = NullCallWrapper()); |
+ const CallWrapper& call_wrapper = NullCallWrapper(), |
+ CallKind call_kind = CALL_AS_METHOD); |
// Activation support. |
void EnterFrame(StackFrame::Type type); |