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

Side by Side Diff: src/builtins/builtins-handler.cc

Issue 2444353002: [stubs] Port KeyedStoreIC_Megamorphic stub to Turbofan (Closed)
Patch Set: rebased Created 4 years, 1 month 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 2016 the V8 project authors. All rights reserved. 1 // Copyright 2016 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/builtins/builtins-utils.h"
5 #include "src/builtins/builtins.h" 6 #include "src/builtins/builtins.h"
6 #include "src/builtins/builtins-utils.h"
7 #include "src/ic/handler-compiler.h" 7 #include "src/ic/handler-compiler.h"
8 #include "src/ic/ic.h" 8 #include "src/ic/ic.h"
9 #include "src/ic/keyed-store-generic.h"
9 10
10 namespace v8 { 11 namespace v8 {
11 namespace internal { 12 namespace internal {
12 13
13 void Builtins::Generate_KeyedLoadIC_Megamorphic_TF( 14 void Builtins::Generate_KeyedLoadIC_Megamorphic_TF(
14 CodeStubAssembler* assembler) { 15 CodeStubAssembler* assembler) {
15 typedef compiler::Node Node; 16 typedef compiler::Node Node;
16 typedef LoadWithVectorDescriptor Descriptor; 17 typedef LoadWithVectorDescriptor Descriptor;
17 18
18 Node* receiver = assembler->Parameter(Descriptor::kReceiver); 19 Node* receiver = assembler->Parameter(Descriptor::kReceiver);
(...skipping 14 matching lines...) Expand all
33 } 34 }
34 35
35 void Builtins::Generate_KeyedStoreIC_Megamorphic(MacroAssembler* masm) { 36 void Builtins::Generate_KeyedStoreIC_Megamorphic(MacroAssembler* masm) {
36 KeyedStoreIC::GenerateMegamorphic(masm, SLOPPY); 37 KeyedStoreIC::GenerateMegamorphic(masm, SLOPPY);
37 } 38 }
38 39
39 void Builtins::Generate_KeyedStoreIC_Megamorphic_Strict(MacroAssembler* masm) { 40 void Builtins::Generate_KeyedStoreIC_Megamorphic_Strict(MacroAssembler* masm) {
40 KeyedStoreIC::GenerateMegamorphic(masm, STRICT); 41 KeyedStoreIC::GenerateMegamorphic(masm, STRICT);
41 } 42 }
42 43
44 void KeyedStoreICMegamorphic(CodeStubAssembler* assembler, LanguageMode mode) {
45 typedef compiler::Node Node;
46 typedef StoreWithVectorDescriptor Descriptor;
47
48 Node* receiver = assembler->Parameter(Descriptor::kReceiver);
49 Node* name = assembler->Parameter(Descriptor::kName);
50 Node* value = assembler->Parameter(Descriptor::kValue);
51 Node* slot = assembler->Parameter(Descriptor::kSlot);
52 Node* vector = assembler->Parameter(Descriptor::kVector);
53 Node* context = assembler->Parameter(Descriptor::kContext);
54
55 CodeStubAssembler::StoreICParameters p(context, receiver, name, value, slot,
56 vector);
57 KeyedStoreGenericGenerator::Generate(assembler, &p, mode);
58 }
59
60 void Builtins::Generate_KeyedStoreIC_Megamorphic_TF(
61 CodeStubAssembler* assembler) {
62 KeyedStoreICMegamorphic(assembler, SLOPPY);
63 }
64
65 void Builtins::Generate_KeyedStoreIC_Megamorphic_Strict_TF(
66 CodeStubAssembler* assembler) {
67 KeyedStoreICMegamorphic(assembler, STRICT);
68 }
69
43 void Builtins::Generate_KeyedStoreIC_Miss(MacroAssembler* masm) { 70 void Builtins::Generate_KeyedStoreIC_Miss(MacroAssembler* masm) {
44 KeyedStoreIC::GenerateMiss(masm); 71 KeyedStoreIC::GenerateMiss(masm);
45 } 72 }
46 73
47 void Builtins::Generate_KeyedStoreIC_Slow(MacroAssembler* masm) { 74 void Builtins::Generate_KeyedStoreIC_Slow(MacroAssembler* masm) {
48 KeyedStoreIC::GenerateSlow(masm); 75 KeyedStoreIC::GenerateSlow(masm);
49 } 76 }
50 77
51 void Builtins::Generate_LoadGlobalIC_Miss(CodeStubAssembler* assembler) { 78 void Builtins::Generate_LoadGlobalIC_Miss(CodeStubAssembler* assembler) {
52 typedef compiler::Node Node; 79 typedef compiler::Node Node;
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
150 void Builtins::Generate_StoreIC_SlowSloppy(CodeStubAssembler* assembler) { 177 void Builtins::Generate_StoreIC_SlowSloppy(CodeStubAssembler* assembler) {
151 Generate_StoreIC_Slow(assembler, SLOPPY); 178 Generate_StoreIC_Slow(assembler, SLOPPY);
152 } 179 }
153 180
154 void Builtins::Generate_StoreIC_SlowStrict(CodeStubAssembler* assembler) { 181 void Builtins::Generate_StoreIC_SlowStrict(CodeStubAssembler* assembler) {
155 Generate_StoreIC_Slow(assembler, STRICT); 182 Generate_StoreIC_Slow(assembler, STRICT);
156 } 183 }
157 184
158 } // namespace internal 185 } // namespace internal
159 } // namespace v8 186 } // namespace v8
OLDNEW
« no previous file with comments | « src/builtins/builtins.h ('k') | src/code-factory.cc » ('j') | src/ic/keyed-store-generic.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698