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