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/arm/interface-descriptors-arm.h" | 5 #include "src/arm/interface-descriptors-arm.h" |
6 | 6 |
7 #if V8_TARGET_ARCH_ARM | 7 #if V8_TARGET_ARCH_ARM |
8 | 8 |
9 #include "src/interface-descriptors.h" | 9 #include "src/interface-descriptors.h" |
10 | 10 |
(...skipping 383 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
394 Register registers[] = { | 394 Register registers[] = { |
395 r1, // JSFunction | 395 r1, // JSFunction |
396 r3, // the new target | 396 r3, // the new target |
397 r0, // actual number of arguments | 397 r0, // actual number of arguments |
398 r2, // expected number of arguments | 398 r2, // expected number of arguments |
399 }; | 399 }; |
400 data->InitializePlatformSpecific(arraysize(registers), registers, | 400 data->InitializePlatformSpecific(arraysize(registers), registers, |
401 &default_descriptor); | 401 &default_descriptor); |
402 } | 402 } |
403 | 403 |
404 void ApiCallbackDescriptorBase::InitializePlatformSpecific( | 404 |
| 405 void ApiFunctionDescriptor::InitializePlatformSpecific( |
405 CallInterfaceDescriptorData* data) { | 406 CallInterfaceDescriptorData* data) { |
406 static PlatformInterfaceDescriptor default_descriptor = | 407 static PlatformInterfaceDescriptor default_descriptor = |
407 PlatformInterfaceDescriptor(CAN_INLINE_TARGET_ADDRESS); | 408 PlatformInterfaceDescriptor(CAN_INLINE_TARGET_ADDRESS); |
408 | 409 |
409 Register registers[] = { | 410 Register registers[] = { |
410 r0, // callee | 411 r0, // callee |
411 r4, // call_data | 412 r4, // call_data |
412 r2, // holder | 413 r2, // holder |
413 r1, // api_function_address | 414 r1, // api_function_address |
| 415 r3, // actual number of arguments |
| 416 }; |
| 417 data->InitializePlatformSpecific(arraysize(registers), registers, |
| 418 &default_descriptor); |
| 419 } |
| 420 |
| 421 |
| 422 void ApiAccessorDescriptor::InitializePlatformSpecific( |
| 423 CallInterfaceDescriptorData* data) { |
| 424 static PlatformInterfaceDescriptor default_descriptor = |
| 425 PlatformInterfaceDescriptor(CAN_INLINE_TARGET_ADDRESS); |
| 426 |
| 427 Register registers[] = { |
| 428 r0, // callee |
| 429 r4, // call_data |
| 430 r2, // holder |
| 431 r1, // api_function_address |
414 }; | 432 }; |
415 data->InitializePlatformSpecific(arraysize(registers), registers, | 433 data->InitializePlatformSpecific(arraysize(registers), registers, |
416 &default_descriptor); | 434 &default_descriptor); |
417 } | 435 } |
418 | 436 |
419 void InterpreterDispatchDescriptor::InitializePlatformSpecific( | 437 void InterpreterDispatchDescriptor::InitializePlatformSpecific( |
420 CallInterfaceDescriptorData* data) { | 438 CallInterfaceDescriptorData* data) { |
421 Register registers[] = { | 439 Register registers[] = { |
422 kInterpreterAccumulatorRegister, kInterpreterRegisterFileRegister, | 440 kInterpreterAccumulatorRegister, kInterpreterRegisterFileRegister, |
423 kInterpreterBytecodeOffsetRegister, kInterpreterBytecodeArrayRegister, | 441 kInterpreterBytecodeOffsetRegister, kInterpreterBytecodeArrayRegister, |
(...skipping 29 matching lines...) Expand all Loading... |
453 r2, // address of first argument (argv) | 471 r2, // address of first argument (argv) |
454 r1 // the runtime function to call | 472 r1 // the runtime function to call |
455 }; | 473 }; |
456 data->InitializePlatformSpecific(arraysize(registers), registers); | 474 data->InitializePlatformSpecific(arraysize(registers), registers); |
457 } | 475 } |
458 | 476 |
459 } // namespace internal | 477 } // namespace internal |
460 } // namespace v8 | 478 } // namespace v8 |
461 | 479 |
462 #endif // V8_TARGET_ARCH_ARM | 480 #endif // V8_TARGET_ARCH_ARM |
OLD | NEW |