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