Index: src/ia32/stub-cache-ia32.cc |
diff --git a/src/ia32/stub-cache-ia32.cc b/src/ia32/stub-cache-ia32.cc |
index c0f40883e47836b160df1ca349537ebd6f2ff689..f00eac6d122f9840f6248d1859ca0828e51241c6 100644 |
--- a/src/ia32/stub-cache-ia32.cc |
+++ b/src/ia32/stub-cache-ia32.cc |
@@ -1223,7 +1223,7 @@ Object* CallStubCompiler::CompileCallConstant(Object* object, |
// -- ... |
// -- esp[(argc + 1) * 4] : receiver |
// ----------------------------------- |
- Label miss; |
+ Label miss_in_smi_check; |
// Get the receiver from the stack. |
const int argc = arguments().immediate(); |
@@ -1232,7 +1232,7 @@ Object* CallStubCompiler::CompileCallConstant(Object* object, |
// Check that the receiver isn't a smi. |
if (check != NUMBER_CHECK) { |
__ test(edx, Immediate(kSmiTagMask)); |
- __ j(zero, &miss, not_taken); |
+ __ j(zero, &miss_in_smi_check, not_taken); |
} |
// Make sure that it's okay not to patch the on stack receiver |
@@ -1241,6 +1241,7 @@ Object* CallStubCompiler::CompileCallConstant(Object* object, |
CallOptimization optimization(function); |
int depth = kInvalidProtoDepth; |
+ Label miss; |
switch (check) { |
case RECEIVER_MAP_CHECK: |
@@ -1359,6 +1360,7 @@ Object* CallStubCompiler::CompileCallConstant(Object* object, |
if (depth != kInvalidProtoDepth) { |
FreeSpaceForFastApiCall(masm(), eax); |
} |
+ __ bind(&miss_in_smi_check); |
Handle<Code> ic = ComputeCallMiss(arguments().immediate()); |
__ jmp(ic, RelocInfo::CODE_TARGET); |