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

Side by Side Diff: src/interface-descriptors.cc

Issue 2147043002: Cleanup interface descriptors to reflect that vectors are part of stores. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@rename-store-ic
Patch Set: fix 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
« no previous file with comments | « src/interface-descriptors.h ('k') | src/mips/code-stubs-mips.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/interface-descriptors.h" 5 #include "src/interface-descriptors.h"
6 6
7 namespace v8 { 7 namespace v8 {
8 namespace internal { 8 namespace internal {
9 9
10 namespace { 10 namespace {
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after
123 return function; 123 return function;
124 } 124 }
125 125
126 void LoadGlobalWithVectorDescriptor::InitializePlatformSpecific( 126 void LoadGlobalWithVectorDescriptor::InitializePlatformSpecific(
127 CallInterfaceDescriptorData* data) { 127 CallInterfaceDescriptorData* data) {
128 Register registers[] = {LoadWithVectorDescriptor::SlotRegister(), 128 Register registers[] = {LoadWithVectorDescriptor::SlotRegister(),
129 LoadWithVectorDescriptor::VectorRegister()}; 129 LoadWithVectorDescriptor::VectorRegister()};
130 data->InitializePlatformSpecific(arraysize(registers), registers); 130 data->InitializePlatformSpecific(arraysize(registers), registers);
131 } 131 }
132 132
133 FunctionType* StoreDescriptor::BuildCallInterfaceDescriptorFunctionType(
134 Isolate* isolate, int paramater_count) {
Jakob Kummerow 2016/07/14 11:08:05 nit: s/mater/meter/. While you're at it, you can f
Igor Sheludko 2016/07/14 13:05:23 Done.
135 Zone* zone = isolate->interface_descriptor_zone();
136 FunctionType* function =
137 Type::Function(AnyTagged(zone), Type::Undefined(), 4, zone)->AsFunction();
138 function->InitParameter(0, AnyTagged(zone));
139 function->InitParameter(1, AnyTagged(zone));
140 function->InitParameter(2, AnyTagged(zone));
141 function->InitParameter(3, SmiType(zone));
142 return function;
143 }
144
133 void StoreDescriptor::InitializePlatformSpecific( 145 void StoreDescriptor::InitializePlatformSpecific(
134 CallInterfaceDescriptorData* data) { 146 CallInterfaceDescriptorData* data) {
135 Register registers[] = {ReceiverRegister(), NameRegister(), ValueRegister()}; 147 Register registers[] = {ReceiverRegister(), NameRegister(), ValueRegister(),
148 SlotRegister()};
136 data->InitializePlatformSpecific(arraysize(registers), registers); 149 data->InitializePlatformSpecific(arraysize(registers), registers);
137 } 150 }
138 151
139 152
140 void StoreTransitionDescriptor::InitializePlatformSpecific( 153 void StoreTransitionDescriptor::InitializePlatformSpecific(
141 CallInterfaceDescriptorData* data) { 154 CallInterfaceDescriptorData* data) {
142 Register registers[] = {ReceiverRegister(), NameRegister(), ValueRegister(), 155 Register registers[] = {ReceiverRegister(), NameRegister(), ValueRegister(),
143 MapRegister()}; 156 MapRegister()};
144 157
145 data->InitializePlatformSpecific(arraysize(registers), registers); 158 data->InitializePlatformSpecific(arraysize(registers), registers);
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
251 function->InitParameter(index++, AnyTagged(zone)); // name 264 function->InitParameter(index++, AnyTagged(zone)); // name
252 function->InitParameter(index++, AnyTagged(zone)); // value 265 function->InitParameter(index++, AnyTagged(zone)); // value
253 function->InitParameter(index++, AnyTagged(zone)); // map 266 function->InitParameter(index++, AnyTagged(zone)); // map
254 if (has_slot) { 267 if (has_slot) {
255 function->InitParameter(index++, SmiType(zone)); // slot 268 function->InitParameter(index++, SmiType(zone)); // slot
256 } 269 }
257 function->InitParameter(index++, AnyTagged(zone)); // vector 270 function->InitParameter(index++, AnyTagged(zone)); // vector
258 return function; 271 return function;
259 } 272 }
260 273
261 FunctionType* VectorStoreICDescriptor::BuildCallInterfaceDescriptorFunctionType( 274 FunctionType*
275 StoreWithVectorDescriptor::BuildCallInterfaceDescriptorFunctionType(
262 Isolate* isolate, int paramater_count) { 276 Isolate* isolate, int paramater_count) {
263 Zone* zone = isolate->interface_descriptor_zone(); 277 Zone* zone = isolate->interface_descriptor_zone();
264 FunctionType* function = 278 FunctionType* function =
265 Type::Function(AnyTagged(zone), Type::Undefined(), 5, zone)->AsFunction(); 279 Type::Function(AnyTagged(zone), Type::Undefined(), 5, zone)->AsFunction();
266 function->InitParameter(0, AnyTagged(zone)); 280 function->InitParameter(0, AnyTagged(zone));
267 function->InitParameter(1, AnyTagged(zone)); 281 function->InitParameter(1, AnyTagged(zone));
268 function->InitParameter(2, AnyTagged(zone)); 282 function->InitParameter(2, AnyTagged(zone));
269 function->InitParameter(3, SmiType(zone)); 283 function->InitParameter(3, SmiType(zone));
270 function->InitParameter(4, AnyTagged(zone)); 284 function->InitParameter(4, AnyTagged(zone));
271 return function; 285 return function;
272 } 286 }
273 287
274 288 void StoreWithVectorDescriptor::InitializePlatformSpecific(
275 void VectorStoreICDescriptor::InitializePlatformSpecific(
276 CallInterfaceDescriptorData* data) { 289 CallInterfaceDescriptorData* data) {
277 Register registers[] = {ReceiverRegister(), NameRegister(), ValueRegister(), 290 Register registers[] = {ReceiverRegister(), NameRegister(), ValueRegister(),
278 SlotRegister(), VectorRegister()}; 291 SlotRegister(), VectorRegister()};
279 data->InitializePlatformSpecific(arraysize(registers), registers); 292 data->InitializePlatformSpecific(arraysize(registers), registers);
280 } 293 }
281 294
282 FunctionType*
283 VectorStoreICTrampolineDescriptor::BuildCallInterfaceDescriptorFunctionType(
284 Isolate* isolate, int paramater_count) {
285 Zone* zone = isolate->interface_descriptor_zone();
286 FunctionType* function =
287 Type::Function(AnyTagged(zone), Type::Undefined(), 4, zone)->AsFunction();
288 function->InitParameter(0, AnyTagged(zone));
289 function->InitParameter(1, AnyTagged(zone));
290 function->InitParameter(2, AnyTagged(zone));
291 function->InitParameter(3, SmiType(zone));
292 return function;
293 }
294
295
296 void VectorStoreICTrampolineDescriptor::InitializePlatformSpecific(
297 CallInterfaceDescriptorData* data) {
298 Register registers[] = {ReceiverRegister(), NameRegister(), ValueRegister(),
299 SlotRegister()};
300 data->InitializePlatformSpecific(arraysize(registers), registers);
301 }
302
303 const Register ApiGetterDescriptor::ReceiverRegister() { 295 const Register ApiGetterDescriptor::ReceiverRegister() {
304 return LoadDescriptor::ReceiverRegister(); 296 return LoadDescriptor::ReceiverRegister();
305 } 297 }
306 298
307 void ApiGetterDescriptor::InitializePlatformSpecific( 299 void ApiGetterDescriptor::InitializePlatformSpecific(
308 CallInterfaceDescriptorData* data) { 300 CallInterfaceDescriptorData* data) {
309 Register registers[] = {ReceiverRegister(), HolderRegister(), 301 Register registers[] = {ReceiverRegister(), HolderRegister(),
310 CallbackRegister()}; 302 CallbackRegister()};
311 data->InitializePlatformSpecific(arraysize(registers), registers); 303 data->InitializePlatformSpecific(arraysize(registers), registers);
312 } 304 }
(...skipping 270 matching lines...) Expand 10 before | Expand all | Expand 10 after
583 Type::Function(AnyTagged(zone), Type::Undefined(), 4, zone)->AsFunction(); 575 Type::Function(AnyTagged(zone), Type::Undefined(), 4, zone)->AsFunction();
584 function->InitParameter(kAccumulatorParameter, AnyTagged(zone)); 576 function->InitParameter(kAccumulatorParameter, AnyTagged(zone));
585 function->InitParameter(kBytecodeOffsetParameter, UntaggedIntegral32(zone)); 577 function->InitParameter(kBytecodeOffsetParameter, UntaggedIntegral32(zone));
586 function->InitParameter(kBytecodeArrayParameter, AnyTagged(zone)); 578 function->InitParameter(kBytecodeArrayParameter, AnyTagged(zone));
587 function->InitParameter(kDispatchTableParameter, AnyTagged(zone)); 579 function->InitParameter(kDispatchTableParameter, AnyTagged(zone));
588 return function; 580 return function;
589 } 581 }
590 582
591 } // namespace internal 583 } // namespace internal
592 } // namespace v8 584 } // namespace v8
OLDNEW
« no previous file with comments | « src/interface-descriptors.h ('k') | src/mips/code-stubs-mips.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698