Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(15)

Side by Side Diff: src/arm64/code-stubs-arm64.cc

Issue 984963002: Intrinsics in the INLINE_FUNCTION_LIST are now avaliable without '_', too. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Platform ports. Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/arm/code-stubs-arm.cc ('k') | src/code-stubs.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 3608 matching lines...) Expand 10 before | Expand all | Expand 10 after
3619 StringHelper::GenerateCompareFlatOneByteStrings(masm, lhs, rhs, x10, x11, 3619 StringHelper::GenerateCompareFlatOneByteStrings(masm, lhs, rhs, x10, x11,
3620 x12, x13); 3620 x12, x13);
3621 } 3621 }
3622 3622
3623 // Handle more complex cases in runtime. 3623 // Handle more complex cases in runtime.
3624 __ Bind(&runtime); 3624 __ Bind(&runtime);
3625 __ Push(lhs, rhs); 3625 __ Push(lhs, rhs);
3626 if (equality) { 3626 if (equality) {
3627 __ TailCallRuntime(Runtime::kStringEquals, 2, 1); 3627 __ TailCallRuntime(Runtime::kStringEquals, 2, 1);
3628 } else { 3628 } else {
3629 __ TailCallRuntime(Runtime::kStringCompare, 2, 1); 3629 __ TailCallRuntime(Runtime::kStringCompareRT, 2, 1);
3630 } 3630 }
3631 3631
3632 __ Bind(&miss); 3632 __ Bind(&miss);
3633 GenerateMiss(masm); 3633 GenerateMiss(masm);
3634 } 3634 }
3635 3635
3636 3636
3637 void CompareICStub::GenerateObjects(MacroAssembler* masm) { 3637 void CompareICStub::GenerateObjects(MacroAssembler* masm) {
3638 DCHECK(state() == CompareICState::OBJECT); 3638 DCHECK(state() == CompareICState::OBJECT);
3639 ASM_LOCATION("CompareICStub[Objects]"); 3639 ASM_LOCATION("CompareICStub[Objects]");
(...skipping 311 matching lines...) Expand 10 before | Expand all | Expand 10 after
3951 __ Add(result_length, result_length, result_length); 3951 __ Add(result_length, result_length, result_length);
3952 __ CopyBytes(result_char0, substring_char0, result_length, x3, kCopyLong); 3952 __ CopyBytes(result_char0, substring_char0, result_length, x3, kCopyLong);
3953 3953
3954 __ Bind(&return_x0); 3954 __ Bind(&return_x0);
3955 Counters* counters = isolate()->counters(); 3955 Counters* counters = isolate()->counters();
3956 __ IncrementCounter(counters->sub_string_native(), 1, x3, x4); 3956 __ IncrementCounter(counters->sub_string_native(), 1, x3, x4);
3957 __ Drop(3); 3957 __ Drop(3);
3958 __ Ret(); 3958 __ Ret();
3959 3959
3960 __ Bind(&runtime); 3960 __ Bind(&runtime);
3961 __ TailCallRuntime(Runtime::kSubString, 3, 1); 3961 __ TailCallRuntime(Runtime::kSubStringRT, 3, 1);
3962 3962
3963 __ bind(&single_char); 3963 __ bind(&single_char);
3964 // x1: result_length 3964 // x1: result_length
3965 // x10: input_string 3965 // x10: input_string
3966 // x12: input_type 3966 // x12: input_type
3967 // x15: from (untagged) 3967 // x15: from (untagged)
3968 __ SmiTag(from); 3968 __ SmiTag(from);
3969 StringCharAtGenerator generator(input_string, from, result_length, x0, 3969 StringCharAtGenerator generator(input_string, from, result_length, x0,
3970 &runtime, &runtime, &runtime, 3970 &runtime, &runtime, &runtime,
3971 STRING_INDEX_IS_NUMBER, RECEIVER_IS_STRING); 3971 STRING_INDEX_IS_NUMBER, RECEIVER_IS_STRING);
(...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after
4159 4159
4160 __ Bind(&runtime); 4160 __ Bind(&runtime);
4161 4161
4162 // Push arguments back on to the stack. 4162 // Push arguments back on to the stack.
4163 // sp[0] = right string 4163 // sp[0] = right string
4164 // sp[8] = left string. 4164 // sp[8] = left string.
4165 __ Push(left, right); 4165 __ Push(left, right);
4166 4166
4167 // Call the runtime. 4167 // Call the runtime.
4168 // Returns -1 (less), 0 (equal), or 1 (greater) tagged as a small integer. 4168 // Returns -1 (less), 0 (equal), or 1 (greater) tagged as a small integer.
4169 __ TailCallRuntime(Runtime::kStringCompare, 2, 1); 4169 __ TailCallRuntime(Runtime::kStringCompareRT, 2, 1);
4170 } 4170 }
4171 4171
4172 4172
4173 void BinaryOpICWithAllocationSiteStub::Generate(MacroAssembler* masm) { 4173 void BinaryOpICWithAllocationSiteStub::Generate(MacroAssembler* masm) {
4174 // ----------- S t a t e ------------- 4174 // ----------- S t a t e -------------
4175 // -- x1 : left 4175 // -- x1 : left
4176 // -- x0 : right 4176 // -- x0 : right
4177 // -- lr : return address 4177 // -- lr : return address
4178 // ----------------------------------- 4178 // -----------------------------------
4179 4179
(...skipping 1334 matching lines...) Expand 10 before | Expand all | Expand 10 after
5514 kStackUnwindSpace, NULL, spill_offset, 5514 kStackUnwindSpace, NULL, spill_offset,
5515 MemOperand(fp, 6 * kPointerSize), NULL); 5515 MemOperand(fp, 6 * kPointerSize), NULL);
5516 } 5516 }
5517 5517
5518 5518
5519 #undef __ 5519 #undef __
5520 5520
5521 } } // namespace v8::internal 5521 } } // namespace v8::internal
5522 5522
5523 #endif // V8_TARGET_ARCH_ARM64 5523 #endif // V8_TARGET_ARCH_ARM64
OLDNEW
« no previous file with comments | « src/arm/code-stubs-arm.cc ('k') | src/code-stubs.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698