| Index: src/arm/stub-cache-arm.cc
|
| ===================================================================
|
| --- src/arm/stub-cache-arm.cc (revision 6449)
|
| +++ src/arm/stub-cache-arm.cc (working copy)
|
| @@ -1194,17 +1194,16 @@
|
| }
|
|
|
|
|
| -bool StubCompiler::GenerateLoadCallback(JSObject* object,
|
| - JSObject* holder,
|
| - Register receiver,
|
| - Register name_reg,
|
| - Register scratch1,
|
| - Register scratch2,
|
| - Register scratch3,
|
| - AccessorInfo* callback,
|
| - String* name,
|
| - Label* miss,
|
| - Failure** failure) {
|
| +MaybeObject* StubCompiler::GenerateLoadCallback(JSObject* object,
|
| + JSObject* holder,
|
| + Register receiver,
|
| + Register name_reg,
|
| + Register scratch1,
|
| + Register scratch2,
|
| + Register scratch3,
|
| + AccessorInfo* callback,
|
| + String* name,
|
| + Label* miss) {
|
| // Check that the receiver isn't a smi.
|
| __ tst(receiver, Operand(kSmiTagMask));
|
| __ b(eq, miss);
|
| @@ -1225,7 +1224,7 @@
|
| ExternalReference(IC_Utility(IC::kLoadCallbackProperty));
|
| __ TailCallExternalReference(load_callback_property, 5, 1);
|
|
|
| - return true;
|
| + return Heap::undefined_value(); // Success.
|
| }
|
|
|
|
|
| @@ -2738,12 +2737,11 @@
|
| // -----------------------------------
|
| Label miss;
|
|
|
| - Failure* failure = Failure::InternalError();
|
| - bool success = GenerateLoadCallback(object, holder, r0, r2, r3, r1, r4,
|
| - callback, name, &miss, &failure);
|
| - if (!success) {
|
| + MaybeObject* result = GenerateLoadCallback(object, holder, r0, r2, r3, r1, r4,
|
| + callback, name, &miss);
|
| + if (result->IsFailure()) {
|
| miss.Unuse();
|
| - return failure;
|
| + return result;
|
| }
|
|
|
| __ bind(&miss);
|
| @@ -2890,12 +2888,11 @@
|
| __ cmp(r0, Operand(Handle<String>(name)));
|
| __ b(ne, &miss);
|
|
|
| - Failure* failure = Failure::InternalError();
|
| - bool success = GenerateLoadCallback(receiver, holder, r1, r0, r2, r3, r4,
|
| - callback, name, &miss, &failure);
|
| - if (!success) {
|
| + MaybeObject* result = GenerateLoadCallback(receiver, holder, r1, r0, r2, r3,
|
| + r4, callback, name, &miss);
|
| + if (result->IsFailure()) {
|
| miss.Unuse();
|
| - return failure;
|
| + return result;
|
| }
|
|
|
| __ bind(&miss);
|
|
|