Reviewers: danno, Paul Lind,
Description:
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=
Please review this at http://codereview.chromium.org/8417050/
Affected files:
M src/mips/code-stubs-mips.cc
Index: src/mips/code-stubs-mips.cc
diff --git a/src/mips/code-stubs-mips.cc b/src/mips/code-stubs-mips.cc
index
16461ec7d7f6726efeddad9587ceab9bc5f36d18..02e1cc7c075062dd95f40c426715098821dfc015
100644
--- a/src/mips/code-stubs-mips.cc
+++ b/src/mips/code-stubs-mips.cc
@@ -6979,8 +6979,8 @@ void
StringDictionaryLookupStub::GenerateNegativeLookup(MacroAssembler* masm,
// Having undefined at this place means the name is not contained.
ASSERT_EQ(kSmiTagSize, 1);
Register tmp = properties;
- __ sll(tmp, index, 1);
- __ Addu(tmp, properties, tmp);
+ __ sll(scratch0, index, 1);
+ __ Addu(tmp, properties, scratch0);
__ lw(entity_name, FieldMemOperand(tmp, kElementsStartOffset));
ASSERT(!tmp.is(entity_name));
@@ -6995,8 +6995,8 @@ void
StringDictionaryLookupStub::GenerateNegativeLookup(MacroAssembler* masm,
__ lw(entity_name, FieldMemOperand(entity_name,
HeapObject::kMapOffset));
__ lbu(entity_name,
FieldMemOperand(entity_name, Map::kInstanceTypeOffset));
- __ And(tmp, entity_name, Operand(kIsSymbolMask));
- __ Branch(miss, eq, tmp, Operand(zero_reg));
+ __ And(scratch0, entity_name, Operand(kIsSymbolMask));
+ __ Branch(miss, eq, scratch0, Operand(zero_reg));
// Restore the properties.
__ lw(properties,
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev