Index: src/ia32/ic-ia32.cc |
=================================================================== |
--- src/ia32/ic-ia32.cc (revision 5357) |
+++ src/ia32/ic-ia32.cc (working copy) |
@@ -519,31 +519,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. |
- |
- // 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); |
- __ and_(hash, String::kArrayIndexValueMask); |
- __ shr(hash, 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. |
- __ mov(key, hash); |
-} |
- |
- |
void KeyedLoadIC::GenerateGeneric(MacroAssembler* masm) { |
// ----------- S t a t e ------------- |
// -- eax : key |
@@ -704,7 +679,7 @@ |
__ ret(0); |
__ bind(&index_string); |
- GenerateIndexFromHash(masm, eax, ebx); |
+ __ IndexFromHash(ebx, eax); |
// Now jump to the place where smi keys are handled. |
__ jmp(&index_smi); |
} |
@@ -1565,7 +1540,7 @@ |
GenerateMiss(masm, argc); |
__ bind(&index_string); |
- GenerateIndexFromHash(masm, ecx, ebx); |
+ __ IndexFromHash(ebx, ecx); |
// Now jump to the place where smi keys are handled. |
__ jmp(&index_smi); |
} |