Index: src/arm/ic-arm.cc |
=================================================================== |
--- src/arm/ic-arm.cc (revision 5357) |
+++ src/arm/ic-arm.cc (working copy) |
@@ -527,32 +527,6 @@ |
} |
-// Picks out an array index from the hash field. |
-static void GenerateIndexFromHash(MacroAssembler* masm, |
- Register key, |
- Register hash) { |
- // Register use: |
- // key - holds the overwritten key on exit. |
- // hash - holds the key's hash. Clobbered. |
- |
- // 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. |
- ASSERT(String::kHashShift >= kSmiTagSize); |
- // Here we actually clobber the key which will be used if calling into |
- // runtime later. However as the new key is the numeric value of a string key |
- // there is no difference in using either key. |
- ASSERT(String::kHashShift >= kSmiTagSize); |
- __ Ubfx(hash, hash, String::kHashShift, String::kArrayIndexValueBits); |
- __ mov(key, Operand(hash, LSL, kSmiTagSize)); |
-} |
- |
- |
// Defined in ic.cc. |
Object* CallIC_Miss(Arguments args); |
@@ -852,7 +826,7 @@ |
GenerateMiss(masm, argc); |
__ bind(&index_string); |
- GenerateIndexFromHash(masm, r2, r3); |
+ __ IndexFromHash(r3, r2); |
// Now jump to the place where smi keys are handled. |
__ jmp(&index_smi); |
} |
@@ -1249,7 +1223,7 @@ |
__ Ret(); |
__ bind(&index_string); |
- GenerateIndexFromHash(masm, key, r3); |
+ __ IndexFromHash(r3, key); |
// Now jump to the place where smi keys are handled. |
__ jmp(&index_smi); |
} |