1 | // Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file |
2 | // for details. All rights reserved. Use of this source code is governed by a |
3 | // BSD-style license that can be found in the LICENSE file. |
4 | |
5 | #ifndef RUNTIME_VM_COMPILER_FFI_ABI_H_ |
6 | #define RUNTIME_VM_COMPILER_FFI_ABI_H_ |
7 | |
8 | #if defined(DART_PRECOMPILED_RUNTIME) |
9 | #error "AOT runtime should not use compiler sources (including header files)" |
10 | #endif // defined(DART_PRECOMPILED_RUNTIME) |
11 | |
12 | #include <platform/globals.h> |
13 | |
14 | namespace dart { |
15 | |
16 | namespace compiler { |
17 | |
18 | namespace ffi { |
19 | |
20 | // These ABIs should be kept in sync with pkg/vm/lib/transformations/ffi.dart. |
21 | enum class Abi { |
22 | kWordSize64 = 0, |
23 | kWordSize32Align32 = 1, |
24 | kWordSize32Align64 = 2 |
25 | }; |
26 | |
27 | // The target ABI. Defines sizes and alignment of native types. |
28 | Abi TargetAbi(); |
29 | |
30 | } // namespace ffi |
31 | |
32 | } // namespace compiler |
33 | |
34 | } // namespace dart |
35 | |
36 | #endif // RUNTIME_VM_COMPILER_FFI_ABI_H_ |
37 | |