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 #if V8_TARGET_ARCH_ARM64 | 5 #if V8_TARGET_ARCH_ARM64 |
6 | 6 |
7 #include "src/base/bits.h" | 7 #include "src/base/bits.h" |
8 #include "src/base/division-by-constant.h" | 8 #include "src/base/division-by-constant.h" |
9 #include "src/bootstrapper.h" | 9 #include "src/bootstrapper.h" |
10 #include "src/codegen.h" | 10 #include "src/codegen.h" |
(...skipping 2406 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2417 JumpIfEitherInstanceTypeIsNotSequentialOneByte(scratch1, scratch2, scratch1, | 2417 JumpIfEitherInstanceTypeIsNotSequentialOneByte(scratch1, scratch2, scratch1, |
2418 scratch2, failure); | 2418 scratch2, failure); |
2419 } | 2419 } |
2420 | 2420 |
2421 | 2421 |
2422 void MacroAssembler::JumpIfEitherInstanceTypeIsNotSequentialOneByte( | 2422 void MacroAssembler::JumpIfEitherInstanceTypeIsNotSequentialOneByte( |
2423 Register first, Register second, Register scratch1, Register scratch2, | 2423 Register first, Register second, Register scratch1, Register scratch2, |
2424 Label* failure) { | 2424 Label* failure) { |
2425 DCHECK(!AreAliased(scratch1, second)); | 2425 DCHECK(!AreAliased(scratch1, second)); |
2426 DCHECK(!AreAliased(scratch1, scratch2)); | 2426 DCHECK(!AreAliased(scratch1, scratch2)); |
2427 static const int kFlatOneByteStringMask = | 2427 const int kFlatOneByteStringMask = |
2428 kIsNotStringMask | kStringEncodingMask | kStringRepresentationMask; | 2428 kIsNotStringMask | kStringEncodingMask | kStringRepresentationMask; |
2429 static const int kFlatOneByteStringTag = ONE_BYTE_STRING_TYPE; | 2429 const int kFlatOneByteStringTag = |
jbramley
2015/10/12 14:16:18
Note that I removed `static` only for consistency
| |
2430 kStringTag | kOneByteStringTag | kSeqStringTag; | |
2430 And(scratch1, first, kFlatOneByteStringMask); | 2431 And(scratch1, first, kFlatOneByteStringMask); |
2431 And(scratch2, second, kFlatOneByteStringMask); | 2432 And(scratch2, second, kFlatOneByteStringMask); |
2432 Cmp(scratch1, kFlatOneByteStringTag); | 2433 Cmp(scratch1, kFlatOneByteStringTag); |
2433 Ccmp(scratch2, kFlatOneByteStringTag, NoFlag, eq); | 2434 Ccmp(scratch2, kFlatOneByteStringTag, NoFlag, eq); |
2434 B(ne, failure); | 2435 B(ne, failure); |
2435 } | 2436 } |
2436 | 2437 |
2437 | 2438 |
2438 void MacroAssembler::JumpIfInstanceTypeIsNotSequentialOneByte(Register type, | 2439 void MacroAssembler::JumpIfInstanceTypeIsNotSequentialOneByte(Register type, |
2439 Register scratch, | 2440 Register scratch, |
(...skipping 2624 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
5064 } | 5065 } |
5065 | 5066 |
5066 | 5067 |
5067 #undef __ | 5068 #undef __ |
5068 | 5069 |
5069 | 5070 |
5070 } // namespace internal | 5071 } // namespace internal |
5071 } // namespace v8 | 5072 } // namespace v8 |
5072 | 5073 |
5073 #endif // V8_TARGET_ARCH_ARM64 | 5074 #endif // V8_TARGET_ARCH_ARM64 |
OLD | NEW |