1006 {
1008
1009
1010#if defined(DEBUG)
1011 buffer.AddString(
"debug");
1012#elif defined(PRODUCT)
1013 buffer.AddString(
"product");
1014#else
1015 buffer.AddString(
"release");
1016#endif
1017
1018#define ADD_FLAG(name, value) \
1019 do { \
1020 buffer.AddString(value ? (" " #name) : (" no-" #name)); \
1021 } while (0);
1022#define ADD_P(name, T, DV, C) ADD_FLAG(name, FLAG_##name)
1023#define ADD_R(name, PV, T, DV, C) ADD_FLAG(name, FLAG_##name)
1024#define ADD_C(name, PCV, PV, T, DV, C) ADD_FLAG(name, FLAG_##name)
1025#define ADD_D(name, T, DV, C) ADD_FLAG(name, FLAG_##name)
1026
1027#define ADD_ISOLATE_GROUP_FLAG(name, isolate_flag, flag) \
1028 do { \
1029 const bool value = \
1030 isolate_group != nullptr ? isolate_group->name() : flag; \
1031 ADD_FLAG(name, value); \
1032 } while (0);
1033
1036
1037 ADD_FLAG(tsan, FLAG_target_thread_sanitizer)
1039
1041
1042
1043
1044
1045
1046
1049 FLAG_use_field_guards);
1052 FLAG_branch_coverage);
1054 }
1055
1056
1057
1058
1059#if defined(TARGET_ARCH_IA32)
1060 buffer.AddString(
" ia32");
1061#elif defined(TARGET_ARCH_X64)
1062 buffer.AddString(
" x64");
1063#elif defined(TARGET_ARCH_ARM)
1064 buffer.AddString(
" arm");
1065#elif defined(TARGET_ARCH_ARM64)
1066 buffer.AddString(
" arm64");
1067#elif defined(TARGET_ARCH_RISCV32)
1068 buffer.AddString(
" riscv32");
1069#elif defined(TARGET_ARCH_RISCV64)
1070 buffer.AddString(
" riscv64");
1071#else
1072#error What architecture?
1073#endif
1074
1075#if defined(DART_TARGET_OS_ANDROID)
1076 buffer.AddString(
" android");
1077#elif defined(DART_TARGET_OS_FUCHSIA)
1078 buffer.AddString(
" fuchsia");
1079#elif defined(DART_TARGET_OS_MACOS)
1080#if defined(DART_TARGET_OS_MACOS_IOS)
1081 buffer.AddString(
" ios");
1082#else
1083 buffer.AddString(
" macos");
1084#endif
1085#elif defined(DART_TARGET_OS_LINUX)
1086 buffer.AddString(
" linux");
1087#elif defined(DART_TARGET_OS_WINDOWS)
1088 buffer.AddString(
" windows");
1089#else
1090#error What operating system?
1091#endif
1092
1093#if defined(DART_COMPRESSED_POINTERS)
1094 buffer.AddString(
" compressed-pointers");
1095#else
1096 buffer.AddString(
" no-compressed-pointers");
1097#endif
1098 }
1099
1100#undef ADD_ISOLATE_FLAG
1101#undef ADD_D
1102#undef ADD_C
1103#undef ADD_R
1104#undef ADD_P
1105#undef ADD_FLAG
1106
1108}
static bool IncludesCode(Kind kind)
#define ADD_ISOLATE_GROUP_FLAG(name, isolate_flag, flag)
#define ADD_P(name, T, DV, C)
#define ADD_D(name, T, DV, C)
#define ADD_FLAG(name, value)
#define ADD_R(name, PV, T, DV, C)
#define ADD_C(name, PCV, PV, T, DV, C)
#define VM_GLOBAL_FLAG_LIST(P, R, C, D)
constexpr bool FLAG_target_memory_sanitizer
DEF_SWITCHES_START aot vmservice shared library Name of the *so containing AOT compiled Dart assets for launching the service isolate vm snapshot The VM snapshot data that will be memory mapped as read only SnapshotAssetPath must be present isolate snapshot The isolate snapshot data that will be memory mapped as read only SnapshotAssetPath must be present cache dir Path to the cache directory This is different from the persistent_cache_path in embedder which is used for Skia shader cache icu native lib Path to the library file that exports the ICU data vm service The hostname IP address on which the Dart VM Service should be served If not defaults to or::depending on whether ipv6 is specified vm service A custom Dart VM Service port The default is to pick a randomly available open port disable vm Disable the Dart VM Service The Dart VM Service is never available in release mode disable vm service Disable mDNS Dart VM Service publication Bind to the IPv6 localhost address for the Dart VM Service Ignored if vm service host is set endless trace buffer