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

Side by Side Diff: src/mips64/code-stubs-mips64.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/mips/code-stubs-mips.cc ('k') | src/ppc/code-stubs-ppc.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 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 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_MIPS64 7 #if V8_TARGET_ARCH_MIPS64
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 3435 matching lines...) Expand 10 before | Expand all | Expand 10 after
3446 StringHelper::GenerateCopyCharacters( 3446 StringHelper::GenerateCopyCharacters(
3447 masm, a1, a5, a2, a3, String::TWO_BYTE_ENCODING); 3447 masm, a1, a5, a2, a3, String::TWO_BYTE_ENCODING);
3448 3448
3449 __ bind(&return_v0); 3449 __ bind(&return_v0);
3450 Counters* counters = isolate()->counters(); 3450 Counters* counters = isolate()->counters();
3451 __ IncrementCounter(counters->sub_string_native(), 1, a3, a4); 3451 __ IncrementCounter(counters->sub_string_native(), 1, a3, a4);
3452 __ DropAndRet(3); 3452 __ DropAndRet(3);
3453 3453
3454 // Just jump to runtime to create the sub string. 3454 // Just jump to runtime to create the sub string.
3455 __ bind(&runtime); 3455 __ bind(&runtime);
3456 __ TailCallRuntime(Runtime::kSubString, 3, 1); 3456 __ TailCallRuntime(Runtime::kSubStringRT, 3, 1);
3457 3457
3458 __ bind(&single_char); 3458 __ bind(&single_char);
3459 // v0: original string 3459 // v0: original string
3460 // a1: instance type 3460 // a1: instance type
3461 // a2: length 3461 // a2: length
3462 // a3: from index (untagged) 3462 // a3: from index (untagged)
3463 StringCharAtGenerator generator(v0, a3, a2, v0, &runtime, &runtime, &runtime, 3463 StringCharAtGenerator generator(v0, a3, a2, v0, &runtime, &runtime, &runtime,
3464 STRING_INDEX_IS_NUMBER, RECEIVER_IS_STRING); 3464 STRING_INDEX_IS_NUMBER, RECEIVER_IS_STRING);
3465 generator.GenerateFast(masm); 3465 generator.GenerateFast(masm);
3466 __ DropAndRet(3); 3466 __ DropAndRet(3);
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after
3639 3639
3640 // Check that both objects are sequential one_byte strings. 3640 // Check that both objects are sequential one_byte strings.
3641 __ JumpIfNotBothSequentialOneByteStrings(a1, a0, a2, a3, &runtime); 3641 __ JumpIfNotBothSequentialOneByteStrings(a1, a0, a2, a3, &runtime);
3642 3642
3643 // Compare flat one_byte strings natively. Remove arguments from stack first. 3643 // Compare flat one_byte strings natively. Remove arguments from stack first.
3644 __ IncrementCounter(counters->string_compare_native(), 1, a2, a3); 3644 __ IncrementCounter(counters->string_compare_native(), 1, a2, a3);
3645 __ Daddu(sp, sp, Operand(2 * kPointerSize)); 3645 __ Daddu(sp, sp, Operand(2 * kPointerSize));
3646 StringHelper::GenerateCompareFlatOneByteStrings(masm, a1, a0, a2, a3, a4, a5); 3646 StringHelper::GenerateCompareFlatOneByteStrings(masm, a1, a0, a2, a3, a4, a5);
3647 3647
3648 __ bind(&runtime); 3648 __ bind(&runtime);
3649 __ TailCallRuntime(Runtime::kStringCompare, 2, 1); 3649 __ TailCallRuntime(Runtime::kStringCompareRT, 2, 1);
3650 } 3650 }
3651 3651
3652 3652
3653 void BinaryOpICWithAllocationSiteStub::Generate(MacroAssembler* masm) { 3653 void BinaryOpICWithAllocationSiteStub::Generate(MacroAssembler* masm) {
3654 // ----------- S t a t e ------------- 3654 // ----------- S t a t e -------------
3655 // -- a1 : left 3655 // -- a1 : left
3656 // -- a0 : right 3656 // -- a0 : right
3657 // -- ra : return address 3657 // -- ra : return address
3658 // ----------------------------------- 3658 // -----------------------------------
3659 3659
(...skipping 289 matching lines...) Expand 10 before | Expand all | Expand 10 after
3949 StringHelper::GenerateCompareFlatOneByteStrings(masm, left, right, tmp1, 3949 StringHelper::GenerateCompareFlatOneByteStrings(masm, left, right, tmp1,
3950 tmp2, tmp3, tmp4); 3950 tmp2, tmp3, tmp4);
3951 } 3951 }
3952 3952
3953 // Handle more complex cases in runtime. 3953 // Handle more complex cases in runtime.
3954 __ bind(&runtime); 3954 __ bind(&runtime);
3955 __ Push(left, right); 3955 __ Push(left, right);
3956 if (equality) { 3956 if (equality) {
3957 __ TailCallRuntime(Runtime::kStringEquals, 2, 1); 3957 __ TailCallRuntime(Runtime::kStringEquals, 2, 1);
3958 } else { 3958 } else {
3959 __ TailCallRuntime(Runtime::kStringCompare, 2, 1); 3959 __ TailCallRuntime(Runtime::kStringCompareRT, 2, 1);
3960 } 3960 }
3961 3961
3962 __ bind(&miss); 3962 __ bind(&miss);
3963 GenerateMiss(masm); 3963 GenerateMiss(masm);
3964 } 3964 }
3965 3965
3966 3966
3967 void CompareICStub::GenerateObjects(MacroAssembler* masm) { 3967 void CompareICStub::GenerateObjects(MacroAssembler* masm) {
3968 DCHECK(state() == CompareICState::OBJECT); 3968 DCHECK(state() == CompareICState::OBJECT);
3969 Label miss; 3969 Label miss;
(...skipping 1338 matching lines...) Expand 10 before | Expand all | Expand 10 after
5308 kStackUnwindSpace, kInvalidStackOffset, 5308 kStackUnwindSpace, kInvalidStackOffset,
5309 MemOperand(fp, 6 * kPointerSize), NULL); 5309 MemOperand(fp, 6 * kPointerSize), NULL);
5310 } 5310 }
5311 5311
5312 5312
5313 #undef __ 5313 #undef __
5314 5314
5315 } } // namespace v8::internal 5315 } } // namespace v8::internal
5316 5316
5317 #endif // V8_TARGET_ARCH_MIPS64 5317 #endif // V8_TARGET_ARCH_MIPS64
OLDNEW
« no previous file with comments | « src/mips/code-stubs-mips.cc ('k') | src/ppc/code-stubs-ppc.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698