| 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);
|
| }
|
|
|