diff options
author | Heejin Ahn <aheejin@gmail.com> | 2021-01-23 04:27:20 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-01-23 04:27:20 +0900 |
commit | 27a5a7101d20ce5fc51648e775587ab3d640114e (patch) | |
tree | bd8427f8b01a998d708847be0cfd08052b57a9ee /src/js/binaryen.js-post.js | |
parent | 69952a98c7c86286518d559958e35cd3639bd3a0 (diff) | |
download | binaryen-27a5a7101d20ce5fc51648e775587ab3d640114e.tar.gz binaryen-27a5a7101d20ce5fc51648e775587ab3d640114e.tar.bz2 binaryen-27a5a7101d20ce5fc51648e775587ab3d640114e.zip |
Reorder i31ref and dataref (#3509)
The binary spec
(https://docs.google.com/document/d/1yAWU3dbs8kUa_wcnnirDxUu9nEBsNfq0Xo90OWx6yuo/edit#)
lists `dataref` after `i31ref`, and `dataref` also comes after `i31ref`
in its binary code in the value-increasing order. This reorders these
two in wasm-type.h and other places, although in most of those places
the order is irrelevant.
This also adds C and JS API for `dataref`.
Diffstat (limited to 'src/js/binaryen.js-post.js')
-rw-r--r-- | src/js/binaryen.js-post.js | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/js/binaryen.js-post.js b/src/js/binaryen.js-post.js index 1ae7b11b2..8c6730e9e 100644 --- a/src/js/binaryen.js-post.js +++ b/src/js/binaryen.js-post.js @@ -38,6 +38,7 @@ function initializeConstants() { ['anyref', 'Anyref'], ['eqref', 'Eqref'], ['i31ref', 'I31ref'], + ['dataref', 'Dataref'], ['unreachable', 'Unreachable'], ['auto', 'Auto'] ].forEach(entry => { @@ -2090,6 +2091,12 @@ function wrapModule(module, self = {}) { } }; + self['dataref'] = { + 'pop'() { + return Module['_BinaryenPop'](module, Module['dataref']); + } + }; + self['ref'] = { 'null'(type) { return Module['_BinaryenRefNull'](module, type); |