ARM: fix dictionary negative lookup.

Do not skip the last inlined probe.

BUG=171975

Review URL: https://chromiumcodereview.appspot.com/12703014

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14074 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
ulan@chromium.org 2013-03-26 09:28:26 +00:00
parent e9ca60d265
commit 81281dc5cf
2 changed files with 37 additions and 41 deletions

View File

@ -7414,7 +7414,6 @@ void NameDictionaryLookupStub::GenerateNegativeLookup(MacroAssembler* masm,
__ cmp(entity_name, tmp); __ cmp(entity_name, tmp);
__ b(eq, done); __ b(eq, done);
if (i != kInlinedProbes - 1) {
// Load the hole ready for use below: // Load the hole ready for use below:
__ LoadRoot(tmp, Heap::kTheHoleValueRootIndex); __ LoadRoot(tmp, Heap::kTheHoleValueRootIndex);
@ -7441,7 +7440,6 @@ void NameDictionaryLookupStub::GenerateNegativeLookup(MacroAssembler* masm,
__ ldr(properties, __ ldr(properties,
FieldMemOperand(receiver, JSObject::kPropertiesOffset)); FieldMemOperand(receiver, JSObject::kPropertiesOffset));
} }
}
const int spill_mask = const int spill_mask =
(lr.bit() | r6.bit() | r5.bit() | r4.bit() | r3.bit() | (lr.bit() | r6.bit() | r5.bit() | r4.bit() | r3.bit() |

View File

@ -7549,7 +7549,6 @@ void NameDictionaryLookupStub::GenerateNegativeLookup(MacroAssembler* masm,
__ LoadRoot(tmp, Heap::kUndefinedValueRootIndex); __ LoadRoot(tmp, Heap::kUndefinedValueRootIndex);
__ Branch(done, eq, entity_name, Operand(tmp)); __ Branch(done, eq, entity_name, Operand(tmp));
if (i != kInlinedProbes - 1) {
// Load the hole ready for use below: // Load the hole ready for use below:
__ LoadRoot(tmp, Heap::kTheHoleValueRootIndex); __ LoadRoot(tmp, Heap::kTheHoleValueRootIndex);
@ -7573,7 +7572,6 @@ void NameDictionaryLookupStub::GenerateNegativeLookup(MacroAssembler* masm,
__ lw(properties, __ lw(properties,
FieldMemOperand(receiver, JSObject::kPropertiesOffset)); FieldMemOperand(receiver, JSObject::kPropertiesOffset));
} }
}
const int spill_mask = const int spill_mask =
(ra.bit() | t2.bit() | t1.bit() | t0.bit() | a3.bit() | (ra.bit() | t2.bit() | t1.bit() | t0.bit() | a3.bit() |