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

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

Issue 2147013002: [stubs] Removed "Vector" ornamentation from StoreIC stubs names. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 4 years, 5 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
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 #if V8_TARGET_ARCH_ARM64 5 #if V8_TARGET_ARCH_ARM64
6 6
7 #include "src/code-stubs.h" 7 #include "src/code-stubs.h"
8 #include "src/api-arguments.h" 8 #include "src/api-arguments.h"
9 #include "src/bootstrapper.h" 9 #include "src/bootstrapper.h"
10 #include "src/codegen.h" 10 #include "src/codegen.h"
(...skipping 3525 matching lines...) Expand 10 before | Expand all | Expand 10 after
3536 HandleArrayCases(masm, feedback, receiver_map, scratch1, x7, false, &miss); 3536 HandleArrayCases(masm, feedback, receiver_map, scratch1, x7, false, &miss);
3537 3537
3538 __ Bind(&miss); 3538 __ Bind(&miss);
3539 KeyedLoadIC::GenerateMiss(masm); 3539 KeyedLoadIC::GenerateMiss(masm);
3540 3540
3541 __ Bind(&load_smi_map); 3541 __ Bind(&load_smi_map);
3542 __ LoadRoot(receiver_map, Heap::kHeapNumberMapRootIndex); 3542 __ LoadRoot(receiver_map, Heap::kHeapNumberMapRootIndex);
3543 __ jmp(&compare_map); 3543 __ jmp(&compare_map);
3544 } 3544 }
3545 3545
3546 3546 void StoreICTrampolineStub::Generate(MacroAssembler* masm) {
3547 void VectorStoreICTrampolineStub::Generate(MacroAssembler* masm) {
3548 __ EmitLoadTypeFeedbackVector(VectorStoreICDescriptor::VectorRegister()); 3547 __ EmitLoadTypeFeedbackVector(VectorStoreICDescriptor::VectorRegister());
3549 VectorStoreICStub stub(isolate(), state()); 3548 StoreICStub stub(isolate(), state());
3550 stub.GenerateForTrampoline(masm); 3549 stub.GenerateForTrampoline(masm);
3551 } 3550 }
3552 3551
3553 3552 void KeyedStoreICTrampolineStub::Generate(MacroAssembler* masm) {
3554 void VectorKeyedStoreICTrampolineStub::Generate(MacroAssembler* masm) {
3555 __ EmitLoadTypeFeedbackVector(VectorStoreICDescriptor::VectorRegister()); 3553 __ EmitLoadTypeFeedbackVector(VectorStoreICDescriptor::VectorRegister());
3556 VectorKeyedStoreICStub stub(isolate(), state()); 3554 KeyedStoreICStub stub(isolate(), state());
3557 stub.GenerateForTrampoline(masm); 3555 stub.GenerateForTrampoline(masm);
3558 } 3556 }
3559 3557
3558 void StoreICStub::Generate(MacroAssembler* masm) { GenerateImpl(masm, false); }
3560 3559
3561 void VectorStoreICStub::Generate(MacroAssembler* masm) { 3560 void StoreICStub::GenerateForTrampoline(MacroAssembler* masm) {
3562 GenerateImpl(masm, false);
3563 }
3564
3565
3566 void VectorStoreICStub::GenerateForTrampoline(MacroAssembler* masm) {
3567 GenerateImpl(masm, true); 3561 GenerateImpl(masm, true);
3568 } 3562 }
3569 3563
3570 3564 void StoreICStub::GenerateImpl(MacroAssembler* masm, bool in_frame) {
3571 void VectorStoreICStub::GenerateImpl(MacroAssembler* masm, bool in_frame) {
3572 Register receiver = VectorStoreICDescriptor::ReceiverRegister(); // x1 3565 Register receiver = VectorStoreICDescriptor::ReceiverRegister(); // x1
3573 Register key = VectorStoreICDescriptor::NameRegister(); // x2 3566 Register key = VectorStoreICDescriptor::NameRegister(); // x2
3574 Register vector = VectorStoreICDescriptor::VectorRegister(); // x3 3567 Register vector = VectorStoreICDescriptor::VectorRegister(); // x3
3575 Register slot = VectorStoreICDescriptor::SlotRegister(); // x4 3568 Register slot = VectorStoreICDescriptor::SlotRegister(); // x4
3576 DCHECK(VectorStoreICDescriptor::ValueRegister().is(x0)); // x0 3569 DCHECK(VectorStoreICDescriptor::ValueRegister().is(x0)); // x0
3577 Register feedback = x5; 3570 Register feedback = x5;
3578 Register receiver_map = x6; 3571 Register receiver_map = x6;
3579 Register scratch1 = x7; 3572 Register scratch1 = x7;
3580 3573
3581 __ Add(feedback, vector, Operand::UntagSmiAndScale(slot, kPointerSizeLog2)); 3574 __ Add(feedback, vector, Operand::UntagSmiAndScale(slot, kPointerSizeLog2));
(...skipping 19 matching lines...) Expand all
3601 masm, receiver, key, feedback, receiver_map, scratch1, x8); 3594 masm, receiver, key, feedback, receiver_map, scratch1, x8);
3602 3595
3603 __ Bind(&miss); 3596 __ Bind(&miss);
3604 StoreIC::GenerateMiss(masm); 3597 StoreIC::GenerateMiss(masm);
3605 3598
3606 __ Bind(&load_smi_map); 3599 __ Bind(&load_smi_map);
3607 __ LoadRoot(receiver_map, Heap::kHeapNumberMapRootIndex); 3600 __ LoadRoot(receiver_map, Heap::kHeapNumberMapRootIndex);
3608 __ jmp(&compare_map); 3601 __ jmp(&compare_map);
3609 } 3602 }
3610 3603
3611 3604 void KeyedStoreICStub::Generate(MacroAssembler* masm) {
3612 void VectorKeyedStoreICStub::Generate(MacroAssembler* masm) {
3613 GenerateImpl(masm, false); 3605 GenerateImpl(masm, false);
3614 } 3606 }
3615 3607
3616 3608 void KeyedStoreICStub::GenerateForTrampoline(MacroAssembler* masm) {
3617 void VectorKeyedStoreICStub::GenerateForTrampoline(MacroAssembler* masm) {
3618 GenerateImpl(masm, true); 3609 GenerateImpl(masm, true);
3619 } 3610 }
3620 3611
3621 3612
3622 static void HandlePolymorphicStoreCase(MacroAssembler* masm, Register feedback, 3613 static void HandlePolymorphicStoreCase(MacroAssembler* masm, Register feedback,
3623 Register receiver_map, Register scratch1, 3614 Register receiver_map, Register scratch1,
3624 Register scratch2, Label* miss) { 3615 Register scratch2, Label* miss) {
3625 // feedback initially contains the feedback array 3616 // feedback initially contains the feedback array
3626 Label next_loop, prepare_next; 3617 Label next_loop, prepare_next;
3627 Label start_polymorphic; 3618 Label start_polymorphic;
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
3676 3667
3677 __ Bind(&prepare_next); 3668 __ Bind(&prepare_next);
3678 __ Add(pointer_reg, pointer_reg, kPointerSize * 3); 3669 __ Add(pointer_reg, pointer_reg, kPointerSize * 3);
3679 __ Cmp(pointer_reg, too_far); 3670 __ Cmp(pointer_reg, too_far);
3680 __ B(lt, &next_loop); 3671 __ B(lt, &next_loop);
3681 3672
3682 // We exhausted our array of map handler pairs. 3673 // We exhausted our array of map handler pairs.
3683 __ jmp(miss); 3674 __ jmp(miss);
3684 } 3675 }
3685 3676
3686 3677 void KeyedStoreICStub::GenerateImpl(MacroAssembler* masm, bool in_frame) {
3687 void VectorKeyedStoreICStub::GenerateImpl(MacroAssembler* masm, bool in_frame) {
3688 Register receiver = VectorStoreICDescriptor::ReceiverRegister(); // x1 3678 Register receiver = VectorStoreICDescriptor::ReceiverRegister(); // x1
3689 Register key = VectorStoreICDescriptor::NameRegister(); // x2 3679 Register key = VectorStoreICDescriptor::NameRegister(); // x2
3690 Register vector = VectorStoreICDescriptor::VectorRegister(); // x3 3680 Register vector = VectorStoreICDescriptor::VectorRegister(); // x3
3691 Register slot = VectorStoreICDescriptor::SlotRegister(); // x4 3681 Register slot = VectorStoreICDescriptor::SlotRegister(); // x4
3692 DCHECK(VectorStoreICDescriptor::ValueRegister().is(x0)); // x0 3682 DCHECK(VectorStoreICDescriptor::ValueRegister().is(x0)); // x0
3693 Register feedback = x5; 3683 Register feedback = x5;
3694 Register receiver_map = x6; 3684 Register receiver_map = x6;
3695 Register scratch1 = x7; 3685 Register scratch1 = x7;
3696 3686
3697 __ Add(feedback, vector, Operand::UntagSmiAndScale(slot, kPointerSizeLog2)); 3687 __ Add(feedback, vector, Operand::UntagSmiAndScale(slot, kPointerSizeLog2));
(...skipping 1892 matching lines...) Expand 10 before | Expand all | Expand 10 after
5590 kStackUnwindSpace, NULL, spill_offset, 5580 kStackUnwindSpace, NULL, spill_offset,
5591 return_value_operand, NULL); 5581 return_value_operand, NULL);
5592 } 5582 }
5593 5583
5594 #undef __ 5584 #undef __
5595 5585
5596 } // namespace internal 5586 } // namespace internal
5597 } // namespace v8 5587 } // namespace v8
5598 5588
5599 #endif // V8_TARGET_ARCH_ARM64 5589 #endif // V8_TARGET_ARCH_ARM64
OLDNEW
« no previous file with comments | « src/arm/code-stubs-arm.cc ('k') | src/code-factory.cc » ('j') | src/code-stubs.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698