summaryrefslogtreecommitdiff
path: root/src/binaryen-c.cpp
diff options
context:
space:
mode:
authorMax Graey <maxgraey@gmail.com>2021-10-09 05:26:08 +0300
committerGitHub <noreply@github.com>2021-10-08 19:26:08 -0700
commitef686a4d932b9b86edc34a3b9b15926f943f6f7b (patch)
tree38a89d5b555d4501b7d504a66c7aec409e45e9b1 /src/binaryen-c.cpp
parent53c5e3e62db25fe3522a1fa615a1f53c4cefdf06 (diff)
downloadbinaryen-ef686a4d932b9b86edc34a3b9b15926f943f6f7b.tar.gz
binaryen-ef686a4d932b9b86edc34a3b9b15926f943f6f7b.tar.bz2
binaryen-ef686a4d932b9b86edc34a3b9b15926f943f6f7b.zip
Add table.size operation (#4224)
Diffstat (limited to 'src/binaryen-c.cpp')
-rw-r--r--src/binaryen-c.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/binaryen-c.cpp b/src/binaryen-c.cpp
index ef6c3abdd..49f453715 100644
--- a/src/binaryen-c.cpp
+++ b/src/binaryen-c.cpp
@@ -1305,6 +1305,12 @@ BinaryenExpressionRef BinaryenTableSet(BinaryenModuleRef module,
.makeTableSet(name, (Expression*)index, (Expression*)value));
}
+BinaryenExpressionRef BinaryenTableSize(BinaryenModuleRef module,
+ const char* name) {
+ return static_cast<Expression*>(
+ Builder(*(Module*)module).makeTableSize(name));
+}
+
BinaryenExpressionRef BinaryenTry(BinaryenModuleRef module,
const char* name,
BinaryenExpressionRef body,
@@ -1950,6 +1956,18 @@ void BinaryenTableSetSetValue(BinaryenExpressionRef expr,
assert(valueExpr);
static_cast<TableSet*>(expression)->value = (Expression*)valueExpr;
}
+// TableSize
+const char* BinaryenTableSizeGetTable(BinaryenExpressionRef expr) {
+ auto* expression = (Expression*)expr;
+ assert(expression->is<TableSize>());
+ return static_cast<TableSize*>(expression)->table.c_str();
+}
+void BinaryenTableSetSizeTable(BinaryenExpressionRef expr, const char* table) {
+ auto* expression = (Expression*)expr;
+ assert(expression->is<TableSize>());
+ assert(table);
+ static_cast<TableSize*>(expression)->table = table;
+}
// MemoryGrow
BinaryenExpressionRef BinaryenMemoryGrowGetDelta(BinaryenExpressionRef expr) {
auto* expression = (Expression*)expr;