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

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

Issue 1149903005: Vector ICs: Introduce Store and KeyedStore IC code stubs. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@vector-stores
Patch Set: REBASE. Created 5 years, 7 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 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 4851 matching lines...) Expand 10 before | Expand all | Expand 10 after
4862 4862
4863 __ bind(&miss); 4863 __ bind(&miss);
4864 KeyedLoadIC::GenerateMiss(masm); 4864 KeyedLoadIC::GenerateMiss(masm);
4865 4865
4866 __ bind(&load_smi_map); 4866 __ bind(&load_smi_map);
4867 __ LoadRoot(receiver_map, Heap::kHeapNumberMapRootIndex); 4867 __ LoadRoot(receiver_map, Heap::kHeapNumberMapRootIndex);
4868 __ Branch(&compare_map); 4868 __ Branch(&compare_map);
4869 } 4869 }
4870 4870
4871 4871
4872 void VectorStoreICTrampolineStub::Generate(MacroAssembler* masm) {
4873 EmitLoadTypeFeedbackVector(masm, VectorStoreICDescriptor::VectorRegister());
4874 VectorStoreICStub stub(isolate(), state());
4875 stub.GenerateForTrampoline(masm);
4876 }
4877
4878
4879 void VectorKeyedStoreICTrampolineStub::Generate(MacroAssembler* masm) {
4880 EmitLoadTypeFeedbackVector(masm, VectorStoreICDescriptor::VectorRegister());
4881 VectorKeyedStoreICStub stub(isolate(), state());
4882 stub.GenerateForTrampoline(masm);
4883 }
4884
4885
4886 void VectorStoreICStub::Generate(MacroAssembler* masm) {
4887 GenerateImpl(masm, false);
4888 }
4889
4890
4891 void VectorStoreICStub::GenerateForTrampoline(MacroAssembler* masm) {
4892 GenerateImpl(masm, true);
4893 }
4894
4895
4896 void VectorStoreICStub::GenerateImpl(MacroAssembler* masm, bool in_frame) {
4897 Label miss;
4898
4899 // TODO(mvstanton): Implement.
4900 __ bind(&miss);
4901 StoreIC::GenerateMiss(masm);
4902 }
4903
4904
4905 void VectorKeyedStoreICStub::Generate(MacroAssembler* masm) {
4906 GenerateImpl(masm, false);
4907 }
4908
4909
4910 void VectorKeyedStoreICStub::GenerateForTrampoline(MacroAssembler* masm) {
4911 GenerateImpl(masm, true);
4912 }
4913
4914
4915 void VectorKeyedStoreICStub::GenerateImpl(MacroAssembler* masm, bool in_frame) {
4916 Label miss;
4917
4918 // TODO(mvstanton): Implement.
4919 __ bind(&miss);
4920 KeyedStoreIC::GenerateMiss(masm);
4921 }
4922
4923
4872 void ProfileEntryHookStub::MaybeCallEntryHook(MacroAssembler* masm) { 4924 void ProfileEntryHookStub::MaybeCallEntryHook(MacroAssembler* masm) {
4873 if (masm->isolate()->function_entry_hook() != NULL) { 4925 if (masm->isolate()->function_entry_hook() != NULL) {
4874 ProfileEntryHookStub stub(masm->isolate()); 4926 ProfileEntryHookStub stub(masm->isolate());
4875 __ push(ra); 4927 __ push(ra);
4876 __ CallStub(&stub); 4928 __ CallStub(&stub);
4877 __ pop(ra); 4929 __ pop(ra);
4878 } 4930 }
4879 } 4931 }
4880 4932
4881 4933
(...skipping 672 matching lines...) Expand 10 before | Expand all | Expand 10 after
5554 kStackUnwindSpace, kInvalidStackOffset, 5606 kStackUnwindSpace, kInvalidStackOffset,
5555 MemOperand(fp, 6 * kPointerSize), NULL); 5607 MemOperand(fp, 6 * kPointerSize), NULL);
5556 } 5608 }
5557 5609
5558 5610
5559 #undef __ 5611 #undef __
5560 5612
5561 } } // namespace v8::internal 5613 } } // namespace v8::internal
5562 5614
5563 #endif // V8_TARGET_ARCH_MIPS64 5615 #endif // V8_TARGET_ARCH_MIPS64
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698