diff options
Diffstat (limited to 'src/js')
-rw-r--r-- | src/js/binaryen.js-post.js | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/src/js/binaryen.js-post.js b/src/js/binaryen.js-post.js index 4c5f5ed3b..8fbd2b7ec 100644 --- a/src/js/binaryen.js-post.js +++ b/src/js/binaryen.js-post.js @@ -91,6 +91,8 @@ function initializeConstants() { 'RefIs', 'RefFunc', 'RefEq', + 'TableGet', + 'TableSet', 'Try', 'Throw', 'Rethrow', @@ -549,6 +551,8 @@ function initializeConstants() { 'WritesGlobal', 'ReadsMemory', 'WritesMemory', + 'ReadsTable', + 'WritesTable', 'ImplicitTrap', 'IsAtomic', 'Throws', @@ -661,6 +665,15 @@ function wrapModule(module, self = {}) { } } + self['table'] = { + 'get'(name, index, type) { + return Module['_BinaryenTableGet'](module, strToStack(name), index, type); + }, + 'set'(name, index, value) { + return Module['_BinaryenTableSet'](module, strToStack(name), index, value); + } + } + self['memory'] = { 'size'() { return Module['_BinaryenMemorySize'](module); @@ -2797,6 +2810,21 @@ Module['getExpressionInfo'] = function(expr) { 'name': UTF8ToString(Module['_BinaryenGlobalSetGetName'](expr)), 'value': Module['_BinaryenGlobalSetGetValue'](expr) }; + case Module['TableGetId']: + return { + 'id': id, + 'type': type, + 'table': UTF8ToString(Module['_BinaryenTableGetGetTable'](expr)), + 'index': Module['_BinaryenTableGetGetIndex'](expr) + }; + case Module['TableSetId']: + return { + 'id': id, + 'type': type, + 'table': UTF8ToString(Module['_BinaryenTableSetGetTable'](expr)), + 'index': Module['_BinaryenTableSetGetIndex'](expr), + 'value': Module['_BinaryenTableSetGetValue'](expr) + }; case Module['LoadId']: return { 'id': id, @@ -3767,6 +3795,42 @@ Module['GlobalSet'] = makeExpressionWrapper({ } }); +Module['TableGet'] = makeExpressionWrapper({ + 'getTable'(expr) { + return UTF8ToString(Module['_BinaryenTableGetGetTable'](expr)); + }, + 'setTable'(expr, name) { + preserveStack(() => { Module['_BinaryenTableGetSetTable'](expr, strToStack(name)) }); + }, + 'getIndex'(expr) { + return Module['_BinaryenTableGetGetIndex'](expr); + }, + 'setIndex'(expr, indexExpr) { + Module['_BinaryenTableGetSetIndex'](expr, indexExpr); + } +}); + +Module['TableSet'] = makeExpressionWrapper({ + 'getTable'(expr) { + return UTF8ToString(Module['_BinaryenTableSetGetTable'](expr)); + }, + 'setTable'(expr, name) { + preserveStack(() => { Module['_BinaryenTableSetSetTable'](expr, strToStack(name)) }); + }, + 'getIndex'(expr) { + return Module['_BinaryenTableSetGetIndex'](expr); + }, + 'setIndex'(expr, indexExpr) { + Module['_BinaryenTableSetSetIndex'](expr, indexExpr); + }, + 'getValue'(expr) { + return Module['_BinaryenTableSetGetValue'](expr); + }, + 'setValue'(expr, valueExpr) { + Module['_BinaryenTableSetSetValue'](expr, valueExpr); + } +}); + Module['MemorySize'] = makeExpressionWrapper({}); Module['MemoryGrow'] = makeExpressionWrapper({ |