OLD | NEW |
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 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
93 } | 93 } |
94 | 94 |
95 | 95 |
96 void StoreDescriptor::InitializePlatformSpecific( | 96 void StoreDescriptor::InitializePlatformSpecific( |
97 CallInterfaceDescriptorData* data) { | 97 CallInterfaceDescriptorData* data) { |
98 Register registers[] = {ReceiverRegister(), NameRegister(), ValueRegister()}; | 98 Register registers[] = {ReceiverRegister(), NameRegister(), ValueRegister()}; |
99 data->InitializePlatformSpecific(arraysize(registers), registers); | 99 data->InitializePlatformSpecific(arraysize(registers), registers); |
100 } | 100 } |
101 | 101 |
102 | 102 |
| 103 void StoreTransitionDescriptor::InitializePlatformSpecific( |
| 104 CallInterfaceDescriptorData* data) { |
| 105 Register registers[] = {ReceiverRegister(), NameRegister(), ValueRegister(), |
| 106 MapRegister()}; |
| 107 |
| 108 data->InitializePlatformSpecific(arraysize(registers), registers); |
| 109 } |
| 110 |
| 111 |
103 Type::FunctionType* | 112 Type::FunctionType* |
104 StoreTransitionDescriptor::BuildCallInterfaceDescriptorFunctionType( | 113 StoreTransitionDescriptor::BuildCallInterfaceDescriptorFunctionType( |
105 Isolate* isolate, int paramater_count) { | 114 Isolate* isolate, int paramater_count) { |
106 Type::FunctionType* function = Type::FunctionType::New( | 115 Type::FunctionType* function = Type::FunctionType::New( |
107 AnyTagged(), Type::Undefined(), 4, isolate->interface_descriptor_zone()); | 116 AnyTagged(), Type::Undefined(), 4, isolate->interface_descriptor_zone()); |
108 function->InitParameter(0, AnyTagged()); // Receiver | 117 function->InitParameter(0, AnyTagged()); // Receiver |
109 function->InitParameter(1, AnyTagged()); // Name | 118 function->InitParameter(1, AnyTagged()); // Name |
110 function->InitParameter(2, AnyTagged()); // Value | 119 function->InitParameter(2, AnyTagged()); // Value |
111 function->InitParameter(3, AnyTagged()); // Map | 120 function->InitParameter(3, AnyTagged()); // Map |
112 return function; | 121 return function; |
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
191 | 200 |
192 void LoadWithVectorDescriptor::InitializePlatformSpecific( | 201 void LoadWithVectorDescriptor::InitializePlatformSpecific( |
193 CallInterfaceDescriptorData* data) { | 202 CallInterfaceDescriptorData* data) { |
194 Register registers[] = {ReceiverRegister(), NameRegister(), SlotRegister(), | 203 Register registers[] = {ReceiverRegister(), NameRegister(), SlotRegister(), |
195 VectorRegister()}; | 204 VectorRegister()}; |
196 data->InitializePlatformSpecific(arraysize(registers), registers); | 205 data->InitializePlatformSpecific(arraysize(registers), registers); |
197 } | 206 } |
198 | 207 |
199 | 208 |
200 Type::FunctionType* | 209 Type::FunctionType* |
| 210 VectorStoreTransitionDescriptor::BuildCallInterfaceDescriptorFunctionType( |
| 211 Isolate* isolate, int paramater_count) { |
| 212 Type::FunctionType* function = Type::FunctionType::New( |
| 213 AnyTagged(), Type::Undefined(), 6, isolate->interface_descriptor_zone()); |
| 214 function->InitParameter(0, AnyTagged()); // receiver |
| 215 function->InitParameter(1, AnyTagged()); // name |
| 216 function->InitParameter(2, AnyTagged()); // value |
| 217 function->InitParameter(3, SmiType()); // slot |
| 218 function->InitParameter(4, AnyTagged()); // vector |
| 219 function->InitParameter(5, AnyTagged()); // map |
| 220 return function; |
| 221 } |
| 222 |
| 223 |
| 224 Type::FunctionType* |
201 VectorStoreICDescriptor::BuildCallInterfaceDescriptorFunctionType( | 225 VectorStoreICDescriptor::BuildCallInterfaceDescriptorFunctionType( |
202 Isolate* isolate, int paramater_count) { | 226 Isolate* isolate, int paramater_count) { |
203 Type::FunctionType* function = Type::FunctionType::New( | 227 Type::FunctionType* function = Type::FunctionType::New( |
204 AnyTagged(), Type::Undefined(), 5, isolate->interface_descriptor_zone()); | 228 AnyTagged(), Type::Undefined(), 5, isolate->interface_descriptor_zone()); |
205 function->InitParameter(0, AnyTagged()); | 229 function->InitParameter(0, AnyTagged()); |
206 function->InitParameter(1, AnyTagged()); | 230 function->InitParameter(1, AnyTagged()); |
207 function->InitParameter(2, AnyTagged()); | 231 function->InitParameter(2, AnyTagged()); |
208 function->InitParameter(3, SmiType()); | 232 function->InitParameter(3, SmiType()); |
209 function->InitParameter(4, AnyTagged()); | 233 function->InitParameter(4, AnyTagged()); |
210 return function; | 234 return function; |
(...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
418 AnyTagged(), Type::Undefined(), 5, isolate->interface_descriptor_zone()); | 442 AnyTagged(), Type::Undefined(), 5, isolate->interface_descriptor_zone()); |
419 function->InitParameter(0, Type::Receiver()); | 443 function->InitParameter(0, Type::Receiver()); |
420 function->InitParameter(1, SmiType()); | 444 function->InitParameter(1, SmiType()); |
421 function->InitParameter(2, AnyTagged()); | 445 function->InitParameter(2, AnyTagged()); |
422 function->InitParameter(3, AnyTagged()); | 446 function->InitParameter(3, AnyTagged()); |
423 function->InitParameter(4, AnyTagged()); | 447 function->InitParameter(4, AnyTagged()); |
424 return function; | 448 return function; |
425 } | 449 } |
426 } // namespace internal | 450 } // namespace internal |
427 } // namespace v8 | 451 } // namespace v8 |
OLD | NEW |