diff options
author | Alon Zakai <azakai@google.com> | 2021-01-26 21:09:31 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-01-26 13:09:31 -0800 |
commit | 5e57a13614c56f959faab675d6bcabbd629ec562 (patch) | |
tree | 3c86a2741cffa6da009741506eed4513acc60bf1 /src/js/binaryen.js-post.js | |
parent | 89164cdf1403a21a3d79ada0f0cf529d526c9de6 (diff) | |
download | binaryen-5e57a13614c56f959faab675d6bcabbd629ec562.tar.gz binaryen-5e57a13614c56f959faab675d6bcabbd629ec562.tar.bz2 binaryen-5e57a13614c56f959faab675d6bcabbd629ec562.zip |
[GC] RefIsNull => RefIs. (#3516)
This internal refactoring prepares us for ref.is_func/data/i31, by renaming
the node and adding an "op" field. For now that field must always be "Null"
which means it is a ref.is_null.
This adjusts the C API to match the new IR shape. The high-level JS API
is unchanged.
Diffstat (limited to 'src/js/binaryen.js-post.js')
-rw-r--r-- | src/js/binaryen.js-post.js | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/src/js/binaryen.js-post.js b/src/js/binaryen.js-post.js index 8c6730e9e..c6d1fe31d 100644 --- a/src/js/binaryen.js-post.js +++ b/src/js/binaryen.js-post.js @@ -87,7 +87,7 @@ function initializeConstants() { 'MemoryCopy', 'MemoryFill', 'RefNull', - 'RefIsNull', + 'RefIs', 'RefFunc', 'RefEq', 'Try', @@ -486,6 +486,7 @@ function initializeConstants() { 'WidenLowUVecI16x8ToVecI32x4', 'WidenHighUVecI16x8ToVecI32x4', 'SwizzleVec8x16', + 'RefIsNull', ].forEach(name => { Module['Operations'][name] = Module[name] = Module['_Binaryen' + name](); }); @@ -2102,7 +2103,7 @@ function wrapModule(module, self = {}) { return Module['_BinaryenRefNull'](module, type); }, 'is_null'(value) { - return Module['_BinaryenRefIsNull'](module, value); + return Module['_BinaryenRefIs'](module, Module['RefIsNull'], value); }, 'func'(func, type) { return preserveStack(() => Module['_BinaryenRefFunc'](module, strToStack(func), type)); @@ -2840,11 +2841,11 @@ Module['getExpressionInfo'] = function(expr) { 'id': id, 'type': type }; - case Module['RefIsNullId']: + case Module['RefIsId']: return { 'id': id, 'type': type, - 'value': Module['_BinaryenRefIsNullGetValue'](expr) + 'value': Module['_BinaryenRefIsGetValue'](expr) }; case Module['RefFuncId']: return { @@ -4081,12 +4082,12 @@ Module['MemoryFill'] = makeExpressionWrapper({ } }); -Module['RefIsNull'] = makeExpressionWrapper({ +Module['RefIs'] = makeExpressionWrapper({ 'getValue'(expr) { - return Module['_BinaryenRefIsNullGetValue'](expr); + return Module['_BinaryenRefIsGetValue'](expr); }, 'setValue'(expr, valueExpr) { - Module['_BinaryenRefIsNullSetValue'](expr, valueExpr); + Module['_BinaryenRefIsSetValue'](expr, valueExpr); } }); |