Index: src/ia32/stub-cache-ia32.cc |
=================================================================== |
--- src/ia32/stub-cache-ia32.cc (revision 5507) |
+++ src/ia32/stub-cache-ia32.cc (working copy) |
@@ -2455,7 +2455,10 @@ |
name, |
edx, |
&miss); |
- if (cell->IsFailure()) return cell; |
+ if (cell->IsFailure()) { |
+ miss.Unuse(); |
+ return cell; |
+ } |
} |
// Return undefined if maps of the full prototype chain are still the |
@@ -2505,7 +2508,10 @@ |
Failure* failure = Failure::InternalError(); |
bool success = GenerateLoadCallback(object, holder, eax, ecx, ebx, edx, edi, |
callback, name, &miss, &failure); |
- if (!success) return failure; |
+ if (!success) { |
+ miss.Unuse(); |
+ return failure; |
+ } |
__ bind(&miss); |
GenerateLoadMiss(masm(), Code::LOAD_IC); |
@@ -2666,9 +2672,13 @@ |
Failure* failure = Failure::InternalError(); |
bool success = GenerateLoadCallback(receiver, holder, edx, eax, ebx, ecx, edi, |
callback, name, &miss, &failure); |
- if (!success) return failure; |
+ if (!success) { |
+ miss.Unuse(); |
+ return failure; |
+ } |
__ bind(&miss); |
+ |
__ DecrementCounter(&Counters::keyed_load_callback, 1); |
GenerateLoadMiss(masm(), Code::KEYED_LOAD_IC); |