Index: src/x64/macro-assembler-x64.h |
diff --git a/src/x64/macro-assembler-x64.h b/src/x64/macro-assembler-x64.h |
index d7d5af3bd33e704bc2c07291c33edef6d8b0fa70..0ed48db4fad23dc61a3ed293f10934b30379ce17 100644 |
--- a/src/x64/macro-assembler-x64.h |
+++ b/src/x64/macro-assembler-x64.h |
@@ -241,26 +241,34 @@ class MacroAssembler: public Assembler { |
// --------------------------------------------------------------------------- |
// JavaScript invokes |
+ // Setup call kind marking in rcx. The method takes rcx 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, |
- 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, |
@@ -1147,8 +1155,9 @@ class MacroAssembler: public Assembler { |
Register code_register, |
Label* done, |
InvokeFlag flag, |
- const CallWrapper& call_wrapper, |
- Label::Distance near_jump = Label::kFar); |
+ Label::Distance near_jump = Label::kFar, |
+ const CallWrapper& call_wrapper = NullCallWrapper(), |
+ CallKind call_kind = CALL_AS_METHOD); |
// Activation support. |
void EnterFrame(StackFrame::Type type); |