MIPS: Fixed wrong register usage in StringDictionaryLookupStub::GenerateNegativeLookup.
This fixes a lot of test failures triggered by r9834, for example mjsunit/const-redecl.js. BUG= TEST= Review URL: http://codereview.chromium.org/8417050 Patch from Gergely Kis <gergely@homejinni.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9843 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
parent
358d7c2078
commit
3ba063197d
@ -6979,8 +6979,8 @@ void StringDictionaryLookupStub::GenerateNegativeLookup(MacroAssembler* masm,
|
|||||||
// Having undefined at this place means the name is not contained.
|
// Having undefined at this place means the name is not contained.
|
||||||
ASSERT_EQ(kSmiTagSize, 1);
|
ASSERT_EQ(kSmiTagSize, 1);
|
||||||
Register tmp = properties;
|
Register tmp = properties;
|
||||||
__ sll(tmp, index, 1);
|
__ sll(scratch0, index, 1);
|
||||||
__ Addu(tmp, properties, tmp);
|
__ Addu(tmp, properties, scratch0);
|
||||||
__ lw(entity_name, FieldMemOperand(tmp, kElementsStartOffset));
|
__ lw(entity_name, FieldMemOperand(tmp, kElementsStartOffset));
|
||||||
|
|
||||||
ASSERT(!tmp.is(entity_name));
|
ASSERT(!tmp.is(entity_name));
|
||||||
@ -6995,8 +6995,8 @@ void StringDictionaryLookupStub::GenerateNegativeLookup(MacroAssembler* masm,
|
|||||||
__ lw(entity_name, FieldMemOperand(entity_name, HeapObject::kMapOffset));
|
__ lw(entity_name, FieldMemOperand(entity_name, HeapObject::kMapOffset));
|
||||||
__ lbu(entity_name,
|
__ lbu(entity_name,
|
||||||
FieldMemOperand(entity_name, Map::kInstanceTypeOffset));
|
FieldMemOperand(entity_name, Map::kInstanceTypeOffset));
|
||||||
__ And(tmp, entity_name, Operand(kIsSymbolMask));
|
__ And(scratch0, entity_name, Operand(kIsSymbolMask));
|
||||||
__ Branch(miss, eq, tmp, Operand(zero_reg));
|
__ Branch(miss, eq, scratch0, Operand(zero_reg));
|
||||||
|
|
||||||
// Restore the properties.
|
// Restore the properties.
|
||||||
__ lw(properties,
|
__ lw(properties,
|
||||||
|
Loading…
Reference in New Issue
Block a user