| Index: src/arm/code-stubs-arm.cc
|
| diff --git a/src/arm/code-stubs-arm.cc b/src/arm/code-stubs-arm.cc
|
| index caeb6c11fded0da37f28c4cfe1f7f710ac6361a2..1fe92cd9b8149b3c83f87e325e0e5c288f509f82 100644
|
| --- a/src/arm/code-stubs-arm.cc
|
| +++ b/src/arm/code-stubs-arm.cc
|
| @@ -6104,13 +6104,14 @@ void DirectCEntryStub::GenerateCall(MacroAssembler* masm,
|
| }
|
|
|
|
|
| -void StringDictionaryLookupStub::GenerateNegativeLookup(MacroAssembler* masm,
|
| - Label* miss,
|
| - Label* done,
|
| - Register receiver,
|
| - Register properties,
|
| - String* name,
|
| - Register scratch0) {
|
| +MaybeObject* StringDictionaryLookupStub::GenerateNegativeLookup(
|
| + MacroAssembler* masm,
|
| + Label* miss,
|
| + Label* done,
|
| + Register receiver,
|
| + Register properties,
|
| + String* name,
|
| + Register scratch0) {
|
| // If names of slots in range from 1 to kProbes - 1 for the hash value are
|
| // not equal to the name and kProbes-th slot is not used (its name is the
|
| // undefined value), it guarantees the hash table doesn't contain the
|
| @@ -6168,12 +6169,14 @@ void StringDictionaryLookupStub::GenerateNegativeLookup(MacroAssembler* masm,
|
| __ ldr(r0, FieldMemOperand(receiver, JSObject::kPropertiesOffset));
|
| __ mov(r1, Operand(Handle<String>(name)));
|
| StringDictionaryLookupStub stub(NEGATIVE_LOOKUP);
|
| - __ CallStub(&stub);
|
| + MaybeObject* result = masm->TryCallStub(&stub);
|
| + if (result->IsFailure()) return result;
|
| __ tst(r0, Operand(r0));
|
| __ ldm(ia_w, sp, spill_mask);
|
|
|
| __ b(eq, done);
|
| __ b(ne, miss);
|
| + return result;
|
| }
|
|
|
|
|
|
|