diff options
author | Max Graey <maxgraey@gmail.com> | 2021-10-09 05:26:08 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-10-08 19:26:08 -0700 |
commit | ef686a4d932b9b86edc34a3b9b15926f943f6f7b (patch) | |
tree | 38a89d5b555d4501b7d504a66c7aec409e45e9b1 /src/binaryen-c.cpp | |
parent | 53c5e3e62db25fe3522a1fa615a1f53c4cefdf06 (diff) | |
download | binaryen-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.cpp | 18 |
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; |