Index: src/ia32/stub-cache-ia32.cc |
=================================================================== |
--- src/ia32/stub-cache-ia32.cc (revision 5176) |
+++ src/ia32/stub-cache-ia32.cc (working copy) |
@@ -1287,11 +1287,9 @@ |
} |
-Object* CallStubCompiler::GenerateMissBranch() { |
- Object* obj = StubCache::ComputeCallMiss(arguments().immediate(), kind_); |
- if (obj->IsFailure()) return obj; |
- __ jmp(Handle<Code>(Code::cast(obj)), RelocInfo::CODE_TARGET); |
- return obj; |
+void CallStubCompiler::GenerateMissBranch() { |
+ Handle<Code> ic = ComputeCallMiss(arguments().immediate(), kind_); |
+ __ jmp(ic, RelocInfo::CODE_TARGET); |
} |
@@ -1342,8 +1340,7 @@ |
// Handle call cache miss. |
__ bind(&miss); |
- Object* obj = GenerateMissBranch(); |
- if (obj->IsFailure()) return obj; |
+ GenerateMissBranch(); |
// Return the generated code. |
return GetCode(FIELD, name); |
@@ -1490,8 +1487,7 @@ |
} |
__ bind(&miss); |
- Object* obj = GenerateMissBranch(); |
- if (obj->IsFailure()) return obj; |
+ GenerateMissBranch(); |
// Return the generated code. |
return GetCode(function); |
@@ -1574,8 +1570,7 @@ |
1); |
__ bind(&miss); |
- Object* obj = GenerateMissBranch(); |
- if (obj->IsFailure()) return obj; |
+ GenerateMissBranch(); |
// Return the generated code. |
return GetCode(function); |
@@ -1638,9 +1633,9 @@ |
__ ret((argc + 1) * kPointerSize); |
__ bind(&miss); |
- Object* obj = GenerateMissBranch(); |
- if (obj->IsFailure()) return obj; |
+ GenerateMissBranch(); |
+ |
// Return the generated code. |
return GetCode(function); |
} |
@@ -1705,9 +1700,10 @@ |
__ ret((argc + 1) * kPointerSize); |
__ bind(&miss); |
- Object* obj = GenerateMissBranch(); |
- if (obj->IsFailure()) return obj; |
+ // Restore function name in ecx. |
+ GenerateMissBranch(); |
+ |
// Return the generated code. |
return GetCode(function); |
} |
@@ -1860,8 +1856,7 @@ |
FreeSpaceForFastApiCall(masm(), eax); |
} |
__ bind(&miss_in_smi_check); |
- Object* obj = GenerateMissBranch(); |
- if (obj->IsFailure()) return obj; |
+ GenerateMissBranch(); |
// Return the generated code. |
return GetCode(function); |
@@ -1925,8 +1920,7 @@ |
// Handle load cache miss. |
__ bind(&miss); |
- Object* obj = GenerateMissBranch(); |
- if (obj->IsFailure()) return obj; |
+ GenerateMissBranch(); |
// Return the generated code. |
return GetCode(INTERCEPTOR, name); |
@@ -2011,8 +2005,7 @@ |
// Handle call cache miss. |
__ bind(&miss); |
__ IncrementCounter(&Counters::call_global_inline_miss, 1); |
- Object* obj = GenerateMissBranch(); |
- if (obj->IsFailure()) return obj; |
+ GenerateMissBranch(); |
// Return the generated code. |
return GetCode(NORMAL, name); |