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 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
101 | 101 |
102 | 102 |
103 void StoreTransitionDescriptor::InitializePlatformSpecific( | 103 void StoreTransitionDescriptor::InitializePlatformSpecific( |
104 CallInterfaceDescriptorData* data) { | 104 CallInterfaceDescriptorData* data) { |
105 Register registers[] = {ReceiverRegister(), NameRegister(), ValueRegister(), | 105 Register registers[] = {ReceiverRegister(), NameRegister(), ValueRegister(), |
106 MapRegister()}; | 106 MapRegister()}; |
107 data->InitializePlatformSpecific(arraysize(registers), registers); | 107 data->InitializePlatformSpecific(arraysize(registers), registers); |
108 } | 108 } |
109 | 109 |
110 | 110 |
| 111 Type::FunctionType* |
| 112 LoadGlobalViaContextDescriptor::BuildCallInterfaceDescriptorFunctionType( |
| 113 Isolate* isolate, int paramater_count) { |
| 114 Type::FunctionType* function = Type::FunctionType::New( |
| 115 AnyTagged(), Type::Undefined(), 3, isolate->interface_descriptor_zone()); |
| 116 function->InitParameter(0, SmiType()); |
| 117 function->InitParameter(1, SmiType()); |
| 118 function->InitParameter(2, AnyTagged()); |
| 119 return function; |
| 120 } |
| 121 |
| 122 |
| 123 void LoadGlobalViaContextDescriptor::InitializePlatformSpecific( |
| 124 CallInterfaceDescriptorData* data) { |
| 125 Register registers[] = {DepthRegister(), SlotRegister(), NameRegister()}; |
| 126 data->InitializePlatformSpecific(arraysize(registers), registers); |
| 127 } |
| 128 |
| 129 |
| 130 Type::FunctionType* |
| 131 StoreGlobalViaContextDescriptor::BuildCallInterfaceDescriptorFunctionType( |
| 132 Isolate* isolate, int paramater_count) { |
| 133 Type::FunctionType* function = Type::FunctionType::New( |
| 134 AnyTagged(), Type::Undefined(), 5, isolate->interface_descriptor_zone()); |
| 135 function->InitParameter(0, SmiType()); |
| 136 function->InitParameter(1, SmiType()); |
| 137 function->InitParameter(2, AnyTagged()); |
| 138 function->InitParameter(3, AnyTagged()); |
| 139 return function; |
| 140 } |
| 141 |
| 142 |
| 143 void StoreGlobalViaContextDescriptor::InitializePlatformSpecific( |
| 144 CallInterfaceDescriptorData* data) { |
| 145 Register registers[] = {DepthRegister(), SlotRegister(), NameRegister(), |
| 146 ValueRegister()}; |
| 147 data->InitializePlatformSpecific(arraysize(registers), registers); |
| 148 } |
| 149 |
| 150 |
111 void ElementTransitionAndStoreDescriptor::InitializePlatformSpecific( | 151 void ElementTransitionAndStoreDescriptor::InitializePlatformSpecific( |
112 CallInterfaceDescriptorData* data) { | 152 CallInterfaceDescriptorData* data) { |
113 Register registers[] = {ValueRegister(), MapRegister(), NameRegister(), | 153 Register registers[] = {ValueRegister(), MapRegister(), NameRegister(), |
114 ReceiverRegister()}; | 154 ReceiverRegister()}; |
115 data->InitializePlatformSpecific(arraysize(registers), registers); | 155 data->InitializePlatformSpecific(arraysize(registers), registers); |
116 } | 156 } |
117 | 157 |
118 | 158 |
119 void InstanceofDescriptor::InitializePlatformSpecific( | 159 void InstanceofDescriptor::InitializePlatformSpecific( |
120 CallInterfaceDescriptorData* data) { | 160 CallInterfaceDescriptorData* data) { |
(...skipping 244 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
365 Type::FunctionType* function = Type::FunctionType::New( | 405 Type::FunctionType* function = Type::FunctionType::New( |
366 AnyTagged(), Type::Undefined(), 2, isolate->interface_descriptor_zone()); | 406 AnyTagged(), Type::Undefined(), 2, isolate->interface_descriptor_zone()); |
367 function->InitParameter(0, SmiType()); | 407 function->InitParameter(0, SmiType()); |
368 function->InitParameter(1, AnyTagged()); | 408 function->InitParameter(1, AnyTagged()); |
369 return function; | 409 return function; |
370 } | 410 } |
371 | 411 |
372 | 412 |
373 } // namespace internal | 413 } // namespace internal |
374 } // namespace v8 | 414 } // namespace v8 |
OLD | NEW |