OLD | NEW |
| (Empty) |
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 | |
3 // found in the LICENSE file. | |
4 | |
5 #ifndef V8_IC_CONVENTIONS_H_ | |
6 #define V8_IC_CONVENTIONS_H_ | |
7 | |
8 namespace v8 { | |
9 namespace internal { | |
10 | |
11 class LoadConvention { | |
12 public: | |
13 enum ParameterIndices { kReceiverIndex, kNameIndex, kParameterCount }; | |
14 static const Register ReceiverRegister(); | |
15 static const Register NameRegister(); | |
16 }; | |
17 | |
18 | |
19 class VectorLoadConvention : public LoadConvention { | |
20 public: | |
21 enum ParameterIndices { | |
22 kReceiverIndex, | |
23 kNameIndex, | |
24 kSlotIndex, | |
25 kParameterCount | |
26 }; | |
27 static const Register SlotRegister(); | |
28 }; | |
29 | |
30 | |
31 class FullVectorLoadConvention : public VectorLoadConvention { | |
32 public: | |
33 enum ParameterIndices { | |
34 kReceiverIndex, | |
35 kNameIndex, | |
36 kSlotIndex, | |
37 kVectorIndex, | |
38 kParameterCount | |
39 }; | |
40 static const Register VectorRegister(); | |
41 }; | |
42 | |
43 | |
44 class StoreConvention { | |
45 public: | |
46 enum ParameterIndices { | |
47 kReceiverIndex, | |
48 kNameIndex, | |
49 kValueIndex, | |
50 kParameterCount | |
51 }; | |
52 static const Register ReceiverRegister(); | |
53 static const Register NameRegister(); | |
54 static const Register ValueRegister(); | |
55 | |
56 // The map register isn't part of the normal call specification, but | |
57 // ElementsTransitionAndStoreStub, used in polymorphic keyed store | |
58 // stub implementations requires it to be initialized. | |
59 static const Register MapRegister(); | |
60 }; | |
61 | |
62 | |
63 class InstanceofConvention { | |
64 public: | |
65 enum ParameterIndices { kLeftIndex, kRightIndex, kParameterCount }; | |
66 static const Register left(); | |
67 static const Register right(); | |
68 }; | |
69 } | |
70 } // namespace v8::internal | |
71 | |
72 #endif // V8_IC_CONVENTIONS_H_ | |
OLD | NEW |