summaryrefslogtreecommitdiff
path: root/src/js/binaryen.js-post.js
diff options
context:
space:
mode:
authorHeejin Ahn <aheejin@gmail.com>2021-01-23 04:27:20 +0900
committerGitHub <noreply@github.com>2021-01-23 04:27:20 +0900
commit27a5a7101d20ce5fc51648e775587ab3d640114e (patch)
treebd8427f8b01a998d708847be0cfd08052b57a9ee /src/js/binaryen.js-post.js
parent69952a98c7c86286518d559958e35cd3639bd3a0 (diff)
downloadbinaryen-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.js7
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);