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