OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "src/v8.h" | 5 #include "src/v8.h" |
6 | 6 |
7 #if V8_TARGET_ARCH_ARM64 | 7 #if V8_TARGET_ARCH_ARM64 |
8 | 8 |
9 #include "src/base/bits.h" | 9 #include "src/base/bits.h" |
10 #include "src/base/division-by-constant.h" | 10 #include "src/base/division-by-constant.h" |
(...skipping 3910 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3921 // hash = hash + (hash << 2); | 3921 // hash = hash + (hash << 2); |
3922 Add(key, key, Operand(key, LSL, 2)); | 3922 Add(key, key, Operand(key, LSL, 2)); |
3923 // hash = hash ^ (hash >> 4); | 3923 // hash = hash ^ (hash >> 4); |
3924 Eor(key, key, Operand(key, LSR, 4)); | 3924 Eor(key, key, Operand(key, LSR, 4)); |
3925 // hash = hash * 2057; | 3925 // hash = hash * 2057; |
3926 Mov(scratch, Operand(key, LSL, 11)); | 3926 Mov(scratch, Operand(key, LSL, 11)); |
3927 Add(key, key, Operand(key, LSL, 3)); | 3927 Add(key, key, Operand(key, LSL, 3)); |
3928 Add(key, key, scratch); | 3928 Add(key, key, scratch); |
3929 // hash = hash ^ (hash >> 16); | 3929 // hash = hash ^ (hash >> 16); |
3930 Eor(key, key, Operand(key, LSR, 16)); | 3930 Eor(key, key, Operand(key, LSR, 16)); |
| 3931 Bic(key, key, Operand(0xc0000000u)); |
3931 } | 3932 } |
3932 | 3933 |
3933 | 3934 |
3934 void MacroAssembler::LoadFromNumberDictionary(Label* miss, | 3935 void MacroAssembler::LoadFromNumberDictionary(Label* miss, |
3935 Register elements, | 3936 Register elements, |
3936 Register key, | 3937 Register key, |
3937 Register result, | 3938 Register result, |
3938 Register scratch0, | 3939 Register scratch0, |
3939 Register scratch1, | 3940 Register scratch1, |
3940 Register scratch2, | 3941 Register scratch2, |
(...skipping 1206 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5147 } | 5148 } |
5148 } | 5149 } |
5149 | 5150 |
5150 | 5151 |
5151 #undef __ | 5152 #undef __ |
5152 | 5153 |
5153 | 5154 |
5154 } } // namespace v8::internal | 5155 } } // namespace v8::internal |
5155 | 5156 |
5156 #endif // V8_TARGET_ARCH_ARM64 | 5157 #endif // V8_TARGET_ARCH_ARM64 |
OLD | NEW |