Index: src/arm64/macro-assembler-arm64.cc |
diff --git a/src/arm64/macro-assembler-arm64.cc b/src/arm64/macro-assembler-arm64.cc |
index cd7f0aeed4e5ea114ce9c20cb52de4f1fb1450d3..ff85931c01e8c59927155e24a028d83e43d256bf 100644 |
--- a/src/arm64/macro-assembler-arm64.cc |
+++ b/src/arm64/macro-assembler-arm64.cc |
@@ -3975,11 +3975,8 @@ void MacroAssembler::IndexFromHash(Register hash, Register index) { |
// 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); |
- Ubfx(hash, hash, String::kHashShift, String::kArrayIndexValueBits); |
- SmiTag(index, hash); |
+ DecodeField<String::ArrayIndexValueBits>(index, hash); |
+ SmiTag(index, index); |
} |