Index: src/x64/macro-assembler-x64.h |
diff --git a/src/x64/macro-assembler-x64.h b/src/x64/macro-assembler-x64.h |
index 978fa0d447ea253275cceb7d7e88b39f78053a14..dad4ef0d6b9e46959d22704df2f135439481e7cc 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, |
@@ -1149,8 +1157,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); |