Index: src/x64/stub-cache-x64.cc |
=================================================================== |
--- src/x64/stub-cache-x64.cc (revision 4791) |
+++ src/x64/stub-cache-x64.cc (working copy) |
@@ -695,6 +695,12 @@ |
#define __ ACCESS_MASM((masm())) |
+void CallStubCompiler::GenerateMissBranch() { |
+ Handle<Code> ic = ComputeCallMiss(arguments().immediate(), kind_); |
+ __ Jump(ic, RelocInfo::CODE_TARGET); |
+} |
+ |
+ |
Object* CallStubCompiler::CompileCallConstant(Object* object, |
JSObject* holder, |
JSFunction* function, |
@@ -845,8 +851,7 @@ |
// Handle call cache miss. |
__ bind(&miss_in_smi_check); |
- Handle<Code> ic = ComputeCallMiss(arguments().immediate()); |
- __ Jump(ic, RelocInfo::CODE_TARGET); |
+ GenerateMissBranch(); |
// Return the generated code. |
return GetCode(function); |
@@ -897,8 +902,7 @@ |
// Handle call cache miss. |
__ bind(&miss); |
- Handle<Code> ic = ComputeCallMiss(arguments().immediate()); |
- __ Jump(ic, RelocInfo::CODE_TARGET); |
+ GenerateMissBranch(); |
// Return the generated code. |
return GetCode(FIELD, name); |
@@ -1052,8 +1056,7 @@ |
__ bind(&miss); |
- Handle<Code> ic = ComputeCallMiss(arguments().immediate()); |
- __ jmp(ic, RelocInfo::CODE_TARGET); |
+ GenerateMissBranch(); |
// Return the generated code. |
return GetCode(function); |
@@ -1137,8 +1140,7 @@ |
1); |
__ bind(&miss); |
- Handle<Code> ic = ComputeCallMiss(arguments().immediate()); |
- __ jmp(ic, RelocInfo::CODE_TARGET); |
+ GenerateMissBranch(); |
// Return the generated code. |
return GetCode(function); |
@@ -1221,8 +1223,7 @@ |
// Handle load cache miss. |
__ bind(&miss); |
- Handle<Code> ic = ComputeCallMiss(argc); |
- __ Jump(ic, RelocInfo::CODE_TARGET); |
+ GenerateMissBranch(); |
// Return the generated code. |
return GetCode(INTERCEPTOR, name); |
@@ -1305,8 +1306,7 @@ |
// Handle call cache miss. |
__ bind(&miss); |
__ IncrementCounter(&Counters::call_global_inline_miss, 1); |
- Handle<Code> ic = ComputeCallMiss(arguments().immediate()); |
- __ Jump(ic, RelocInfo::CODE_TARGET); |
+ GenerateMissBranch(); |
// Return the generated code. |
return GetCode(NORMAL, name); |