Index: src/ia32/code-stubs-ia32.cc |
diff --git a/src/ia32/code-stubs-ia32.cc b/src/ia32/code-stubs-ia32.cc |
index 0392e1da7c2ea54817fd62c2f7647295b1d53687..1a62ef5e00971703950b30652fc0faea173d6247 100644 |
--- a/src/ia32/code-stubs-ia32.cc |
+++ b/src/ia32/code-stubs-ia32.cc |
@@ -6003,12 +6003,13 @@ void ICCompareStub::GenerateMiss(MacroAssembler* masm) { |
// must always call a backup property check that is complete. |
// This function is safe to call if the receiver has fast properties. |
// Name must be a symbol and receiver must be a heap object. |
-void StringDictionaryLookupStub::GenerateNegativeLookup(MacroAssembler* masm, |
- Label* miss, |
- Label* done, |
- Register properties, |
- String* name, |
- Register r0) { |
+MaybeObject* StringDictionaryLookupStub::GenerateNegativeLookup( |
+ MacroAssembler* masm, |
+ Label* miss, |
+ Label* done, |
+ Register properties, |
+ String* name, |
+ Register r0) { |
ASSERT(name->IsSymbol()); |
// If names of slots in range from 1 to kProbes - 1 for the hash value are |
@@ -6054,10 +6055,12 @@ void StringDictionaryLookupStub::GenerateNegativeLookup(MacroAssembler* masm, |
StringDictionaryLookupStub::NEGATIVE_LOOKUP); |
__ push(Immediate(Handle<Object>(name))); |
__ push(Immediate(name->Hash())); |
- __ CallStub(&stub); |
+ MaybeObject* result = masm->TryCallStub(&stub); |
+ if (result->IsFailure()) return result; |
__ test(r0, Operand(r0)); |
__ j(not_zero, miss); |
__ jmp(done); |
+ return result; |
} |