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 3812 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3823 Ldrb(scratch, FieldMemOperand(scratch, Map::kInstanceTypeOffset)); | 3823 Ldrb(scratch, FieldMemOperand(scratch, Map::kInstanceTypeOffset)); |
3824 | 3824 |
3825 And(scratch, scratch, kStringRepresentationMask | kStringEncodingMask); | 3825 And(scratch, scratch, kStringRepresentationMask | kStringEncodingMask); |
3826 Cmp(scratch, encoding_mask); | 3826 Cmp(scratch, encoding_mask); |
3827 Check(eq, kUnexpectedStringType); | 3827 Check(eq, kUnexpectedStringType); |
3828 | 3828 |
3829 Ldr(scratch, FieldMemOperand(string, String::kLengthOffset)); | 3829 Ldr(scratch, FieldMemOperand(string, String::kLengthOffset)); |
3830 Cmp(index, index_type == kIndexIsSmi ? scratch : Operand::UntagSmi(scratch)); | 3830 Cmp(index, index_type == kIndexIsSmi ? scratch : Operand::UntagSmi(scratch)); |
3831 Check(lt, kIndexIsTooLarge); | 3831 Check(lt, kIndexIsTooLarge); |
3832 | 3832 |
3833 DCHECK_EQ(static_cast<Smi*>(0), Smi::kZero); | 3833 DCHECK_EQ(static_cast<Smi*>(0), Smi::FromInt(0)); |
3834 Cmp(index, 0); | 3834 Cmp(index, 0); |
3835 Check(ge, kIndexIsNegative); | 3835 Check(ge, kIndexIsNegative); |
3836 } | 3836 } |
3837 | 3837 |
3838 | 3838 |
3839 void MacroAssembler::CheckAccessGlobalProxy(Register holder_reg, | 3839 void MacroAssembler::CheckAccessGlobalProxy(Register holder_reg, |
3840 Register scratch1, | 3840 Register scratch1, |
3841 Register scratch2, | 3841 Register scratch2, |
3842 Label* miss) { | 3842 Label* miss) { |
3843 DCHECK(!AreAliased(holder_reg, scratch1, scratch2)); | 3843 DCHECK(!AreAliased(holder_reg, scratch1, scratch2)); |
(...skipping 1308 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5152 } | 5152 } |
5153 | 5153 |
5154 | 5154 |
5155 #undef __ | 5155 #undef __ |
5156 | 5156 |
5157 | 5157 |
5158 } // namespace internal | 5158 } // namespace internal |
5159 } // namespace v8 | 5159 } // namespace v8 |
5160 | 5160 |
5161 #endif // V8_TARGET_ARCH_ARM64 | 5161 #endif // V8_TARGET_ARCH_ARM64 |
OLD | NEW |