From 27a5a7101d20ce5fc51648e775587ab3d640114e Mon Sep 17 00:00:00 2001 From: Heejin Ahn Date: Sat, 23 Jan 2021 04:27:20 +0900 Subject: 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`. --- src/js/binaryen.js-post.js | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/js/binaryen.js-post.js') 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); -- cgit v1.2.3