From 5e57a13614c56f959faab675d6bcabbd629ec562 Mon Sep 17 00:00:00 2001 From: Alon Zakai Date: Tue, 26 Jan 2021 21:09:31 +0000 Subject: [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. --- src/js/binaryen.js-post.js | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) (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 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); } }); -- cgit v1.2.3