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/code-stubs.h" | 10 #include "src/code-stubs.h" |
(...skipping 3794 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3805 | 3805 |
3806 __ Bind(&runtime); | 3806 __ Bind(&runtime); |
3807 __ TailCallRuntime(Runtime::kSubString, 3, 1); | 3807 __ TailCallRuntime(Runtime::kSubString, 3, 1); |
3808 | 3808 |
3809 __ bind(&single_char); | 3809 __ bind(&single_char); |
3810 // x1: result_length | 3810 // x1: result_length |
3811 // x10: input_string | 3811 // x10: input_string |
3812 // x12: input_type | 3812 // x12: input_type |
3813 // x15: from (untagged) | 3813 // x15: from (untagged) |
3814 __ SmiTag(from); | 3814 __ SmiTag(from); |
3815 StringCharAtGenerator generator( | 3815 StringCharAtGenerator generator(input_string, from, result_length, x0, |
3816 input_string, from, result_length, x0, | 3816 &runtime, &runtime, &runtime, |
3817 &runtime, &runtime, &runtime, STRING_INDEX_IS_NUMBER); | 3817 STRING_INDEX_IS_NUMBER, RECEIVER_IS_STRING); |
3818 generator.GenerateFast(masm); | 3818 generator.GenerateFast(masm); |
3819 __ Drop(3); | 3819 __ Drop(3); |
3820 __ Ret(); | 3820 __ Ret(); |
3821 generator.SkipSlow(masm, &runtime); | 3821 generator.SkipSlow(masm, &runtime); |
3822 } | 3822 } |
3823 | 3823 |
3824 | 3824 |
3825 void StringHelper::GenerateFlatOneByteStringEquals( | 3825 void StringHelper::GenerateFlatOneByteStringEquals( |
3826 MacroAssembler* masm, Register left, Register right, Register scratch1, | 3826 MacroAssembler* masm, Register left, Register right, Register scratch1, |
3827 Register scratch2, Register scratch3) { | 3827 Register scratch2, Register scratch3) { |
(...skipping 1262 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5090 MemOperand(fp, 6 * kPointerSize), | 5090 MemOperand(fp, 6 * kPointerSize), |
5091 NULL); | 5091 NULL); |
5092 } | 5092 } |
5093 | 5093 |
5094 | 5094 |
5095 #undef __ | 5095 #undef __ |
5096 | 5096 |
5097 } } // namespace v8::internal | 5097 } } // namespace v8::internal |
5098 | 5098 |
5099 #endif // V8_TARGET_ARCH_ARM64 | 5099 #endif // V8_TARGET_ARCH_ARM64 |
OLD | NEW |