| 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 |