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

Side by Side Diff: src/interface-descriptors.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 #include "src/interface-descriptors.h" 7 #include "src/interface-descriptors.h"
8 8
9 namespace v8 { 9 namespace v8 {
10 namespace internal { 10 namespace internal {
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after
114 Register registers[] = {ContextRegister(), ReceiverRegister(), NameRegister(), 114 Register registers[] = {ContextRegister(), ReceiverRegister(), NameRegister(),
115 SlotRegister(), VectorRegister()}; 115 SlotRegister(), VectorRegister()};
116 Representation representations[] = { 116 Representation representations[] = {
117 Representation::Tagged(), Representation::Tagged(), 117 Representation::Tagged(), Representation::Tagged(),
118 Representation::Tagged(), Representation::Smi(), 118 Representation::Tagged(), Representation::Smi(),
119 Representation::Tagged()}; 119 Representation::Tagged()};
120 data->Initialize(arraysize(registers), registers, representations); 120 data->Initialize(arraysize(registers), registers, representations);
121 } 121 }
122 122
123 123
124 void VectorStoreICDescriptor::Initialize(CallInterfaceDescriptorData* data) {
125 Register registers[] = {ContextRegister(), ReceiverRegister(),
126 NameRegister(), ValueRegister(),
127 SlotRegister(), VectorRegister()};
128 Representation representations[] = {
129 Representation::Tagged(), Representation::Tagged(),
130 Representation::Tagged(), Representation::Tagged(),
131 Representation::Smi(), Representation::Tagged()};
132 data->Initialize(arraysize(registers), registers, representations);
133 }
134
135
136 void VectorStoreICTrampolineDescriptor::Initialize(
137 CallInterfaceDescriptorData* data) {
138 Register registers[] = {ContextRegister(), ReceiverRegister(), NameRegister(),
139 ValueRegister(), SlotRegister()};
140 Representation representations[] = {
141 Representation::Tagged(), Representation::Tagged(),
142 Representation::Tagged(), Representation::Tagged(),
143 Representation::Smi()};
144 data->Initialize(arraysize(registers), registers, representations);
145 }
146
147
124 void ApiGetterDescriptor::Initialize(CallInterfaceDescriptorData* data) { 148 void ApiGetterDescriptor::Initialize(CallInterfaceDescriptorData* data) {
125 Register registers[] = {ContextRegister(), function_address()}; 149 Register registers[] = {ContextRegister(), function_address()};
126 Representation representations[] = {Representation::Tagged(), 150 Representation representations[] = {Representation::Tagged(),
127 Representation::External()}; 151 Representation::External()};
128 data->Initialize(arraysize(registers), registers, representations); 152 data->Initialize(arraysize(registers), registers, representations);
129 } 153 }
130 154
131 155
132 void ArgumentsAccessReadDescriptor::Initialize( 156 void ArgumentsAccessReadDescriptor::Initialize(
133 CallInterfaceDescriptorData* data) { 157 CallInterfaceDescriptorData* data) {
134 Register registers[] = {ContextRegister(), index(), parameter_count()}; 158 Register registers[] = {ContextRegister(), index(), parameter_count()};
135 data->Initialize(arraysize(registers), registers, NULL); 159 data->Initialize(arraysize(registers), registers, NULL);
136 } 160 }
137 161
138 162
139 void ContextOnlyDescriptor::Initialize(CallInterfaceDescriptorData* data) { 163 void ContextOnlyDescriptor::Initialize(CallInterfaceDescriptorData* data) {
140 Register registers[] = {ContextRegister()}; 164 Register registers[] = {ContextRegister()};
141 data->Initialize(arraysize(registers), registers, NULL); 165 data->Initialize(arraysize(registers), registers, NULL);
142 } 166 }
143 167
144 168
145 void GrowArrayElementsDescriptor::Initialize( 169 void GrowArrayElementsDescriptor::Initialize(
146 CallInterfaceDescriptorData* data) { 170 CallInterfaceDescriptorData* data) {
147 Register registers[] = {ContextRegister(), ObjectRegister(), KeyRegister()}; 171 Register registers[] = {ContextRegister(), ObjectRegister(), KeyRegister()};
148 data->Initialize(arraysize(registers), registers, NULL); 172 data->Initialize(arraysize(registers), registers, NULL);
149 } 173 }
150 } 174 }
151 } // namespace v8::internal 175 } // namespace v8::internal
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698