Flutter Engine
The Flutter Engine
third_party
dart-lang
sdk
runtime
vm
compiler
ffi
abi.h
Go to the documentation of this file.
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
21
// pkg/vm/lib/transformations/ffi/abi.dart.
22
enum class
Abi
{
23
kAndroidArm
,
24
kAndroidArm64
,
25
kAndroidIA32
,
26
kAndroidX64
,
27
kAndroidRiscv64
,
28
kFuchsiaArm64
,
29
kFuchsiaX64
,
30
kFuchsiaRiscv64
,
31
kIOSArm
,
32
kIOSArm64
,
33
kIOSX64
,
34
kLinuxArm
,
35
kLinuxArm64
,
36
kLinuxIA32
,
37
kLinuxX64
,
38
kLinuxRiscv32
,
39
kLinuxRiscv64
,
40
kMacOSArm64
,
41
kMacOSX64
,
42
kWindowsArm64
,
43
kWindowsIA32
,
44
kWindowsX64
,
45
};
46
47
const
int64_t
num_abis
=
static_cast<
int64_t
>
(
Abi::kWindowsX64
) + 1;
48
49
// We use the integer values of this enum in
50
// - runtime/vm/compiler/ffi/native_type.cc
51
// - runtime/vm/compiler/frontend/kernel_to_il.cc
52
static_assert
(
static_cast<
int64_t
>
(
Abi::kAndroidArm
) == 0,
53
"Enum value unexpected."
);
54
static_assert
(
static_cast<
int64_t
>
(
Abi::kWindowsX64
) == 21,
55
"Enum value unexpected."
);
56
static_assert
(
num_abis
== 22,
"Enum value unexpected."
);
57
58
// The target ABI. Defines sizes and alignment of native types.
59
Abi
TargetAbi
();
60
61
extern
const
char
*
target_abi_name
;
62
63
}
// namespace ffi
64
65
}
// namespace compiler
66
67
}
// namespace dart
68
69
#endif
// RUNTIME_VM_COMPILER_FFI_ABI_H_
compiler
Definition:
compiler.py:1
dart::compiler::ffi::Abi
Abi
Definition:
abi.h:22
dart::compiler::ffi::Abi::kLinuxRiscv64
@ kLinuxRiscv64
dart::compiler::ffi::Abi::kFuchsiaX64
@ kFuchsiaX64
dart::compiler::ffi::Abi::kMacOSX64
@ kMacOSX64
dart::compiler::ffi::Abi::kAndroidRiscv64
@ kAndroidRiscv64
dart::compiler::ffi::Abi::kFuchsiaArm64
@ kFuchsiaArm64
dart::compiler::ffi::Abi::kIOSArm64
@ kIOSArm64
dart::compiler::ffi::Abi::kWindowsArm64
@ kWindowsArm64
dart::compiler::ffi::Abi::kAndroidArm
@ kAndroidArm
dart::compiler::ffi::Abi::kMacOSArm64
@ kMacOSArm64
dart::compiler::ffi::Abi::kLinuxIA32
@ kLinuxIA32
dart::compiler::ffi::Abi::kAndroidIA32
@ kAndroidIA32
dart::compiler::ffi::Abi::kLinuxRiscv32
@ kLinuxRiscv32
dart::compiler::ffi::Abi::kIOSX64
@ kIOSX64
dart::compiler::ffi::Abi::kLinuxArm64
@ kLinuxArm64
dart::compiler::ffi::Abi::kWindowsX64
@ kWindowsX64
dart::compiler::ffi::Abi::kIOSArm
@ kIOSArm
dart::compiler::ffi::Abi::kAndroidX64
@ kAndroidX64
dart::compiler::ffi::Abi::kLinuxArm
@ kLinuxArm
dart::compiler::ffi::Abi::kAndroidArm64
@ kAndroidArm64
dart::compiler::ffi::Abi::kWindowsIA32
@ kWindowsIA32
dart::compiler::ffi::Abi::kLinuxX64
@ kLinuxX64
dart::compiler::ffi::Abi::kFuchsiaRiscv64
@ kFuchsiaRiscv64
dart::compiler::ffi::num_abis
const int64_t num_abis
Definition:
abi.h:47
dart::compiler::ffi::target_abi_name
const char * target_abi_name
Definition:
abi.cc:92
dart::compiler::ffi::TargetAbi
Abi TargetAbi()
Definition:
abi.cc:88
dart
Definition:
dart_vm.cc:33
globals.h
Generated on Sun Jun 23 2024 21:55:36 for Flutter Engine by
1.9.4