Index: src/mips/macro-assembler-mips.cc |
diff --git a/src/mips/macro-assembler-mips.cc b/src/mips/macro-assembler-mips.cc |
index d2fa8dec69e93c01d54e1308e4baa1b1e0740ee7..d2b1462f108675b128c04c4539075bc9ec7a260b 100644 |
--- a/src/mips/macro-assembler-mips.cc |
+++ b/src/mips/macro-assembler-mips.cc |
@@ -3999,19 +3999,14 @@ bool MacroAssembler::AllowThisStubCall(CodeStub* stub) { |
} |
-void MacroAssembler::IndexFromHash(Register hash, |
- Register index) { |
+void MacroAssembler::IndexFromHash(Register hash, Register index) { |
// If the hash field contains an array index pick it out. The assert checks |
// that the constants for the maximum number of digits for an array index |
// cached in the hash field and the number of bits reserved for it does not |
// conflict. |
ASSERT(TenToThe(String::kMaxCachedArrayIndexLength) < |
(1 << String::kArrayIndexValueBits)); |
- // We want the smi-tagged index in key. kArrayIndexValueMask has zeros in |
- // the low kHashShift bits. |
- STATIC_ASSERT(kSmiTag == 0); |
- Ext(hash, hash, String::kHashShift, String::kArrayIndexValueBits); |
- sll(index, hash, kSmiTagSize); |
+ DecodeFieldToSmi<String::ArrayIndexValueBits>(index, hash); |
} |