| Index: src/x64/stub-cache-x64.cc
|
| ===================================================================
|
| --- src/x64/stub-cache-x64.cc (revision 5507)
|
| +++ src/x64/stub-cache-x64.cc (working copy)
|
| @@ -1701,7 +1701,10 @@
|
| Failure* failure = Failure::InternalError();
|
| bool success = GenerateLoadCallback(object, holder, rax, rcx, rbx, rdx, rdi,
|
| callback, name, &miss, &failure);
|
| - if (!success) return failure;
|
| + if (!success) {
|
| + miss.Unuse();
|
| + return failure;
|
| + }
|
|
|
| __ bind(&miss);
|
| GenerateLoadMiss(masm(), Code::LOAD_IC);
|
| @@ -1757,7 +1760,10 @@
|
| name,
|
| rdx,
|
| &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
|
| @@ -1895,7 +1901,10 @@
|
| Failure* failure = Failure::InternalError();
|
| bool success = GenerateLoadCallback(receiver, holder, rdx, rax, rbx, rcx, rdi,
|
| callback, name, &miss, &failure);
|
| - if (!success) return failure;
|
| + if (!success) {
|
| + miss.Unuse();
|
| + return failure;
|
| + }
|
|
|
| __ bind(&miss);
|
| __ DecrementCounter(&Counters::keyed_load_callback, 1);
|
|
|