diff options
author | Kristian Monsen <kristianm@google.com> | 2010-09-08 11:05:35 +0100 |
---|---|---|
committer | Kristian Monsen <kristianm@google.com> | 2010-09-08 11:48:46 +0100 |
commit | 80d68eab642096c1a48b6474d6ec33064b0ad1f5 (patch) | |
tree | 6d3389d4fa4ca4a913970f75df6bbad6b1c858e9 /src/x64/ic-x64.cc | |
parent | 791712a13f1814dd3ab5d1a5ab8ff5dbc476f6d6 (diff) | |
download | android_external_v8-80d68eab642096c1a48b6474d6ec33064b0ad1f5.tar.gz android_external_v8-80d68eab642096c1a48b6474d6ec33064b0ad1f5.tar.bz2 android_external_v8-80d68eab642096c1a48b6474d6ec33064b0ad1f5.zip |
Update V8 to r5388 as required by WebKit r66666
Change-Id: Ib3c42e9b7226d22c65c7077c543fe31afe62a318
Diffstat (limited to 'src/x64/ic-x64.cc')
-rw-r--r-- | src/x64/ic-x64.cc | 29 |
1 files changed, 2 insertions, 27 deletions
diff --git a/src/x64/ic-x64.cc b/src/x64/ic-x64.cc index 114ae84d..a74e621e 100644 --- a/src/x64/ic-x64.cc +++ b/src/x64/ic-x64.cc @@ -572,31 +572,6 @@ static void GenerateKeyStringCheck(MacroAssembler* masm, } -// 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. Even if we subsequently go to - // the slow case, converting the key to a smi is always valid. - // key: string key - // hash: key's hash field, including its array index value. - __ and_(hash, Immediate(String::kArrayIndexValueMask)); - __ shr(hash, Immediate(String::kHashShift)); - // 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. - __ Integer32ToSmi(key, hash); -} - void KeyedLoadIC::GenerateGeneric(MacroAssembler* masm) { // ----------- S t a t e ------------- @@ -743,7 +718,7 @@ void KeyedLoadIC::GenerateGeneric(MacroAssembler* masm) { __ ret(0); __ bind(&index_string); - GenerateIndexFromHash(masm, rax, rbx); + __ IndexFromHash(rbx, rax); __ jmp(&index_smi); } @@ -1599,7 +1574,7 @@ void KeyedCallIC::GenerateMegamorphic(MacroAssembler* masm, int argc) { GenerateMiss(masm, argc); __ bind(&index_string); - GenerateIndexFromHash(masm, rcx, rbx); + __ IndexFromHash(rbx, rcx); // Now jump to the place where smi keys are handled. __ jmp(&index_smi); } |