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/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 292 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
303 } | 303 } |
304 | 304 |
305 | 305 |
306 void ArgumentsAccessReadDescriptor::InitializePlatformSpecific( | 306 void ArgumentsAccessReadDescriptor::InitializePlatformSpecific( |
307 CallInterfaceDescriptorData* data) { | 307 CallInterfaceDescriptorData* data) { |
308 Register registers[] = {index(), parameter_count()}; | 308 Register registers[] = {index(), parameter_count()}; |
309 data->InitializePlatformSpecific(arraysize(registers), registers); | 309 data->InitializePlatformSpecific(arraysize(registers), registers); |
310 } | 310 } |
311 | 311 |
312 | 312 |
| 313 Type::FunctionType* |
| 314 ArgumentsAccessNewDescriptor::BuildCallInterfaceDescriptorFunctionType( |
| 315 Isolate* isolate, int paramater_count) { |
| 316 Zone* zone = isolate->interface_descriptor_zone(); |
| 317 Type::FunctionType* function = |
| 318 Type::FunctionType::New(AnyTagged(zone), Type::Undefined(), 3, zone); |
| 319 function->InitParameter(0, AnyTagged(zone)); |
| 320 function->InitParameter(1, SmiType(zone)); |
| 321 function->InitParameter(2, ExternalPointer(zone)); |
| 322 return function; |
| 323 } |
| 324 |
| 325 |
| 326 void ArgumentsAccessNewDescriptor::InitializePlatformSpecific( |
| 327 CallInterfaceDescriptorData* data) { |
| 328 Register registers[] = {function(), parameter_count(), parameter_pointer()}; |
| 329 data->InitializePlatformSpecific(arraysize(registers), registers); |
| 330 } |
| 331 |
| 332 |
313 void ContextOnlyDescriptor::InitializePlatformSpecific( | 333 void ContextOnlyDescriptor::InitializePlatformSpecific( |
314 CallInterfaceDescriptorData* data) { | 334 CallInterfaceDescriptorData* data) { |
315 data->InitializePlatformSpecific(0, nullptr); | 335 data->InitializePlatformSpecific(0, nullptr); |
316 } | 336 } |
317 | 337 |
318 | 338 |
319 void GrowArrayElementsDescriptor::InitializePlatformSpecific( | 339 void GrowArrayElementsDescriptor::InitializePlatformSpecific( |
320 CallInterfaceDescriptorData* data) { | 340 CallInterfaceDescriptorData* data) { |
321 Register registers[] = {ObjectRegister(), KeyRegister()}; | 341 Register registers[] = {ObjectRegister(), KeyRegister()}; |
322 data->InitializePlatformSpecific(arraysize(registers), registers); | 342 data->InitializePlatformSpecific(arraysize(registers), registers); |
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
492 Type::FunctionType::New(AnyTagged(zone), Type::Undefined(), 5, zone); | 512 Type::FunctionType::New(AnyTagged(zone), Type::Undefined(), 5, zone); |
493 function->InitParameter(0, Type::Receiver()); | 513 function->InitParameter(0, Type::Receiver()); |
494 function->InitParameter(1, SmiType(zone)); | 514 function->InitParameter(1, SmiType(zone)); |
495 function->InitParameter(2, AnyTagged(zone)); | 515 function->InitParameter(2, AnyTagged(zone)); |
496 function->InitParameter(3, AnyTagged(zone)); | 516 function->InitParameter(3, AnyTagged(zone)); |
497 function->InitParameter(4, AnyTagged(zone)); | 517 function->InitParameter(4, AnyTagged(zone)); |
498 return function; | 518 return function; |
499 } | 519 } |
500 } // namespace internal | 520 } // namespace internal |
501 } // namespace v8 | 521 } // namespace v8 |
OLD | NEW |