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 | 10 |
(...skipping 254 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
265 Register registers[] = {ReceiverRegister(), HolderRegister(), | 265 Register registers[] = {ReceiverRegister(), HolderRegister(), |
266 CallbackRegister()}; | 266 CallbackRegister()}; |
267 data->InitializePlatformSpecific(arraysize(registers), registers); | 267 data->InitializePlatformSpecific(arraysize(registers), registers); |
268 } | 268 } |
269 | 269 |
270 void ContextOnlyDescriptor::InitializePlatformSpecific( | 270 void ContextOnlyDescriptor::InitializePlatformSpecific( |
271 CallInterfaceDescriptorData* data) { | 271 CallInterfaceDescriptorData* data) { |
272 data->InitializePlatformSpecific(0, nullptr); | 272 data->InitializePlatformSpecific(0, nullptr); |
273 } | 273 } |
274 | 274 |
275 CallInterfaceDescriptor OnStackArgsDescriptorBase::ForArgs( | |
276 Isolate* isolate, int parameter_count) { | |
277 switch (parameter_count) { | |
278 case 1: | |
279 return OnStackWith1ArgsDescriptor(isolate); | |
280 case 2: | |
281 return OnStackWith2ArgsDescriptor(isolate); | |
282 case 3: | |
283 return OnStackWith3ArgsDescriptor(isolate); | |
284 case 4: | |
285 return OnStackWith4ArgsDescriptor(isolate); | |
286 case 5: | |
287 return OnStackWith5ArgsDescriptor(isolate); | |
288 case 6: | |
289 return OnStackWith6ArgsDescriptor(isolate); | |
290 case 7: | |
291 return OnStackWith7ArgsDescriptor(isolate); | |
292 default: | |
293 UNREACHABLE(); | |
294 return VoidDescriptor(isolate); | |
295 } | |
296 } | |
297 | |
298 void OnStackArgsDescriptorBase::InitializePlatformIndependent( | |
299 CallInterfaceDescriptorData* data) { | |
300 data->InitializePlatformIndependent(0, extra_args(), NULL); | |
301 } | |
302 | |
303 void OnStackArgsDescriptorBase::InitializePlatformSpecific( | |
304 CallInterfaceDescriptorData* data) { | |
305 data->InitializePlatformSpecific(0, nullptr); | |
306 } | |
307 | |
308 void GrowArrayElementsDescriptor::InitializePlatformSpecific( | 275 void GrowArrayElementsDescriptor::InitializePlatformSpecific( |
309 CallInterfaceDescriptorData* data) { | 276 CallInterfaceDescriptorData* data) { |
310 Register registers[] = {ObjectRegister(), KeyRegister()}; | 277 Register registers[] = {ObjectRegister(), KeyRegister()}; |
311 data->InitializePlatformSpecific(arraysize(registers), registers); | 278 data->InitializePlatformSpecific(arraysize(registers), registers); |
312 } | 279 } |
313 | 280 |
314 void VarArgFunctionDescriptor::InitializePlatformIndependent( | 281 void VarArgFunctionDescriptor::InitializePlatformIndependent( |
315 CallInterfaceDescriptorData* data) { | 282 CallInterfaceDescriptorData* data) { |
316 // kActualArgumentsCount | 283 // kActualArgumentsCount |
317 MachineType machine_types[] = {MachineType::Int32()}; | 284 MachineType machine_types[] = {MachineType::Int32()}; |
(...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
461 // kAccumulator, kBytecodeOffset, kBytecodeArray, kDispatchTable | 428 // kAccumulator, kBytecodeOffset, kBytecodeArray, kDispatchTable |
462 MachineType machine_types[] = {MachineType::AnyTagged(), MachineType::Int32(), | 429 MachineType machine_types[] = {MachineType::AnyTagged(), MachineType::Int32(), |
463 MachineType::AnyTagged(), | 430 MachineType::AnyTagged(), |
464 MachineType::AnyTagged()}; | 431 MachineType::AnyTagged()}; |
465 data->InitializePlatformIndependent(arraysize(machine_types), 0, | 432 data->InitializePlatformIndependent(arraysize(machine_types), 0, |
466 machine_types); | 433 machine_types); |
467 } | 434 } |
468 | 435 |
469 } // namespace internal | 436 } // namespace internal |
470 } // namespace v8 | 437 } // namespace v8 |
OLD | NEW |