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 #if V8_TARGET_ARCH_ARM64 | 7 #if V8_TARGET_ARCH_ARM64 |
8 | 8 |
9 #include "src/interface-descriptors.h" | 9 #include "src/interface-descriptors.h" |
10 | 10 |
(...skipping 344 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
355 void ApiFunctionDescriptor::Initialize(CallInterfaceDescriptorData* data) { | 355 void ApiFunctionDescriptor::Initialize(CallInterfaceDescriptorData* data) { |
356 static PlatformInterfaceDescriptor default_descriptor = | 356 static PlatformInterfaceDescriptor default_descriptor = |
357 PlatformInterfaceDescriptor(CAN_INLINE_TARGET_ADDRESS); | 357 PlatformInterfaceDescriptor(CAN_INLINE_TARGET_ADDRESS); |
358 | 358 |
359 Register registers[] = { | 359 Register registers[] = { |
360 cp, // context | 360 cp, // context |
361 x0, // callee | 361 x0, // callee |
362 x4, // call_data | 362 x4, // call_data |
363 x2, // holder | 363 x2, // holder |
364 x1, // api_function_address | 364 x1, // api_function_address |
| 365 x3, // actual number of arguments |
| 366 }; |
| 367 Representation representations[] = { |
| 368 Representation::Tagged(), // context |
| 369 Representation::Tagged(), // callee |
| 370 Representation::Tagged(), // call_data |
| 371 Representation::Tagged(), // holder |
| 372 Representation::External(), // api_function_address |
| 373 Representation::Integer32(), // actual number of arguments |
| 374 }; |
| 375 data->Initialize(arraysize(registers), registers, representations, |
| 376 &default_descriptor); |
| 377 } |
| 378 |
| 379 |
| 380 void ApiAccessorDescriptor::Initialize(CallInterfaceDescriptorData* data) { |
| 381 static PlatformInterfaceDescriptor default_descriptor = |
| 382 PlatformInterfaceDescriptor(CAN_INLINE_TARGET_ADDRESS); |
| 383 |
| 384 Register registers[] = { |
| 385 cp, // context |
| 386 x0, // callee |
| 387 x4, // call_data |
| 388 x2, // holder |
| 389 x1, // api_function_address |
365 }; | 390 }; |
366 Representation representations[] = { | 391 Representation representations[] = { |
367 Representation::Tagged(), // context | 392 Representation::Tagged(), // context |
368 Representation::Tagged(), // callee | 393 Representation::Tagged(), // callee |
369 Representation::Tagged(), // call_data | 394 Representation::Tagged(), // call_data |
370 Representation::Tagged(), // holder | 395 Representation::Tagged(), // holder |
371 Representation::External(), // api_function_address | 396 Representation::External(), // api_function_address |
372 }; | 397 }; |
373 data->Initialize(arraysize(registers), registers, representations, | 398 data->Initialize(arraysize(registers), registers, representations, |
374 &default_descriptor); | 399 &default_descriptor); |
375 } | 400 } |
376 } | 401 } |
377 } // namespace v8::internal | 402 } // namespace v8::internal |
378 | 403 |
379 #endif // V8_TARGET_ARCH_ARM64 | 404 #endif // V8_TARGET_ARCH_ARM64 |
OLD | NEW |