Index: src/x87/macro-assembler-x87.cc |
diff --git a/src/x87/macro-assembler-x87.cc b/src/x87/macro-assembler-x87.cc |
index 7baa659d014d79864d3da4946e887787e4b04e04..7d36e935046bac94bcab8387031a7af0e82c2cfb 100644 |
--- a/src/x87/macro-assembler-x87.cc |
+++ b/src/x87/macro-assembler-x87.cc |
@@ -1935,16 +1935,10 @@ void MacroAssembler::IndexFromHash(Register hash, Register index) { |
// 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. |
- and_(hash, String::kArrayIndexValueMask); |
- STATIC_ASSERT(String::kHashShift >= kSmiTagSize && kSmiTag == 0); |
- if (String::kHashShift > kSmiTagSize) { |
- shr(hash, String::kHashShift - kSmiTagSize); |
- } |
if (!index.is(hash)) { |
mov(index, hash); |
} |
+ DecodeFieldToSmi<String::ArrayIndexValueBits>(index); |
} |