31#define DART_EXPORT extern "C" __declspec(dllexport)
34 extern "C" __attribute__((visibility("default"))) __attribute((used))
41 fprintf(stderr, "%s\n", "Check failed: " #X); \
45#define CHECK_EQ(X, Y) CHECK((X) == (Y))
74 std::cout <<
"SumPlus42(" <<
a <<
", " <<
b <<
")\n";
75 const int32_t retval = 42 +
a +
b;
76 std::cout <<
"returning " << retval <<
"\n";
107 uint64_t v = 0xabcff;
114 uint64_t v = 0xabcffff;
119 uint64_t v = 0xabcffffffff;
124 int64_t v = 0x8abc80;
129 int64_t v = 0x8abc8000;
134 int64_t v = 0x8abc80000000;
140 std::cout <<
"TakeMaxUint8(" <<
static_cast<int>(
x) <<
")\n";
141 return x == 0xff ? 1 : 0;
145 std::cout <<
"TakeMaxUint16(" <<
x <<
")\n";
146 return x == 0xffff ? 1 : 0;
150 std::cout <<
"TakeMaxUint32(" <<
x <<
")\n";
151 return x == 0xffffffff ? 1 : 0;
155 std::cout <<
"TakeMinInt8(" <<
static_cast<int>(
x) <<
")\n";
156 const int64_t expected = -0x80;
157 const int64_t received =
x;
158 return expected == received ? 1 : 0;
162 std::cout <<
"TakeMinInt16(" <<
x <<
")\n";
163 const int64_t expected = -0x8000;
164 const int64_t received =
x;
165 return expected == received ? 1 : 0;
169 std::cout <<
"TakeMinInt32(" <<
x <<
")\n";
170 const int64_t expected = INT32_MIN;
171 const int64_t received =
x;
172 return expected == received ? 1 : 0;
186 std::cout <<
"TakeMaxUint8x10(" <<
static_cast<int>(
a) <<
", "
187 <<
static_cast<int>(
b) <<
", " <<
static_cast<int>(c) <<
", "
188 <<
static_cast<int>(
d) <<
", " <<
static_cast<int>(
e) <<
", "
189 <<
static_cast<int>(
f) <<
", " <<
static_cast<int>(g) <<
", "
190 <<
static_cast<int>(
h) <<
", " <<
static_cast<int>(
i) <<
", "
191 <<
static_cast<int>(j) <<
")\n";
192 return (
a == 0xff &&
b == 0xff && c == 0xff &&
d == 0xff &&
e == 0xff &&
193 f == 0xff && g == 0xff &&
h == 0xff &&
i == 0xff && j == 0xff)
201 std::cout <<
"IntComputation(" <<
static_cast<int>(
a) <<
", " <<
b <<
", "
202 << c <<
", " <<
d <<
")\n";
203 const int64_t retval =
d - c +
b -
a;
204 std::cout <<
"returning " << retval <<
"\n";
210 std::cout <<
"Regress39044(" <<
a <<
", " <<
static_cast<int>(
b) <<
")\n";
211 const int64_t retval =
a -
b;
212 std::cout <<
"returning " << retval <<
"\n";
217 std::cout <<
"Regress40537(" <<
static_cast<int>(
x) <<
")\n";
218 return x == 249 ? 1 : 0;
222 std::cout <<
"Regress40537Variant2(" <<
static_cast<int>(
x) <<
")\n";
227 std::cout <<
"Regress40537Variant3(" <<
static_cast<int>(
x) <<
")\n";
237 std::cout <<
"UintComputation(" <<
static_cast<int>(
a) <<
", " <<
b <<
", "
238 << c <<
", " <<
d <<
")\n";
239 const uint64_t retval =
d - c +
b -
a;
240 std::cout <<
"returning " << retval <<
"\n";
247 std::cout <<
"Times3(" <<
a <<
")\n";
248 const intptr_t retval =
a * 3;
249 std::cout <<
"returning " << retval <<
"\n";
258 std::cout <<
"Times1_337Double(" <<
a <<
")\n";
259 const double retval =
a * 1.337;
260 std::cout <<
"returning " << retval <<
"\n";
267 std::cout <<
"Times1_337Float(" <<
a <<
")\n";
268 const float retval =
a * 1.337f;
269 std::cout <<
"returning " << retval <<
"\n";
286 std::cout <<
"SumManyInts(" <<
a <<
", " <<
b <<
", " << c <<
", " <<
d
287 <<
", " <<
e <<
", " <<
f <<
", " << g <<
", " <<
h <<
", " <<
i
288 <<
", " << j <<
")\n";
289 const intptr_t retval =
a +
b + c +
d +
e +
f + g +
h +
i + j;
290 std::cout <<
"returning " << retval <<
"\n";
307 std::cout <<
"SumManySmallInts(" <<
static_cast<int>(
a) <<
", " <<
b <<
", "
308 <<
static_cast<int>(c) <<
", " <<
d <<
", " <<
static_cast<int>(
e)
309 <<
", " <<
f <<
", " <<
static_cast<int>(g) <<
", " <<
h <<
", "
310 <<
static_cast<int>(
i) <<
", " << j <<
")\n";
311 const int16_t retval =
a +
b + c +
d +
e +
f + g +
h +
i + j;
312 std::cout <<
"returning " << retval <<
"\n";
318 std::cout <<
"SumFloatsAndDoubles(" <<
a <<
", " <<
b <<
", " << c <<
")\n";
319 const double retval =
a +
b + c;
320 std::cout <<
"returning " << retval <<
"\n";
365 std::cout <<
"SumVeryManySmallInts(" <<
static_cast<int>(a01) <<
", " << a02
366 <<
", " <<
static_cast<int>(a03) <<
", " << a04 <<
", "
367 <<
static_cast<int>(a05) <<
", " << a06 <<
", "
368 <<
static_cast<int>(a07) <<
", " << a08 <<
", "
369 <<
static_cast<int>(a09) <<
", " << a10 <<
", "
370 <<
static_cast<int>(a11) <<
", " << a12 <<
", "
371 <<
static_cast<int>(a13) <<
", " << a14 <<
", "
372 <<
static_cast<int>(a15) <<
", " << a16 <<
", "
373 <<
static_cast<int>(a17) <<
", " << a18 <<
", "
374 <<
static_cast<int>(a19) <<
", " << a20 <<
", "
375 <<
static_cast<int>(a21) <<
", " << a22 <<
", "
376 <<
static_cast<int>(a23) <<
", " << a24 <<
", "
377 <<
static_cast<int>(a25) <<
", " << a26 <<
", "
378 <<
static_cast<int>(a27) <<
", " << a28 <<
", "
379 <<
static_cast<int>(a29) <<
", " << a30 <<
", "
380 <<
static_cast<int>(a31) <<
", " << a32 <<
", "
381 <<
static_cast<int>(a33) <<
", " << a34 <<
", "
382 <<
static_cast<int>(a35) <<
", " << a36 <<
", "
383 <<
static_cast<int>(a37) <<
", " << a38 <<
", "
384 <<
static_cast<int>(a39) <<
", " << a40 <<
")\n";
385 const int16_t retval = a01 + a02 + a03 + a04 + a05 + a06 + a07 + a08 + a09 +
386 a10 + a11 + a12 + a13 + a14 + a15 + a16 + a17 + a18 +
387 a19 + a20 + a21 + a22 + a23 + a24 + a25 + a26 + a27 +
388 a28 + a29 + a30 + a31 + a32 + a33 + a34 + a35 + a36 +
389 a37 + a38 + a39 + a40;
390 std::cout <<
"returning " << retval <<
"\n";
436 std::cout <<
"SumVeryManyFloatsDoubles(" << a01 <<
", " << a02 <<
", " << a03
437 <<
", " << a04 <<
", " << a05 <<
", " << a06 <<
", " << a07 <<
", "
438 << a08 <<
", " << a09 <<
", " << a10 <<
", " << a11 <<
", " << a12
439 <<
", " << a13 <<
", " << a14 <<
", " << a15 <<
", " << a16 <<
", "
440 << a17 <<
", " << a18 <<
", " << a19 <<
", " << a20 <<
", " << a21
441 <<
", " << a22 <<
", " << a23 <<
", " << a24 <<
", " << a25 <<
", "
442 << a26 <<
", " << a27 <<
", " << a28 <<
", " << a29 <<
", " << a30
443 <<
", " << a31 <<
", " << a32 <<
", " << a33 <<
", " << a34 <<
", "
444 << a35 <<
", " << a36 <<
", " << a37 <<
", " << a38 <<
", " << a39
445 <<
", " << a40 <<
")\n";
446 const double retval = a01 + a02 + a03 + a04 + a05 + a06 + a07 + a08 + a09 +
447 a10 + a11 + a12 + a13 + a14 + a15 + a16 + a17 + a18 +
448 a19 + a20 + a21 + a22 + a23 + a24 + a25 + a26 + a27 +
449 a28 + a29 + a30 + a31 + a32 + a33 + a34 + a35 + a36 +
450 a37 + a38 + a39 + a40;
451 std::cout <<
"returning " << retval <<
"\n";
469 std::cout <<
"SumManyInts(" <<
a <<
", " <<
b <<
", " << c <<
", " <<
d
470 <<
", " <<
e <<
", " <<
f <<
", " << g <<
", " <<
h <<
", " <<
i
471 <<
", " << j <<
", " << k <<
")\n";
472 const intptr_t retval =
473 static_cast<uintptr_t
>(
a) +
static_cast<uintptr_t
>(
b) +
474 static_cast<uintptr_t
>(c) +
static_cast<uintptr_t
>(
d) +
475 static_cast<uintptr_t
>(
e) +
static_cast<uintptr_t
>(
f) +
476 static_cast<uintptr_t
>(g) +
static_cast<uintptr_t
>(
h) +
477 static_cast<uintptr_t
>(
i) +
static_cast<uintptr_t
>(j) +
478 static_cast<uintptr_t
>(k);
479 std::cout <<
"returning " << retval <<
"\n";
496 std::cout <<
"SumManyDoubles(" <<
a <<
", " <<
b <<
", " << c <<
", " <<
d
497 <<
", " <<
e <<
", " <<
f <<
", " << g <<
", " <<
h <<
", " <<
i
498 <<
", " << j <<
")\n";
499 const double retval =
a +
b + c +
d +
e +
f + g +
h +
i + j;
500 std::cout <<
"returning " << retval <<
"\n";
527 std::cout <<
"SumManyNumbers(" <<
a <<
", " <<
b <<
", " << c <<
", " <<
d
528 <<
", " <<
e <<
", " <<
f <<
", " << g <<
", " <<
h <<
", " <<
i
529 <<
", " << j <<
", " << k <<
", " << l <<
", " <<
m <<
", " << n
530 <<
", " << o <<
", " <<
p <<
", " << q <<
", " << r <<
", " <<
s
531 <<
", " << t <<
")\n";
532 const double retval =
a +
b + c +
d +
e +
f + g +
h +
i + j + k + l +
m + n +
533 o +
p + q + r +
s + t;
534 std::cout <<
"returning " << retval <<
"\n";
541 std::cout <<
"Assign1337Index1(" <<
a <<
")\n";
542 std::cout <<
"val[0] = " <<
a[0] <<
"\n";
543 std::cout <<
"val[1] = " <<
a[1] <<
"\n";
545 std::cout <<
"val[1] = " <<
a[1] <<
"\n";
546 int64_t* retval =
a + 1;
547 std::cout <<
"returning " << retval <<
"\n";
555 std::cout <<
"TransposeCoordinate(" << coord <<
" {" << coord->
x <<
", "
556 << coord->
y <<
", " << coord->
next <<
"})\n";
557 coord->
x = coord->
x + 10.0;
558 coord->
y = coord->
y + 10.0;
559 std::cout <<
"returning " << coord->
next <<
"\n";
567 std::cout <<
"CoordinateElemAt1(" << coord <<
")\n";
568 std::cout <<
"sizeof(Coord): " <<
sizeof(
Coord) <<
"\n";
569 std::cout <<
"coord[0] = {" << coord[0].
x <<
", " << coord[0].
y <<
", "
570 << coord[0].
next <<
"}\n";
571 std::cout <<
"coord[1] = {" << coord[1].
x <<
", " << coord[1].
y <<
", "
572 << coord[1].
next <<
"}\n";
573 Coord* retval = coord + 1;
574 std::cout <<
"returning " << retval <<
"\n";
584 std::cout <<
"CoordinateUnOpTrice(" << &unop <<
", " << coord <<
")\n";
585 Coord* retval = unop(unop(unop(coord)));
586 std::cout <<
"returning " << retval <<
"\n";
596 std::cout <<
"IntptrAdditionClosure()\n";
598 std::cout <<
"returning " << &retval <<
"\n";
605 std::cout <<
"ApplyTo42And74()\n";
606 intptr_t retval = binop(42, 74);
607 std::cout <<
"returning " << retval <<
"\n";
615 std::cout <<
"NullableInt64ElemAt1(" <<
a <<
")\n";
618 std::cout <<
"not null pointer, address: " <<
a <<
"\n";
621 std::cout <<
"null pointer, address: " <<
a <<
"\n";
624 std::cout <<
"returning " << retval <<
"\n";
656 std::cout <<
"SumVeryLargeStruct(" << vls <<
")\n";
670 std::cout <<
"offsetof(numChildren): "
672 std::cout <<
"offsetof(children): " << offsetof(
VeryLargeStruct, children)
674 std::cout <<
"offsetof(smallLastField): "
676 std::cout <<
"sizeof(VeryLargeStruct): " <<
sizeof(
VeryLargeStruct) <<
"\n";
678 std::cout <<
"vls->a: " <<
static_cast<int>(vls->
a) <<
"\n";
679 std::cout <<
"vls->b: " << vls->
b <<
"\n";
680 std::cout <<
"vls->c: " << vls->
c <<
"\n";
681 std::cout <<
"vls->d: " << vls->
d <<
"\n";
682 std::cout <<
"vls->e: " <<
static_cast<int>(vls->
e) <<
"\n";
683 std::cout <<
"vls->f: " << vls->
f <<
"\n";
684 std::cout <<
"vls->g: " << vls->
g <<
"\n";
685 std::cout <<
"vls->h: " << vls->
h <<
"\n";
686 std::cout <<
"vls->i: " << vls->
i <<
"\n";
687 std::cout <<
"vls->j: " << vls->
j <<
"\n";
688 std::cout <<
"vls->k: " << vls->
k <<
"\n";
689 std::cout <<
"vls->parent: " << vls->
parent <<
"\n";
690 std::cout <<
"vls->numChildren: " << vls->
numChildren <<
"\n";
691 std::cout <<
"vls->children: " << vls->
children <<
"\n";
692 std::cout <<
"vls->smallLastField: " <<
static_cast<int>(vls->
smallLastField)
696 retval += 0x0L + vls->
a;
708 std::cout << retval <<
"\n";
709 if (vls->
parent !=
nullptr) {
710 std::cout <<
"has parent\n";
713 std::cout <<
"has " << vls->
numChildren <<
" children\n";
717 std::cout <<
"returning " << retval <<
"\n";
740 std::cout <<
"SumReturnStruct9Uint8 in (" << in->
a0 <<
", " << in->
a1 <<
", "
741 << in->
a2 <<
", " << in->
a3 <<
", " << in->
a4 <<
", " << in->
a5
742 <<
", " << in->
a6 <<
", " << in->
a7 <<
", " << in->
a8 <<
")\n";
746 std::cout <<
"SumReturnStruct9Uint8 out (" <<
out.a0 <<
", " <<
out.a1 <<
", "
747 <<
out.a2 <<
", " <<
out.a3 <<
", " <<
out.a4 <<
", " <<
out.a5
748 <<
", " <<
out.a6 <<
", " <<
out.a7 <<
", " <<
out.a8 <<
")\n";
762 VirtualAlloc(
nullptr,
size * 2, MEM_RESERVE | MEM_COMMIT, PAGE_READWRITE);
764 reinterpret_cast<void*
>(
reinterpret_cast<uintptr_t
>(
result) +
size);
766 if (VirtualProtect(guard_page,
size, PAGE_NOACCESS, &old_prot) == 0) {
767 fprintf(stderr,
"VirtualProtect failed\n");
771 void*
result = mmap(
nullptr,
size * 2, PROT_READ | PROT_WRITE,
772 MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
774 reinterpret_cast<void*
>(
reinterpret_cast<uintptr_t
>(
result) +
size);
775 if (mprotect(guard_page,
size, PROT_NONE) != 0) {
776 fprintf(stderr,
"mprotect failed\n");
785 VirtualFree(address, 0, MEM_RELEASE);
788 munmap(address,
size * 2);
800 std::cout <<
"SumSmallNumbers(" <<
static_cast<int>(
a) <<
", " <<
b <<
", "
801 << c <<
", " <<
static_cast<int>(
d) <<
", " <<
e <<
", " <<
f
810 std::cout <<
"returning " << retval <<
"\n";
817 std::cout <<
"IsRoughly1337(" <<
a[0] <<
")\n";
818 uint8_t retval = (1336.0f <
a[0] &&
a[0] < 1338.0f) ? 1 : 0;
819 std::cout <<
"returning " <<
static_cast<int>(retval) <<
"\n";
826 std::cout <<
"DevNullFloat(" <<
a <<
")\n";
827 std::cout <<
"returning nothing\n";
833 std::cout <<
"InventFloatValue()\n";
834 const float retval = 1337.0f;
835 std::cout <<
"returning " << retval <<
"\n";
849 int64_t recursionCounter,
853 std::cout <<
"PassStruct20BytesHomogeneousInt32x10"
854 <<
"(" << recursionCounter <<
", (" << a0.
a0 <<
", " << a0.
a1
855 <<
", " << a0.
a2 <<
", " << a0.
a3 <<
", " << a0.
a4 <<
"), "
856 <<
reinterpret_cast<void*
>(
f) <<
")\n";
858 const int32_t a0_a0_saved = a0.
a0;
860 if (recursionCounter <= 0) {
866 if (a0_a0_saved != a0.
a0) {
886 std::cout <<
"CallbackWithStruct"
887 <<
"(" <<
reinterpret_cast<void*
>(
f) <<
")\n";
903 const intptr_t
result = add(10, 20);
914 const int64_t
result = fn(125, 250, 500, 1000);
915 std::cout <<
"result " <<
result <<
"\n";
917 CHECK_EQ(0x7FFFFFFFFFFFFFFFLL, fn(0, 0, 0, 0x7FFFFFFFFFFFFFFFLL));
918 CHECK_EQ(((int64_t)0x8000000000000000LL), fn(0, 0, 0, 0x8000000000000000LL));
924 CHECK_EQ(0x7FFFFFFFFFFFFFFFLL, fn(0, 0, 0, 0x7FFFFFFFFFFFFFFFLL));
925 CHECK_EQ(0x8000000000000000LL, fn(0, 0, 0, 0x8000000000000000LL));
926 CHECK_EQ(-1, (int64_t)fn(0, 0, 0, -1));
950 CHECK_EQ(55, fn(1, 2, 3, 4, 5, 6, 7, 8, 9, 10));
964 CHECK_EQ(55, fn(1, 2, 3, 4, 5, 6, 7, 8, 9, 10));
988 CHECK(210.0 == fn(1, 2.0, 3, 4.0, 5, 6.0, 7, 8.0, 9, 10.0, 11, 12.0, 13, 14.0,
989 15, 16.0, 17, 18.0, 19, 20.0));
1042 CHECK_EQ(40 * 41 / 2, fn(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
1043 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
1044 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40));
1091 fn(1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0,
1092 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0, 20.0, 21.0, 22.0, 23.0,
1093 24.0, 25.0, 26.0, 27.0, 28.0, 29.0, 30.0, 31.0, 32.0, 33.0, 34.0,
1094 35.0, 36.0, 37.0, 38.0, 39.0, 40.0));
1099 int64_t
p[2] = {42, 1000};
1113 CHECK_EQ(fn(
nullptr),
reinterpret_cast<void*
>(
sizeof(int64_t)));
1149 CHECK_EQ(1, fn(0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF));
1151 uint64_t v = 0xabcFF;
1152 CHECK_EQ(1, fn(v, v, v, v, v, v, v, v, v, v));
1157 std::cout <<
"TestReturnMaxUint8(fn): " <<
static_cast<int>(fn()) <<
"\n";
1164 uint8_t* p2 =
reinterpret_cast<uint8_t*
>(
p);
1170 uint64_t bogus_address = 0x13370000;
1171 return reinterpret_cast<void*
>(bogus_address);
1176 void* pointer =
malloc(
sizeof(int64_t));
1185 uint8_t* p2 =
reinterpret_cast<uint8_t*
>(
p);
1212#pragma pack(push, 1)
1225typedef intptr_t ssize_t;
1228#define DEFINE_SIZE_OF_AND_SIGN_OF(type_modifier, type, type2) \
1229 DART_EXPORT uint64_t FfiSizeOf_##type_modifier##_##type##_##type2() { \
1230 return sizeof(type_modifier type type2); \
1233 DART_EXPORT uint64_t FfiSignOf_##type_modifier##_##type##_##type2() { \
1234 return std::numeric_limits<type_modifier type type2>::is_signed; \
1240 F(unsigned, char, ) \
1242 F(unsigned, short, ) \
1244 F(unsigned, int, ) \
1246 F(unsigned, long, ) \
1248 F(unsigned, long, long) \
1256#undef DEFINE_SIZE_OF_AND_SIGN_OF
1276 std::cout <<
"VariadicStructVarArgs"
1277 <<
"(" << a0.
a <<
", " << a1.
a <<
")"
1285 std::cout <<
"result = " <<
result <<
"\n";
1294 void (*fn)(int64_t, int32_t)) {
1295 fn(response_id, 123);
1299 void (*fn)(int64_t, int32_t)) {
1300 std::thread thread(fn, response_id, 123);
1307 std::thread thread(fn, response_id, 123);
1339 std::cout <<
"TakeString(" << my_string <<
")\n";
1340 return my_string[4];
VULKAN_HPP_DEFAULT_DISPATCH_LOADER_DYNAMIC_STORAGE auto & d
DART_EXPORT_FIELD struct Coord globalStruct
DART_EXPORT_FIELD int32_t globalInt
#define DEFINE_SIZE_OF_AND_SIGN_OF(type_modifier, type, type2)
FlKeyEvent uint64_t FlKeyResponderAsyncCallback callback
std::string printf(const char *fmt,...) SK_PRINTF_LIKE(1
DART_EXPORT int32_t SumPlus42(int32_t a, int32_t b)
DART_EXPORT void NativeTypePointerParam(void *p)
DART_EXPORT double SumVeryManyFloatsDoubles(float a01, double a02, float a03, double a04, float a05, double a06, float a07, double a08, float a09, double a10, float a11, double a12, float a13, double a14, float a15, double a16, float a17, double a18, float a19, double a20, float a21, double a22, float a23, double a24, float a25, double a26, float a27, double a28, float a29, double a30, float a31, double a32, float a33, double a34, float a35, double a36, float a37, double a38, float a39, double a40)
DART_EXPORT int32_t ReturnMinInt32v2()
DART_EXPORT int64_t WCharMaxValue()
DART_EXPORT intptr_t TestReturnVoid(intptr_t(*return_void)())
DART_EXPORT int32_t ReturnMinInt32()
DART_EXPORT intptr_t TestManyDoubles(double(*fn)(double, double, double, double, double, double, double, double, double, double))
DART_EXPORT int64_t * NullableInt64ElemAt1(int64_t *a)
DART_EXPORT int32_t PassStruct(void *)
DART_EXPORT void CallbackNativeTypePointerParam(void(*f)(void *))
DART_EXPORT intptr_t TestUintComputation(uint64_t(*fn)(uint8_t, uint16_t, uint32_t, uint64_t))
DART_EXPORT uint32_t ReturnMaxUint32v2()
DART_EXPORT uint8_t IsRoughly1337(float *a)
DART_EXPORT intptr_t TakeMinInt8(int8_t x)
DART_EXPORT char TakeString(char *my_string)
DART_EXPORT int16_t SumManySmallInts(int8_t a, int16_t b, int8_t c, int16_t d, int8_t e, int16_t f, int8_t g, int16_t h, int8_t i, int16_t j)
DART_EXPORT int64_t Regress39044(int64_t a, int8_t b)
DART_EXPORT int32_t GetGlobalVar()
DART_EXPORT uint8_t ReturnMaxUint8()
DART_EXPORT intptr_t TestThrowExceptionDouble(double(*fn)())
DART_EXPORT intptr_t TestReturnMaxUint8(uint8_t(*fn)())
DART_EXPORT intptr_t TestManyArgs(double(*fn)(intptr_t a, float b, intptr_t c, double d, intptr_t e, float f, intptr_t g, double h, intptr_t i, float j, intptr_t k, double l, intptr_t m, float n, intptr_t o, double p, intptr_t q, float r, intptr_t s, double t))
DART_EXPORT int16_t ReturnMinInt16()
DART_EXPORT double Times1_337Double(double a)
DART_EXPORT intptr_t TestThrowExceptionPointer(void *(*fn)())
DART_EXPORT void * NativeTypePointerReturn()
DART_EXPORT int32_t CallTwoIntFunction(int32_t(*fn)(int32_t, int32_t), int32_t a, int32_t b)
void * malloc(size_t size)
DART_EXPORT void CallTwoIntVoidFunction(void(*fn)(int32_t, int32_t), int32_t a, int32_t b)
DART_EXPORT Struct20BytesHomogeneousInt32Copy PassStructRecursive(int64_t recursionCounter, Struct20BytesHomogeneousInt32Copy a0, Struct20BytesHomogeneousInt32Copy(*f)(int64_t, Struct20BytesHomogeneousInt32Copy))
DART_EXPORT uint64_t SizeOfStruct3BytesPackedInt()
DART_EXPORT void FreeStruct9Uint8(Struct9Uint8 *address)
DART_EXPORT int64_t SumVeryLargeStruct(VeryLargeStruct *vls)
DART_EXPORT intptr_t TestSimpleMultiplyFloat(float(*fn)(float))
DART_EXPORT intptr_t TakeMaxUint8x10(uint8_t a, uint8_t b, uint8_t c, uint8_t d, uint8_t e, uint8_t f, uint8_t g, uint8_t h, uint8_t i, uint8_t j)
DART_EXPORT uint64_t Regress43693(Struct43693 *my_struct)
DART_EXPORT intptr_t ApplyTo42And74(IntptrBinOp binop)
DART_EXPORT intptr_t Regress40537Variant2(uint8_t x)
DART_EXPORT double SumFloatsAndDoubles(float a, double b, float c)
DART_EXPORT intptr_t TakeMinInt16(int16_t x)
DART_EXPORT uint32_t ReturnMaxUint32()
DART_EXPORT Struct46127 Regress46127()
DART_EXPORT intptr_t TakeMaxUint8(uint8_t x)
DART_EXPORT int64_t * Assign1337Index1(int64_t *a)
DART_EXPORT intptr_t TestSimpleAddition(intptr_t(*add)(int, int))
DART_EXPORT void CallFunctionOnSameThread(int64_t response_id, void(*fn)(int64_t, int32_t))
DART_EXPORT intptr_t Times3(intptr_t a)
DART_EXPORT uint16_t ReturnMaxUint16()
DART_EXPORT void DevNullFloat(float a)
DART_EXPORT intptr_t TestTakeMaxUint8x10(intptr_t(*fn)(uint8_t, uint8_t, uint8_t, uint8_t, uint8_t, uint8_t, uint8_t, uint8_t, uint8_t, uint8_t))
DART_EXPORT uint16_t ReturnMaxUint16v2()
DART_EXPORT intptr_t TestSumVeryManySmallInts(int16_t(*fn)(int8_t, int16_t, int8_t, int16_t, int8_t, int16_t, int8_t, int16_t, int8_t, int16_t, int8_t, int16_t, int8_t, int16_t, int8_t, int16_t, int8_t, int16_t, int8_t, int16_t, int8_t, int16_t, int8_t, int16_t, int8_t, int16_t, int8_t, int16_t, int8_t, int16_t, int8_t, int16_t, int8_t, int16_t, int8_t, int16_t, int8_t, int16_t, int8_t, int16_t))
DART_EXPORT int16_t SumVeryManySmallInts(int8_t a01, int16_t a02, int8_t a03, int16_t a04, int8_t a05, int16_t a06, int8_t a07, int16_t a08, int8_t a09, int16_t a10, int8_t a11, int16_t a12, int8_t a13, int16_t a14, int8_t a15, int16_t a16, int8_t a17, int16_t a18, int8_t a19, int16_t a20, int8_t a21, int16_t a22, int8_t a23, int16_t a24, int8_t a25, int16_t a26, int8_t a27, int16_t a28, int8_t a29, int16_t a30, int8_t a31, int16_t a32, int8_t a33, int16_t a34, int8_t a35, int16_t a36, int8_t a37, int16_t a38, int8_t a39, int16_t a40)
DART_EXPORT void CallFunctionOnNewThreadNonBlocking(int64_t response_id, void(*fn)(int64_t, int32_t))
DART_EXPORT int8_t ReturnMinInt8()
DART_EXPORT intptr_t TestManyInts(intptr_t(*fn)(intptr_t, intptr_t, intptr_t, intptr_t, intptr_t, intptr_t, intptr_t, intptr_t, intptr_t, intptr_t))
DART_EXPORT intptr_t TestSimpleMultiply(double(*fn)(double))
DART_EXPORT intptr_t TestSumVeryManyFloatsDoubles(double(*fn)(float, double, float, double, float, double, float, double, float, double, float, double, float, double, float, double, float, double, float, double, float, double, float, double, float, double, float, double, float, double, float, double, float, double, float, double, float, double, float, double))
DART_EXPORT void CallbackNativeTypePointerReturn(void *(*f)())
DART_EXPORT Coord * CoordinateElemAt1(Coord *coord)
DART_EXPORT float InventFloatValue()
DART_EXPORT intptr_t TestThrowException(intptr_t(*fn)())
DART_EXPORT intptr_t TakeMinInt32(int32_t x)
DART_EXPORT intptr_t TestStore(int64_t *(*fn)(int64_t *a))
Coord *(* CoordUnOp)(Coord *coord)
DART_EXPORT Struct9Uint8 * AllocStruct9Uint8()
DART_EXPORT double SumManyDoubles(double a, double b, double c, double d, double e, double f, double g, double h, double i, double j)
DART_EXPORT intptr_t TestIntComputation(int64_t(*fn)(int8_t, int16_t, int32_t, int64_t))
DART_EXPORT int64_t SumSmallNumbers(int8_t a, int16_t b, int32_t c, uint8_t d, uint16_t e, uint32_t f)
DART_EXPORT float Times1_337Float(float a)
DART_EXPORT void CallFunctionOnNewThreadBlocking(int64_t response_id, void(*fn)(int64_t, int32_t))
DART_EXPORT intptr_t Regress40537(uint8_t x)
DART_EXPORT int64_t UintComputation(uint8_t a, uint16_t b, uint32_t c, uint64_t d)
DART_EXPORT intptr_t SumManyInts(intptr_t a, intptr_t b, intptr_t c, intptr_t d, intptr_t e, intptr_t f, intptr_t g, intptr_t h, intptr_t i, intptr_t j)
DART_EXPORT Coord GetGlobalStruct()
DART_EXPORT int64_t WCharMinValue()
DART_EXPORT uint8_t Regress40537Variant3(intptr_t x)
DART_EXPORT int64_t VariadicStructVarArgs(VarArgs a0,...)
DART_EXPORT int64_t SumReturnStruct9Uint8(Struct9Uint8(*callback)(Struct9Uint8 *), Struct9Uint8 *in)
DART_EXPORT void * CallTwoIntPointerFunction(void *(*fn)(int32_t, int32_t), int32_t a, int32_t b)
DART_EXPORT intptr_t SumManyIntsOdd(intptr_t a, intptr_t b, intptr_t c, intptr_t d, intptr_t e, intptr_t f, intptr_t g, intptr_t h, intptr_t i, intptr_t j, intptr_t k)
DART_EXPORT void InduceACrash()
DART_EXPORT int32_t CallTwoPointerIntFunction(int32_t(*fn)(void *, void *), void *a, void *b)
DART_EXPORT intptr_t TakeMaxUint32(uint32_t x)
DART_EXPORT double SumManyNumbers(intptr_t a, float b, intptr_t c, double d, intptr_t e, float f, intptr_t g, double h, intptr_t i, float j, intptr_t k, double l, intptr_t m, float n, intptr_t o, double p, intptr_t q, float r, intptr_t s, double t)
DART_EXPORT intptr_t TestNullPointers(int64_t *(*fn)(int64_t *ptr))
DART_EXPORT intptr_t TestReturnNull(int32_t(*fn)())
DART_EXPORT IntptrBinOp IntptrAdditionClosure()
DART_EXPORT int8_t ReturnMinInt8v2()
DART_EXPORT uint8_t ReturnMaxUint8v2()
DART_EXPORT int16_t ReturnMinInt16v2()
DART_EXPORT Coord * CoordinateUnOpTrice(CoordUnOp unop, Coord *coord)
DART_EXPORT int64_t SumStruct9Uint8(Struct9Uint8 s9)
DART_EXPORT int64_t IntComputation(int8_t a, int16_t b, int32_t c, int64_t d)
DART_EXPORT intptr_t TakeMaxUint16(uint16_t x)
DART_EXPORT intptr_t TestSumFloatsAndDoubles(double(*fn)(float, double, float))
DART_EXPORT void CallbackWithStruct(void(*f)(Struct8BytesNestedIntCopy))
intptr_t(* IntptrBinOp)(intptr_t a, intptr_t b)
DART_EXPORT void SetGlobalVar(int32_t v)
DART_EXPORT Coord * TransposeCoordinate(Coord *coord)
it will be possible to load the file into Perfetto s trace viewer disable asset Prevents usage of any non test fonts unless they were explicitly Loaded via prefetched default font Indicates whether the embedding started a prefetch of the default font manager before creating the engine run In non interactive keep the shell running after the Dart script has completed enable serial On low power devices with low core running concurrent GC tasks on threads can cause them to contend with the UI thread which could potentially lead to jank This option turns off all concurrent GC activities domain network JSON encoded network policy per domain This overrides the DisallowInsecureConnections switch Embedder can specify whether to allow or disallow insecure connections at a domain level old gen heap size
SIN Vec< N, float > abs(const Vec< N, float > &x)
Struct4BytesHomogeneousInt16Copy a1
Struct4BytesHomogeneousInt16Copy a0
VeryLargeStruct * children