summaryrefslogtreecommitdiff
path: root/test/example/c-api-kitchen-sink.c
diff options
context:
space:
mode:
authorThomas Lively <7121787+tlively@users.noreply.github.com>2019-07-15 17:12:10 -0700
committerGitHub <noreply@github.com>2019-07-15 17:12:10 -0700
commitf6ca3828aca8e7da966ba158dd9dab16205206db (patch)
tree899995b7072e31039b435d679a66d11b56fb8730 /test/example/c-api-kitchen-sink.c
parentc7e927179b4ce67bbf4f4c10a62e0fb0f7960750 (diff)
downloadbinaryen-f6ca3828aca8e7da966ba158dd9dab16205206db.tar.gz
binaryen-f6ca3828aca8e7da966ba158dd9dab16205206db.tar.bz2
binaryen-f6ca3828aca8e7da966ba158dd9dab16205206db.zip
Tail call C/JS API (#2223)
Diffstat (limited to 'test/example/c-api-kitchen-sink.c')
-rw-r--r--test/example/c-api-kitchen-sink.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/test/example/c-api-kitchen-sink.c b/test/example/c-api-kitchen-sink.c
index f686a1493..8b2d3ae8d 100644
--- a/test/example/c-api-kitchen-sink.c
+++ b/test/example/c-api-kitchen-sink.c
@@ -459,12 +459,20 @@ void test_core() {
BinaryenDrop(module, BinaryenLocalTee(module, 0, makeInt32(module, 102))),
BinaryenLoad(module, 4, 0, 0, 0, BinaryenTypeInt32(), makeInt32(module, 1)),
BinaryenLoad(module, 2, 1, 2, 1, BinaryenTypeInt64(), makeInt32(module, 8)),
- BinaryenLoad(module, 4, 0, 0, 0, BinaryenTypeFloat32(), makeInt32(module, 2)),
- BinaryenLoad(module, 8, 0, 2, 8, BinaryenTypeFloat64(), makeInt32(module, 9)),
+ BinaryenLoad(
+ module, 4, 0, 0, 0, BinaryenTypeFloat32(), makeInt32(module, 2)),
+ BinaryenLoad(
+ module, 8, 0, 2, 8, BinaryenTypeFloat64(), makeInt32(module, 9)),
BinaryenStore(module, 4, 0, 0, temp13, temp14, BinaryenTypeInt32()),
BinaryenStore(module, 8, 2, 4, temp15, temp16, BinaryenTypeInt64()),
BinaryenSelect(module, temp10, temp11, temp12),
BinaryenReturn(module, makeInt32(module, 1337)),
+ // Tail call
+ BinaryenReturnCall(
+ module, "kitchen()sinker", callOperands4, 4, BinaryenTypeInt32()),
+ BinaryenReturnCallIndirect(
+ module, makeInt32(module, 2449), callOperands4b, 4, "iiIfF"),
+
// TODO: Host
BinaryenNop(module),
BinaryenUnreachable(module),