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 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
72 } | 72 } |
73 return ""; | 73 return ""; |
74 } | 74 } |
75 | 75 |
76 | 76 |
77 void VoidDescriptor::InitializePlatformSpecific( | 77 void VoidDescriptor::InitializePlatformSpecific( |
78 CallInterfaceDescriptorData* data) { | 78 CallInterfaceDescriptorData* data) { |
79 data->InitializePlatformSpecific(0, nullptr); | 79 data->InitializePlatformSpecific(0, nullptr); |
80 } | 80 } |
81 | 81 |
| 82 FunctionType* |
| 83 FastNewFunctionContextDescriptor::BuildCallInterfaceDescriptorFunctionType( |
| 84 Isolate* isolate, int parameter_count) { |
| 85 Zone* zone = isolate->interface_descriptor_zone(); |
| 86 FunctionType* function = |
| 87 Type::Function(AnyTagged(zone), Type::Undefined(), 2, zone)->AsFunction(); |
| 88 function->InitParameter(0, AnyTagged(zone)); |
| 89 function->InitParameter(1, UntaggedIntegral32(zone)); |
| 90 return function; |
| 91 } |
| 92 |
| 93 void FastNewFunctionContextDescriptor::InitializePlatformSpecific( |
| 94 CallInterfaceDescriptorData* data) { |
| 95 Register registers[] = {FunctionRegister(), SlotsRegister()}; |
| 96 data->InitializePlatformSpecific(arraysize(registers), registers); |
| 97 } |
| 98 |
82 FunctionType* LoadDescriptor::BuildCallInterfaceDescriptorFunctionType( | 99 FunctionType* LoadDescriptor::BuildCallInterfaceDescriptorFunctionType( |
83 Isolate* isolate, int parameter_count) { | 100 Isolate* isolate, int parameter_count) { |
84 Zone* zone = isolate->interface_descriptor_zone(); | 101 Zone* zone = isolate->interface_descriptor_zone(); |
85 FunctionType* function = | 102 FunctionType* function = |
86 Type::Function(AnyTagged(zone), Type::Undefined(), kParameterCount, zone) | 103 Type::Function(AnyTagged(zone), Type::Undefined(), kParameterCount, zone) |
87 ->AsFunction(); | 104 ->AsFunction(); |
88 function->InitParameter(kReceiver, AnyTagged(zone)); | 105 function->InitParameter(kReceiver, AnyTagged(zone)); |
89 function->InitParameter(kName, AnyTagged(zone)); | 106 function->InitParameter(kName, AnyTagged(zone)); |
90 function->InitParameter(kSlot, SmiType(zone)); | 107 function->InitParameter(kSlot, SmiType(zone)); |
91 return function; | 108 return function; |
(...skipping 507 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
599 ->AsFunction(); | 616 ->AsFunction(); |
600 function->InitParameter(kAccumulator, AnyTagged(zone)); | 617 function->InitParameter(kAccumulator, AnyTagged(zone)); |
601 function->InitParameter(kBytecodeOffset, UntaggedIntegral32(zone)); | 618 function->InitParameter(kBytecodeOffset, UntaggedIntegral32(zone)); |
602 function->InitParameter(kBytecodeArray, AnyTagged(zone)); | 619 function->InitParameter(kBytecodeArray, AnyTagged(zone)); |
603 function->InitParameter(kDispatchTable, AnyTagged(zone)); | 620 function->InitParameter(kDispatchTable, AnyTagged(zone)); |
604 return function; | 621 return function; |
605 } | 622 } |
606 | 623 |
607 } // namespace internal | 624 } // namespace internal |
608 } // namespace v8 | 625 } // namespace v8 |
OLD | NEW |