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

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

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: Rebasing 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/ic/x87/stub-cache-x87.cc ('k') | src/interface-descriptors.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 2014 the V8 project authors. All rights reserved. 1 // Copyright 2014 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 #ifndef V8_CALL_INTERFACE_DESCRIPTOR_H_ 5 #ifndef V8_CALL_INTERFACE_DESCRIPTOR_H_
6 #define V8_CALL_INTERFACE_DESCRIPTOR_H_ 6 #define V8_CALL_INTERFACE_DESCRIPTOR_H_
7 7
8 #include "src/assembler.h" 8 #include "src/assembler.h"
9 #include "src/macro-assembler.h" 9 #include "src/macro-assembler.h"
10 10
11 namespace v8 { 11 namespace v8 {
12 namespace internal { 12 namespace internal {
13 13
14 class PlatformInterfaceDescriptor; 14 class PlatformInterfaceDescriptor;
15 15
16 #define INTERFACE_DESCRIPTOR_LIST(V) \ 16 #define INTERFACE_DESCRIPTOR_LIST(V) \
17 V(Void) \ 17 V(Void) \
18 V(ContextOnly) \ 18 V(ContextOnly) \
19 V(OnStackWith1Args) \ 19 V(OnStackWith1Args) \
20 V(OnStackWith2Args) \ 20 V(OnStackWith2Args) \
21 V(OnStackWith3Args) \ 21 V(OnStackWith3Args) \
22 V(OnStackWith4Args) \ 22 V(OnStackWith4Args) \
23 V(OnStackWith5Args) \ 23 V(OnStackWith5Args) \
24 V(OnStackWith6Args) \ 24 V(OnStackWith6Args) \
25 V(OnStackWith7Args) \ 25 V(OnStackWith7Args) \
26 V(Load) \ 26 V(Load) \
27 V(LoadWithVector) \
27 V(LoadGlobal) \ 28 V(LoadGlobal) \
28 V(LoadGlobalWithVector) \ 29 V(LoadGlobalWithVector) \
29 V(Store) \ 30 V(Store) \
31 V(StoreWithVector) \
30 V(StoreTransition) \ 32 V(StoreTransition) \
31 V(VectorStoreTransition) \ 33 V(VectorStoreTransition) \
32 V(VectorStoreICTrampoline) \
33 V(VectorStoreIC) \
34 V(LoadWithVector) \
35 V(VarArgFunction) \ 34 V(VarArgFunction) \
36 V(FastNewClosure) \ 35 V(FastNewClosure) \
37 V(FastNewFunctionContext) \ 36 V(FastNewFunctionContext) \
38 V(FastNewObject) \ 37 V(FastNewObject) \
39 V(FastNewRestParameter) \ 38 V(FastNewRestParameter) \
40 V(FastNewSloppyArguments) \ 39 V(FastNewSloppyArguments) \
41 V(FastNewStrictArguments) \ 40 V(FastNewStrictArguments) \
42 V(TypeConversion) \ 41 V(TypeConversion) \
43 V(Typeof) \ 42 V(Typeof) \
44 V(FastCloneRegExp) \ 43 V(FastCloneRegExp) \
(...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after
194 return data()->platform_specific_descriptor(); 193 return data()->platform_specific_descriptor();
195 } 194 }
196 195
197 FunctionType* GetFunctionType() const { return data()->function_type(); } 196 FunctionType* GetFunctionType() const { return data()->function_type(); }
198 197
199 static const Register ContextRegister(); 198 static const Register ContextRegister();
200 199
201 const char* DebugName(Isolate* isolate) const; 200 const char* DebugName(Isolate* isolate) const;
202 201
203 static FunctionType* BuildDefaultFunctionType(Isolate* isolate, 202 static FunctionType* BuildDefaultFunctionType(Isolate* isolate,
204 int paramater_count); 203 int parameter_count);
205 204
206 protected: 205 protected:
207 const CallInterfaceDescriptorData* data() const { return data_; } 206 const CallInterfaceDescriptorData* data() const { return data_; }
208 207
209 virtual FunctionType* BuildCallInterfaceDescriptorFunctionType( 208 virtual FunctionType* BuildCallInterfaceDescriptorFunctionType(
210 Isolate* isolate, int register_param_count) { 209 Isolate* isolate, int register_param_count) {
211 return BuildDefaultFunctionType(isolate, register_param_count); 210 return BuildDefaultFunctionType(isolate, register_param_count);
212 } 211 }
213 212
214 virtual void InitializePlatformSpecific(CallInterfaceDescriptorData* data) { 213 virtual void InitializePlatformSpecific(CallInterfaceDescriptorData* data) {
(...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after
377 376
378 enum ParameterIndices { kSlotIndex }; 377 enum ParameterIndices { kSlotIndex };
379 378
380 static const Register SlotRegister() { 379 static const Register SlotRegister() {
381 return LoadDescriptor::SlotRegister(); 380 return LoadDescriptor::SlotRegister();
382 } 381 }
383 }; 382 };
384 383
385 class StoreDescriptor : public CallInterfaceDescriptor { 384 class StoreDescriptor : public CallInterfaceDescriptor {
386 public: 385 public:
387 DECLARE_DESCRIPTOR(StoreDescriptor, CallInterfaceDescriptor) 386 DECLARE_DESCRIPTOR_WITH_CUSTOM_FUNCTION_TYPE(StoreDescriptor,
387 CallInterfaceDescriptor)
388 388
389 enum ParameterIndices { 389 enum ParameterIndices { kReceiverIndex, kNameIndex, kValueIndex, kSlotIndex };
390 kReceiverIndex, 390
391 kNameIndex,
392 kValueIndex,
393 kParameterCount
394 };
395 static const Register ReceiverRegister(); 391 static const Register ReceiverRegister();
396 static const Register NameRegister(); 392 static const Register NameRegister();
397 static const Register ValueRegister(); 393 static const Register ValueRegister();
394 static const Register SlotRegister();
398 }; 395 };
399 396
400 397
401 class StoreTransitionDescriptor : public StoreDescriptor { 398 class StoreTransitionDescriptor : public StoreDescriptor {
402 public: 399 public:
403 DECLARE_DESCRIPTOR_WITH_CUSTOM_FUNCTION_TYPE(StoreTransitionDescriptor, 400 DECLARE_DESCRIPTOR_WITH_CUSTOM_FUNCTION_TYPE(StoreTransitionDescriptor,
404 StoreDescriptor) 401 StoreDescriptor)
405 402
406 // Extends StoreDescriptor with Map parameter. 403 // Extends StoreDescriptor with Map parameter.
407 enum ParameterIndices { 404 enum ParameterIndices {
(...skipping 25 matching lines...) Expand all
433 kVirtualSlotVectorIndex = 4, 430 kVirtualSlotVectorIndex = 4,
434 431
435 kVectorIndex = 5 432 kVectorIndex = 5
436 }; 433 };
437 434
438 static const Register MapRegister(); 435 static const Register MapRegister();
439 static const Register SlotRegister(); 436 static const Register SlotRegister();
440 static const Register VectorRegister(); 437 static const Register VectorRegister();
441 }; 438 };
442 439
443 440 class StoreWithVectorDescriptor : public StoreDescriptor {
444 class VectorStoreICTrampolineDescriptor : public StoreDescriptor {
445 public: 441 public:
446 DECLARE_DESCRIPTOR_WITH_CUSTOM_FUNCTION_TYPE( 442 DECLARE_DESCRIPTOR_WITH_CUSTOM_FUNCTION_TYPE(StoreWithVectorDescriptor,
447 VectorStoreICTrampolineDescriptor, StoreDescriptor) 443 StoreDescriptor)
448
449 enum ParameterIndices { kReceiverIndex, kNameIndex, kValueIndex, kSlotIndex };
450
451 static const Register SlotRegister();
452 };
453
454
455 class VectorStoreICDescriptor : public VectorStoreICTrampolineDescriptor {
456 public:
457 DECLARE_DESCRIPTOR_WITH_CUSTOM_FUNCTION_TYPE(
458 VectorStoreICDescriptor, VectorStoreICTrampolineDescriptor)
459 444
460 enum ParameterIndices { 445 enum ParameterIndices {
461 kReceiverIndex, 446 kReceiverIndex,
462 kNameIndex, 447 kNameIndex,
463 kValueIndex, 448 kValueIndex,
464 kSlotIndex, 449 kSlotIndex,
465 kVectorIndex 450 kVectorIndex
466 }; 451 };
467 452
468 static const Register VectorRegister(); 453 static const Register VectorRegister();
(...skipping 478 matching lines...) Expand 10 before | Expand all | Expand 10 after
947 } // namespace v8 932 } // namespace v8
948 933
949 934
950 #if V8_TARGET_ARCH_ARM64 935 #if V8_TARGET_ARCH_ARM64
951 #include "src/arm64/interface-descriptors-arm64.h" 936 #include "src/arm64/interface-descriptors-arm64.h"
952 #elif V8_TARGET_ARCH_ARM 937 #elif V8_TARGET_ARCH_ARM
953 #include "src/arm/interface-descriptors-arm.h" 938 #include "src/arm/interface-descriptors-arm.h"
954 #endif 939 #endif
955 940
956 #endif // V8_CALL_INTERFACE_DESCRIPTOR_H_ 941 #endif // V8_CALL_INTERFACE_DESCRIPTOR_H_
OLDNEW
« no previous file with comments | « src/ic/x87/stub-cache-x87.cc ('k') | src/interface-descriptors.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698