summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMax Graey <maxgraey@gmail.com>2021-08-27 23:44:38 +0300
committerGitHub <noreply@github.com>2021-08-27 20:44:38 +0000
commitbabd339e150ba80b0a64d6a627c07d1f557aa342 (patch)
tree71b81d113e094e8d52257e23a13c521603458217 /src
parentc2007eab91ed60ac4bc8a6a555e9dc3e76ef2242 (diff)
downloadbinaryen-babd339e150ba80b0a64d6a627c07d1f557aa342.tar.gz
binaryen-babd339e150ba80b0a64d6a627c07d1f557aa342.tar.bz2
binaryen-babd339e150ba80b0a64d6a627c07d1f557aa342.zip
[API] Add type argument for BinaryenAddTable method (#4107)
In the JS API this is optional and it defaults to `funcref`.
Diffstat (limited to 'src')
-rw-r--r--src/binaryen-c.cpp5
-rw-r--r--src/binaryen-c.h3
-rw-r--r--src/js/binaryen.js-post.js4
3 files changed, 7 insertions, 5 deletions
diff --git a/src/binaryen-c.cpp b/src/binaryen-c.cpp
index 49d485321..35e39142b 100644
--- a/src/binaryen-c.cpp
+++ b/src/binaryen-c.cpp
@@ -3512,8 +3512,9 @@ BinaryenExportRef BinaryenGetExportByIndex(BinaryenModuleRef module,
BinaryenTableRef BinaryenAddTable(BinaryenModuleRef module,
const char* name,
BinaryenIndex initial,
- BinaryenIndex maximum) {
- auto table = Builder::makeTable(name, Type::funcref, initial, maximum);
+ BinaryenIndex maximum,
+ BinaryenType tableType) {
+ auto table = Builder::makeTable(name, Type(tableType), initial, maximum);
table->hasExplicitName = true;
return ((Module*)module)->addTable(std::move(table));
}
diff --git a/src/binaryen-c.h b/src/binaryen-c.h
index d18c0e9ad..d46e971b5 100644
--- a/src/binaryen-c.h
+++ b/src/binaryen-c.h
@@ -2156,7 +2156,8 @@ BINARYEN_REF(Table);
BINARYEN_API BinaryenTableRef BinaryenAddTable(BinaryenModuleRef module,
const char* table,
BinaryenIndex initial,
- BinaryenIndex maximum);
+ BinaryenIndex maximum,
+ BinaryenType tableType);
BINARYEN_API void BinaryenRemoveTable(BinaryenModuleRef module,
const char* table);
BINARYEN_API BinaryenIndex BinaryenGetNumTables(BinaryenModuleRef module);
diff --git a/src/js/binaryen.js-post.js b/src/js/binaryen.js-post.js
index 6ecfefee8..645290478 100644
--- a/src/js/binaryen.js-post.js
+++ b/src/js/binaryen.js-post.js
@@ -2348,8 +2348,8 @@ function wrapModule(module, self = {}) {
self['getGlobal'] = function(name) {
return preserveStack(() => Module['_BinaryenGetGlobal'](module, strToStack(name)));
};
- self['addTable'] = function(table, initial, maximum) {
- return preserveStack(() => Module['_BinaryenAddTable'](module, strToStack(table), initial, maximum));
+ self['addTable'] = function(table, initial, maximum, type = Module['_BinaryenTypeFuncref']()) {
+ return preserveStack(() => Module['_BinaryenAddTable'](module, strToStack(table), initial, maximum, type));
}
self['getTable'] = function(name) {
return preserveStack(() => Module['_BinaryenGetTable'](module, strToStack(name)));