| 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);
|
|
|
|
|