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/bootstrapper.h" | 9 #include "src/bootstrapper.h" |
10 #include "src/codegen.h" | 10 #include "src/codegen.h" |
(...skipping 4100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4111 Ldr(scratch1, FieldMemOperand(scratch1, token_offset)); | 4111 Ldr(scratch1, FieldMemOperand(scratch1, token_offset)); |
4112 Ldr(scratch2, FieldMemOperand(scratch2, token_offset)); | 4112 Ldr(scratch2, FieldMemOperand(scratch2, token_offset)); |
4113 Cmp(scratch1, scratch2); | 4113 Cmp(scratch1, scratch2); |
4114 B(miss, ne); | 4114 B(miss, ne); |
4115 | 4115 |
4116 Bind(&same_contexts); | 4116 Bind(&same_contexts); |
4117 } | 4117 } |
4118 | 4118 |
4119 | 4119 |
4120 // Compute the hash code from the untagged key. This must be kept in sync with | 4120 // Compute the hash code from the untagged key. This must be kept in sync with |
4121 // ComputeIntegerHash in utils.h and KeyedLoadGenericElementStub in | 4121 // ComputeIntegerHash in utils.h and KeyedLoadGenericStub in |
4122 // code-stub-hydrogen.cc | 4122 // code-stub-hydrogen.cc |
4123 void MacroAssembler::GetNumberHash(Register key, Register scratch) { | 4123 void MacroAssembler::GetNumberHash(Register key, Register scratch) { |
4124 ASSERT(!AreAliased(key, scratch)); | 4124 ASSERT(!AreAliased(key, scratch)); |
4125 | 4125 |
4126 // Xor original key with a seed. | 4126 // Xor original key with a seed. |
4127 LoadRoot(scratch, Heap::kHashSeedRootIndex); | 4127 LoadRoot(scratch, Heap::kHashSeedRootIndex); |
4128 Eor(key, key, Operand::UntagSmi(scratch)); | 4128 Eor(key, key, Operand::UntagSmi(scratch)); |
4129 | 4129 |
4130 // The algorithm uses 32-bit integer values. | 4130 // The algorithm uses 32-bit integer values. |
4131 key = key.W(); | 4131 key = key.W(); |
(...skipping 1241 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5373 } | 5373 } |
5374 } | 5374 } |
5375 | 5375 |
5376 | 5376 |
5377 #undef __ | 5377 #undef __ |
5378 | 5378 |
5379 | 5379 |
5380 } } // namespace v8::internal | 5380 } } // namespace v8::internal |
5381 | 5381 |
5382 #endif // V8_TARGET_ARCH_ARM64 | 5382 #endif // V8_TARGET_ARCH_ARM64 |
OLD | NEW |