summaryrefslogtreecommitdiff
path: root/src/js/binaryen.js-post.js
diff options
context:
space:
mode:
authorAlon Zakai <azakai@google.com>2021-01-26 21:09:31 +0000
committerGitHub <noreply@github.com>2021-01-26 13:09:31 -0800
commit5e57a13614c56f959faab675d6bcabbd629ec562 (patch)
tree3c86a2741cffa6da009741506eed4513acc60bf1 /src/js/binaryen.js-post.js
parent89164cdf1403a21a3d79ada0f0cf529d526c9de6 (diff)
downloadbinaryen-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.js15
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);
}
});