<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[209278] tags/Safari-603.1.14</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/209278">209278</a></dd>
<dt>Author</dt> <dd>matthew_hanson@apple.com</dd>
<dt>Date</dt> <dd>2016-12-02 15:07:25 -0800 (Fri, 02 Dec 2016)</dd>
</dl>

<h3>Log Message</h3>
<pre>Merge <a href="http://trac.webkit.org/projects/webkit/changeset/209242">r209242</a>.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#tagsSafari603114JSTestsChangeLog">tags/Safari-603.1.14/JSTests/ChangeLog</a></li>
<li><a href="#tagsSafari603114JSTestswasmBuilderjs">tags/Safari-603.1.14/JSTests/wasm/Builder.js</a></li>
<li><a href="#tagsSafari603114JSTestswasmBuilder_WebAssemblyBinaryjs">tags/Safari-603.1.14/JSTests/wasm/Builder_WebAssemblyBinary.js</a></li>
<li><a href="#tagsSafari603114JSTestswasmLowLevelBinaryjs">tags/Safari-603.1.14/JSTests/wasm/LowLevelBinary.js</a></li>
<li><a href="#tagsSafari603114JSTestswasmWASMjs">tags/Safari-603.1.14/JSTests/wasm/WASM.js</a></li>
<li><a href="#tagsSafari603114JSTestswasmjsapitest_basic_apijs">tags/Safari-603.1.14/JSTests/wasm/js-api/test_basic_api.js</a></li>
<li><a href="#tagsSafari603114JSTestswasmselftesttest_BuilderWebAssemblyjs">tags/Safari-603.1.14/JSTests/wasm/self-test/test_BuilderWebAssembly.js</a></li>
<li><a href="#tagsSafari603114JSTestswasmselftesttest_WASMjs">tags/Safari-603.1.14/JSTests/wasm/self-test/test_WASM.js</a></li>
<li><a href="#tagsSafari603114JSTestswasmwasmjson">tags/Safari-603.1.14/JSTests/wasm/wasm.json</a></li>
<li><a href="#tagsSafari603114SourceJavaScriptCoreChangeLog">tags/Safari-603.1.14/Source/JavaScriptCore/ChangeLog</a></li>
<li><a href="#tagsSafari603114SourceJavaScriptCorewasmWasmB3IRGeneratorcpp">tags/Safari-603.1.14/Source/JavaScriptCore/wasm/WasmB3IRGenerator.cpp</a></li>
<li><a href="#tagsSafari603114SourceJavaScriptCorewasmWasmCallingConventionh">tags/Safari-603.1.14/Source/JavaScriptCore/wasm/WasmCallingConvention.h</a></li>
<li><a href="#tagsSafari603114SourceJavaScriptCorewasmWasmFormatcpp">tags/Safari-603.1.14/Source/JavaScriptCore/wasm/WasmFormat.cpp</a></li>
<li><a href="#tagsSafari603114SourceJavaScriptCorewasmWasmFormath">tags/Safari-603.1.14/Source/JavaScriptCore/wasm/WasmFormat.h</a></li>
<li><a href="#tagsSafari603114SourceJavaScriptCorewasmWasmFunctionParserh">tags/Safari-603.1.14/Source/JavaScriptCore/wasm/WasmFunctionParser.h</a></li>
<li><a href="#tagsSafari603114SourceJavaScriptCorewasmWasmModuleParsercpp">tags/Safari-603.1.14/Source/JavaScriptCore/wasm/WasmModuleParser.cpp</a></li>
<li><a href="#tagsSafari603114SourceJavaScriptCorewasmWasmModuleParserh">tags/Safari-603.1.14/Source/JavaScriptCore/wasm/WasmModuleParser.h</a></li>
<li><a href="#tagsSafari603114SourceJavaScriptCorewasmWasmParserh">tags/Safari-603.1.14/Source/JavaScriptCore/wasm/WasmParser.h</a></li>
<li><a href="#tagsSafari603114SourceJavaScriptCorewasmgenerateWasmpy">tags/Safari-603.1.14/Source/JavaScriptCore/wasm/generateWasm.py</a></li>
<li><a href="#tagsSafari603114SourceJavaScriptCorewasmgenerateWasmOpsHeaderpy">tags/Safari-603.1.14/Source/JavaScriptCore/wasm/generateWasmOpsHeader.py</a></li>
<li><a href="#tagsSafari603114SourceJavaScriptCorewasmjsWebAssemblyFunctioncpp">tags/Safari-603.1.14/Source/JavaScriptCore/wasm/js/WebAssemblyFunction.cpp</a></li>
<li><a href="#tagsSafari603114SourceJavaScriptCorewasmwasmjson">tags/Safari-603.1.14/Source/JavaScriptCore/wasm/wasm.json</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="tagsSafari603114JSTestsChangeLog"></a>
<div class="modfile"><h4>Modified: tags/Safari-603.1.14/JSTests/ChangeLog (209277 => 209278)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-603.1.14/JSTests/ChangeLog        2016-12-02 23:05:48 UTC (rev 209277)
+++ tags/Safari-603.1.14/JSTests/ChangeLog        2016-12-02 23:07:25 UTC (rev 209278)
</span><span class="lines">@@ -1,3 +1,35 @@
</span><ins>+2016-12-02  Matthew Hanson  &lt;matthew_hanson@apple.com&gt;
+
+        Merge r209242.
+
+    2016-12-02  JF Bastien  &lt;jfbastien@apple.com&gt;
+
+            WebAssembly: revert patch causing odd breakage
+            https://bugs.webkit.org/show_bug.cgi?id=165308
+
+            Unreviewed.
+
+            Bug #164724 seems to cause build issues which I haven't tracked down yet. WasmOps.h can't be found:
+            ./Source/JavaScriptCore/wasm/WasmFormat.h:34:10: fatal error: 'WasmOps.h' file not found
+
+            It's weird since the file is auto-generated and has been for a while. #164724 merely includes it in WasmFormat.h.
+
+            * wasm/Builder.js:
+            (const._normalizeFunctionSignature):
+            * wasm/Builder_WebAssemblyBinary.js:
+            (const.emitters.Type):
+            (const.emitters.Code):
+            * wasm/LowLevelBinary.js:
+            (export.default.LowLevelBinary.prototype.inline_signature_type):
+            (export.default.LowLevelBinary.prototype.block_type): Deleted.
+            * wasm/WASM.js:
+            * wasm/js-api/test_basic_api.js:
+            * wasm/self-test/test_BuilderWebAssembly.js:
+            (EmptyModule):
+            (CustomSection):
+            * wasm/self-test/test_WASM.js:
+            * wasm/wasm.json:
+
</ins><span class="cx"> 2016-12-01  Ryan Haddad  &lt;ryanhaddad@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Skip flaky test ChakraCore/test/fieldopts/objtypespec-newobj-invalidation.1.js
</span><span class="lines">@@ -43,31 +75,6 @@
</span><span class="cx"> 
</span><span class="cx"> 2016-11-30  JF Bastien  &lt;jfbastien@apple.com&gt;
</span><span class="cx"> 
</span><del>-        WebAssembly: update binary format to 0xD version
-        https://bugs.webkit.org/show_bug.cgi?id=164724
-
-        Reviewed by Saam Barati.
-
-        As described in the following PR: https://github.com/WebAssembly/design/pull/836
-
-        * wasm/Builder.js:
-        (const._normalizeFunctionSignature):
-        * wasm/Builder_WebAssemblyBinary.js:
-        (const.emitters.Type):
-        (const.emitters.Code):
-        * wasm/LowLevelBinary.js:
-        (export.default.LowLevelBinary.prototype.block_type):
-        (export.default.LowLevelBinary.prototype.inline_signature_type): Deleted.
-        * wasm/WASM.js:
-        * wasm/js-api/test_basic_api.js:
-        * wasm/self-test/test_BuilderWebAssembly.js:
-        (EmptyModule):
-        (CustomSection):
-        * wasm/self-test/test_WASM.js:
-        * wasm/wasm.json:
-
-2016-11-30  JF Bastien  &lt;jfbastien@apple.com&gt;
-
</del><span class="cx">         WebAssembly builder: don't throw when checker not implemented
</span><span class="cx">         https://bugs.webkit.org/show_bug.cgi?id=165219
</span><span class="cx"> 
</span></span></pre></div>
<a id="tagsSafari603114JSTestswasmBuilderjs"></a>
<div class="modfile"><h4>Modified: tags/Safari-603.1.14/JSTests/wasm/Builder.js (209277 => 209278)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-603.1.14/JSTests/wasm/Builder.js        2016-12-02 23:05:48 UTC (rev 209277)
+++ tags/Safari-603.1.14/JSTests/wasm/Builder.js        2016-12-02 23:07:25 UTC (rev 209278)
</span><span class="lines">@@ -51,7 +51,7 @@
</span><span class="cx">     if (typeof(ret) === &quot;undefined&quot;)
</span><span class="cx">         ret = &quot;void&quot;;
</span><span class="cx">     assert.isNotArray(ret, `Multiple return values not supported by WebAssembly yet`);
</span><del>-    assert.truthy(WASM.isValidBlockType(ret), `Type return ${ret} must be valid block type`);
</del><ins>+    assert.falsy(ret !== &quot;void&quot; &amp;&amp; !WASM.isValidValueType(ret), `Type return ${ret} must be valid value type`);
</ins><span class="cx">     return [params, ret];
</span><span class="cx"> };
</span><span class="cx"> 
</span><span class="lines">@@ -156,7 +156,7 @@
</span><span class="cx"> 
</span><span class="cx"> const _checkStackArgs = (op, param) =&gt; {
</span><span class="cx">     for (let expect of param) {
</span><del>-        if (WASM.isValidType(expect)) {
</del><ins>+        if (WASM.isValidValueType(expect)) {
</ins><span class="cx">             // FIXME implement stack checks for arguments. https://bugs.webkit.org/show_bug.cgi?id=163421
</span><span class="cx">         } else {
</span><span class="cx">             // Handle our own meta-types.
</span><span class="lines">@@ -177,7 +177,7 @@
</span><span class="cx"> 
</span><span class="cx"> const _checkStackReturn = (op, ret) =&gt; {
</span><span class="cx">     for (let expect of ret) {
</span><del>-        if (WASM.isValidType(expect)) {
</del><ins>+        if (WASM.isValidValueType(expect)) {
</ins><span class="cx">             // FIXME implement stack checks for return. https://bugs.webkit.org/show_bug.cgi?id=163421
</span><span class="cx">         } else {
</span><span class="cx">             // Handle our own meta-types.
</span><span class="lines">@@ -221,7 +221,8 @@
</span><span class="cx">         case &quot;default_target&quot;: break; // improve checking https://bugs.webkit.org/show_bug.cgi?id=163421
</span><span class="cx">         case &quot;relative_depth&quot;: break; // improve checking https://bugs.webkit.org/show_bug.cgi?id=163421
</span><span class="cx">         case &quot;sig&quot;:
</span><del>-            assert.truthy(WASM.isValidBlockType(imms[idx]), `Invalid block type on ${op}: &quot;${imms[idx]}&quot;`);
</del><ins>+            // FIXME this should be isValidBlockType https://bugs.webkit.org/show_bug.cgi?id=164724
+            assert.truthy(imms[idx] === &quot;void&quot; || WASM.isValidValueType(imms[idx]), `Invalid block type on ${op}: &quot;${imms[idx]}&quot;`);
</ins><span class="cx">             break;
</span><span class="cx">         case &quot;target_count&quot;: break; // improve checking https://bugs.webkit.org/show_bug.cgi?id=163421
</span><span class="cx">         case &quot;target_table&quot;: break; // improve checking https://bugs.webkit.org/show_bug.cgi?id=163421
</span></span></pre></div>
<a id="tagsSafari603114JSTestswasmBuilder_WebAssemblyBinaryjs"></a>
<div class="modfile"><h4>Modified: tags/Safari-603.1.14/JSTests/wasm/Builder_WebAssemblyBinary.js (209277 => 209278)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-603.1.14/JSTests/wasm/Builder_WebAssemblyBinary.js        2016-12-02 23:05:48 UTC (rev 209277)
+++ tags/Safari-603.1.14/JSTests/wasm/Builder_WebAssemblyBinary.js        2016-12-02 23:07:25 UTC (rev 209278)
</span><span class="lines">@@ -33,15 +33,16 @@
</span><span class="cx">     Type: (section, bin) =&gt; {
</span><span class="cx">         put(bin, &quot;varuint32&quot;, section.data.length);
</span><span class="cx">         for (const entry of section.data) {
</span><del>-            put(bin, &quot;varint7&quot;, WASM.typeValue[&quot;func&quot;]);
</del><ins>+            const funcTypeConstructor = -0x20; // FIXME Move this to wasm.json.
+            put(bin, &quot;varint7&quot;, funcTypeConstructor);
</ins><span class="cx">             put(bin, &quot;varuint32&quot;, entry.params.length);
</span><span class="cx">             for (const param of entry.params)
</span><del>-                put(bin, &quot;varint7&quot;, WASM.typeValue[param]);
</del><ins>+                put(bin, &quot;uint8&quot;, WASM.valueTypeValue[param]);
</ins><span class="cx">             if (entry.ret === &quot;void&quot;)
</span><span class="cx">                 put(bin, &quot;varuint1&quot;, 0);
</span><span class="cx">             else {
</span><span class="cx">                 put(bin, &quot;varuint1&quot;, 1);
</span><del>-                put(bin, &quot;varint7&quot;, WASM.typeValue[entry.ret]);
</del><ins>+                put(bin, &quot;uint8&quot;, WASM.valueTypeValue[entry.ret]);
</ins><span class="cx">             }
</span><span class="cx">         }
</span><span class="cx">     },
</span><span class="lines">@@ -106,7 +107,7 @@
</span><span class="cx">             put(funcBin, &quot;varuint32&quot;, localCount);
</span><span class="cx">             for (let i = func.parameterCount; i &lt; func.locals.length; ++i) {
</span><span class="cx">                 put(funcBin, &quot;varuint32&quot;, 1);
</span><del>-                put(funcBin, &quot;varint7&quot;, WASM.typeValue[func.locals[i]]);
</del><ins>+                put(funcBin, &quot;uint8&quot;, WASM.valueTypeValue[func.locals[i]]);
</ins><span class="cx">             }
</span><span class="cx"> 
</span><span class="cx">             for (const op of func.code) {
</span></span></pre></div>
<a id="tagsSafari603114JSTestswasmLowLevelBinaryjs"></a>
<div class="modfile"><h4>Modified: tags/Safari-603.1.14/JSTests/wasm/LowLevelBinary.js (209277 => 209278)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-603.1.14/JSTests/wasm/LowLevelBinary.js        2016-12-02 23:05:48 UTC (rev 209277)
+++ tags/Safari-603.1.14/JSTests/wasm/LowLevelBinary.js        2016-12-02 23:07:25 UTC (rev 209278)
</span><span class="lines">@@ -159,10 +159,8 @@
</span><span class="cx">             throw new RangeError(`Invalid varuint7 ${v} range is [${varuint32Min}, ${varuint7Max}]`);
</span><span class="cx">         this.varuint32(v);
</span><span class="cx">     }
</span><del>-    block_type(v) {
-        if (!WASM.isValidBlockType(v))
-            throw new Error(`Invalid block type ${v}`);
-        this.varint7(WASM.typeValue[v]);
</del><ins>+    inline_signature_type(v) {
+        this.varint7(WASM.valueTypeValue[v]);
</ins><span class="cx">     }
</span><span class="cx">     string(str) {
</span><span class="cx">         let patch = this.newPatchable(&quot;varuint32&quot;);
</span></span></pre></div>
<a id="tagsSafari603114JSTestswasmWASMjs"></a>
<div class="modfile"><h4>Modified: tags/Safari-603.1.14/JSTests/wasm/WASM.js (209277 => 209278)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-603.1.14/JSTests/wasm/WASM.js        2016-12-02 23:05:48 UTC (rev 209277)
+++ tags/Safari-603.1.14/JSTests/wasm/WASM.js        2016-12-02 23:07:25 UTC (rev 209278)
</span><span class="lines">@@ -33,14 +33,10 @@
</span><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> export const description = utilities.json(&quot;wasm.json&quot;);
</span><del>-export const type = Object.keys(description.type);
-const _typeSet = new Set(type);
-export const isValidType = v =&gt; _typeSet.has(v);
-export const typeValue = _mapValues(description.type);
-const _valueTypeSet = new Set(description.value_type);
</del><ins>+export const valueType = Object.keys(description.value_type);
+const _valueTypeSet = new Set(valueType);
</ins><span class="cx"> export const isValidValueType = v =&gt; _valueTypeSet.has(v);
</span><del>-const _blockTypeSet = new Set(description.block_type);
-export const isValidBlockType = v =&gt; _blockTypeSet.has(v);
</del><ins>+export const valueTypeValue = _mapValues(description.value_type);
</ins><span class="cx"> export const externalKindValue = _mapValues(description.external_kind);
</span><span class="cx"> export const sections = Object.keys(description.section);
</span><span class="cx"> export const sectionEncodingType = description.section[sections[0]].type;
</span></span></pre></div>
<a id="tagsSafari603114JSTestswasmjsapitest_basic_apijs"></a>
<div class="modfile"><h4>Modified: tags/Safari-603.1.14/JSTests/wasm/js-api/test_basic_api.js (209277 => 209278)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-603.1.14/JSTests/wasm/js-api/test_basic_api.js        2016-12-02 23:05:48 UTC (rev 209277)
+++ tags/Safari-603.1.14/JSTests/wasm/js-api/test_basic_api.js        2016-12-02 23:07:25 UTC (rev 209278)
</span><span class="lines">@@ -1,7 +1,7 @@
</span><span class="cx"> import * as assert from '../assert.js';
</span><span class="cx"> import * as utilities from '../utilities.js';
</span><span class="cx"> 
</span><del>-const version = 0x0D;
</del><ins>+const version = 0xC;
</ins><span class="cx"> const emptyModuleArray = Uint8Array.of(0x0, 0x61, 0x73, 0x6d, version, 0x00, 0x00, 0x00);
</span><span class="cx"> const invalidConstructorInputs = [undefined, null, &quot;&quot;, 1, {}, []];
</span><span class="cx"> const invalidInstanceImports = [null, &quot;&quot;, 1];
</span></span></pre></div>
<a id="tagsSafari603114JSTestswasmselftesttest_BuilderWebAssemblyjs"></a>
<div class="modfile"><h4>Modified: tags/Safari-603.1.14/JSTests/wasm/self-test/test_BuilderWebAssembly.js (209277 => 209278)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-603.1.14/JSTests/wasm/self-test/test_BuilderWebAssembly.js        2016-12-02 23:05:48 UTC (rev 209277)
+++ tags/Safari-603.1.14/JSTests/wasm/self-test/test_BuilderWebAssembly.js        2016-12-02 23:07:25 UTC (rev 209278)
</span><span class="lines">@@ -6,7 +6,7 @@
</span><span class="cx">     const bin = builder.WebAssembly();
</span><span class="cx">     // Note: this will change as we update version number.
</span><span class="cx">     assert.eq(bin.hexdump().trim(),
</span><del>-              &quot;00000000 00 61 73 6d 0d 00 00 00                          |·asm····        |&quot;);
</del><ins>+              &quot;00000000 00 61 73 6d 0c 00 00 00                          |·asm····        |&quot;);
</ins><span class="cx"> })();
</span><span class="cx"> 
</span><span class="cx"> (function EmptyModule() {
</span><span class="lines">@@ -27,6 +27,6 @@
</span><span class="cx">         .End()
</span><span class="cx">         .WebAssembly();
</span><span class="cx">     assert.eq(bin.hexdump().trim(),
</span><del>-              [&quot;00000000 00 61 73 6d 0d 00 00 00 00 0a 05 4f 48 48 41 49  |·asm·······OHHAI|&quot;,
</del><ins>+              [&quot;00000000 00 61 73 6d 0c 00 00 00 00 0a 05 4f 48 48 41 49  |·asm·······OHHAI|&quot;,
</ins><span class="cx">                &quot;00000010 de ad c0 fe                                      |····            |&quot;].join(&quot;\n&quot;));
</span><span class="cx"> })();
</span></span></pre></div>
<a id="tagsSafari603114JSTestswasmselftesttest_WASMjs"></a>
<div class="modfile"><h4>Modified: tags/Safari-603.1.14/JSTests/wasm/self-test/test_WASM.js (209277 => 209278)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-603.1.14/JSTests/wasm/self-test/test_WASM.js        2016-12-02 23:05:48 UTC (rev 209277)
+++ tags/Safari-603.1.14/JSTests/wasm/self-test/test_WASM.js        2016-12-02 23:07:25 UTC (rev 209278)
</span><span class="lines">@@ -2,16 +2,17 @@
</span><span class="cx"> import * as WASM from '../WASM.js';
</span><span class="cx"> 
</span><span class="cx"> assert.isNotUndef(WASM.description);
</span><del>-assert.isNotUndef(WASM.type);
-assert.ge(WASM.type.length, 7);
</del><ins>+assert.isNotUndef(WASM.valueType);
+assert.ge(WASM.valueType.length, 4);
</ins><span class="cx"> 
</span><del>-for (const v of WASM.type)
-    if (!WASM.isValidType(v))
-        throw new Error(`Expected value ${v} to be a valid type`);
</del><ins>+for (const v of WASM.valueType)
+    if (!WASM.isValidValueType(v))
+        throw new Error(`Expected value ${v} to be a valid value type`);
</ins><span class="cx"> 
</span><span class="cx"> const expectedFields = [
</span><span class="cx">     &quot;preamble&quot;,
</span><del>-    &quot;type&quot;,
</del><ins>+    &quot;value_type&quot;,
+    &quot;inline_signature_type&quot;,
</ins><span class="cx">     &quot;external_kind&quot;,
</span><span class="cx">     &quot;section&quot;,
</span><span class="cx">     &quot;opcode&quot;,
</span></span></pre></div>
<a id="tagsSafari603114JSTestswasmwasmjson"></a>
<div class="modfile"><h4>Modified: tags/Safari-603.1.14/JSTests/wasm/wasm.json (209277 => 209278)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-603.1.14/JSTests/wasm/wasm.json        2016-12-02 23:05:48 UTC (rev 209277)
+++ tags/Safari-603.1.14/JSTests/wasm/wasm.json        2016-12-02 23:07:25 UTC (rev 209278)
</span><span class="lines">@@ -1,23 +1,25 @@
</span><span class="cx"> {
</span><span class="cx">     &quot;comments&quot;: [&quot;This file describes the WebAssembly ISA.&quot;,
</span><del>-                 &quot;Scripts in this folder auto-generate C++ code for JavaScriptCore as well as the testing DSL which WebKit's WebAssembly tests use.&quot;
</del><ins>+                 &quot;Scripts in this folder auto-generate C++ code for JavaScriptCore as well as the testing DSL which WebKit's WebAssembly tests use.&quot;,
+                 &quot;When you update this file you need to re-generate the C++ code: jsc ./JSTests/stress/wasm/generate-wasmops-header.js &gt; ./Source/JavaScriptCore/wasm/WASMOps.h&quot;
</ins><span class="cx">                 ],
</span><span class="cx">     &quot;preamble&quot;: [
</span><span class="cx">         { &quot;name&quot;: &quot;magic number&quot;, &quot;type&quot;: &quot;uint32&quot;, &quot;value&quot;: 1836278016, &quot;description&quot;: &quot;NULL character followed by 'asm'&quot; },
</span><del>-        { &quot;name&quot;: &quot;version&quot;,      &quot;type&quot;: &quot;uint32&quot;, &quot;value&quot;:         13, &quot;description&quot;: &quot;Version number, will be reset to 1 for MVP&quot; }
</del><ins>+        { &quot;name&quot;: &quot;version&quot;,      &quot;type&quot;: &quot;uint32&quot;, &quot;value&quot;:         12, &quot;description&quot;: &quot;Version number, will be reset to 1 for MVP&quot; }
</ins><span class="cx">     ],
</span><del>-    &quot;type&quot; : {
-        &quot;i32&quot;:     { &quot;type&quot;: &quot;varint7&quot;, &quot;value&quot;:  -1, &quot;b3type&quot;: &quot;B3::Int32&quot; },
-        &quot;i64&quot;:     { &quot;type&quot;: &quot;varint7&quot;, &quot;value&quot;:  -2, &quot;b3type&quot;: &quot;B3::Int64&quot; },
-        &quot;f32&quot;:     { &quot;type&quot;: &quot;varint7&quot;, &quot;value&quot;:  -3, &quot;b3type&quot;: &quot;B3::Float&quot; },
-        &quot;f64&quot;:     { &quot;type&quot;: &quot;varint7&quot;, &quot;value&quot;:  -4, &quot;b3type&quot;: &quot;B3::Double&quot; },
-        &quot;anyfunc&quot;: { &quot;type&quot;: &quot;varint7&quot;, &quot;value&quot;: -16, &quot;b3type&quot;: &quot;B3::Void&quot; },
-        &quot;func&quot;:    { &quot;type&quot;: &quot;varint7&quot;, &quot;value&quot;: -32, &quot;b3type&quot;: &quot;B3::Void&quot; },
-        &quot;void&quot;:    { &quot;type&quot;: &quot;varint7&quot;, &quot;value&quot;: -64, &quot;b3type&quot;: &quot;B3::Void&quot; }
</del><ins>+    &quot;value_type&quot; : {
+        &quot;i32&quot;: { &quot;type&quot;: &quot;uint8&quot;, &quot;value&quot;: 1 },
+        &quot;i64&quot;: { &quot;type&quot;: &quot;uint8&quot;, &quot;value&quot;: 2 },
+        &quot;f32&quot;: { &quot;type&quot;: &quot;uint8&quot;, &quot;value&quot;: 3 },
+        &quot;f64&quot;: { &quot;type&quot;: &quot;uint8&quot;, &quot;value&quot;: 4 }
</ins><span class="cx">     },
</span><del>-    &quot;value_type&quot;: [&quot;i32&quot;, &quot;i64&quot;, &quot;f32&quot;, &quot;f64&quot;],
-    &quot;block_type&quot;: [&quot;i32&quot;, &quot;i64&quot;, &quot;f32&quot;, &quot;f64&quot;, &quot;void&quot;],
-    &quot;elem_type&quot;: [&quot;anyfunc&quot;],
</del><ins>+    &quot;inline_signature_type&quot; : {
+        &quot;void&quot;: { &quot;type&quot;: &quot;uint8&quot;, &quot;value&quot;: 0 },
+        &quot;i32&quot;:  { &quot;type&quot;: &quot;uint8&quot;, &quot;value&quot;: 1 },
+        &quot;i64&quot;:  { &quot;type&quot;: &quot;uint8&quot;, &quot;value&quot;: 2 },
+        &quot;f32&quot;:  { &quot;type&quot;: &quot;uint8&quot;, &quot;value&quot;: 3 },
+        &quot;f64&quot;:  { &quot;type&quot;: &quot;uint8&quot;, &quot;value&quot;: 4 }
+    },
</ins><span class="cx">     &quot;external_kind&quot;: {
</span><span class="cx">         &quot;Function&quot;: { &quot;type&quot;: &quot;uint8&quot;, &quot;value&quot;: 0 },
</span><span class="cx">         &quot;Table&quot;:    { &quot;type&quot;: &quot;uint8&quot;, &quot;value&quot;: 1 },
</span><span class="lines">@@ -39,179 +41,179 @@
</span><span class="cx">     },
</span><span class="cx">     &quot;opcode&quot;: {
</span><span class="cx">         &quot;unreachable&quot;:         { &quot;category&quot;: &quot;control&quot;,    &quot;value&quot;:   0, &quot;return&quot;: [],           &quot;parameter&quot;: [],                      &quot;immediate&quot;: [],                                                                                         &quot;description&quot;: &quot;trap immediately&quot; },
</span><del>-        &quot;block&quot;:               { &quot;category&quot;: &quot;control&quot;,    &quot;value&quot;:   2, &quot;return&quot;: [&quot;control&quot;],  &quot;parameter&quot;: [],                      &quot;immediate&quot;: [{&quot;name&quot;: &quot;sig&quot;, &quot;type&quot;: &quot;block_type&quot;}],                                                    &quot;description&quot;: &quot;begin a sequence of expressions, yielding 0 or 1 values&quot; },
-        &quot;loop&quot;:                { &quot;category&quot;: &quot;control&quot;,    &quot;value&quot;:   3, &quot;return&quot;: [&quot;control&quot;],  &quot;parameter&quot;: [],                      &quot;immediate&quot;: [{&quot;name&quot;: &quot;sig&quot;, &quot;type&quot;: &quot;block_type&quot;}],                                                    &quot;description&quot;: &quot;begin a block which can also form control flow loops&quot; },
-        &quot;if&quot;:                  { &quot;category&quot;: &quot;control&quot;,    &quot;value&quot;:   4, &quot;return&quot;: [&quot;control&quot;],  &quot;parameter&quot;: [&quot;bool&quot;],                &quot;immediate&quot;: [{&quot;name&quot;: &quot;sig&quot;, &quot;type&quot;: &quot;block_type&quot;}],                                                    &quot;description&quot;: &quot;begin if expression&quot; },
-        &quot;else&quot;:                { &quot;category&quot;: &quot;control&quot;,    &quot;value&quot;:   5, &quot;return&quot;: [&quot;control&quot;],  &quot;parameter&quot;: [],                      &quot;immediate&quot;: [],                                                                                         &quot;description&quot;: &quot;begin else expression of if&quot; },
-        &quot;select&quot;:              { &quot;category&quot;: &quot;control&quot;,    &quot;value&quot;:  27, &quot;return&quot;: [&quot;prev&quot;],     &quot;parameter&quot;: [&quot;any&quot;, &quot;prev&quot;, &quot;bool&quot;], &quot;immediate&quot;: [],                                                                                         &quot;description&quot;: &quot;select one of two values based on condition&quot; },
-        &quot;br&quot;:                  { &quot;category&quot;: &quot;control&quot;,    &quot;value&quot;:  12, &quot;return&quot;: [],           &quot;parameter&quot;: [],                      &quot;immediate&quot;: [{&quot;name&quot;: &quot;relative_depth&quot;, &quot;type&quot;: &quot;varuint32&quot;}],                                          &quot;description&quot;: &quot;break that targets an outer nested block&quot; },
-        &quot;br_if&quot;:               { &quot;category&quot;: &quot;control&quot;,    &quot;value&quot;:  13, &quot;return&quot;: [],           &quot;parameter&quot;: [],                      &quot;immediate&quot;: [{&quot;name&quot;: &quot;relative_depth&quot;, &quot;type&quot;: &quot;varuint32&quot;}],                                          &quot;description&quot;: &quot;conditional break that targets an outer nested block&quot; },
-        &quot;br_table&quot;:            { &quot;category&quot;: &quot;control&quot;,    &quot;value&quot;:  14, &quot;return&quot;: [],           &quot;parameter&quot;: [],                      &quot;immediate&quot;: [{&quot;name&quot;: &quot;target_count&quot;,   &quot;type&quot;: &quot;varuint32&quot;,                                            &quot;description&quot;: &quot;number of entries in the target_table&quot;},
</del><ins>+        &quot;block&quot;:               { &quot;category&quot;: &quot;control&quot;,    &quot;value&quot;:   1, &quot;return&quot;: [&quot;control&quot;],  &quot;parameter&quot;: [],                      &quot;immediate&quot;: [{&quot;name&quot;: &quot;sig&quot;, &quot;type&quot;: &quot;inline_signature_type&quot;}],                                         &quot;description&quot;: &quot;begin a sequence of expressions, yielding 0 or 1 values&quot; },
+        &quot;loop&quot;:                { &quot;category&quot;: &quot;control&quot;,    &quot;value&quot;:   2, &quot;return&quot;: [&quot;control&quot;],  &quot;parameter&quot;: [],                      &quot;immediate&quot;: [{&quot;name&quot;: &quot;sig&quot;, &quot;type&quot;: &quot;inline_signature_type&quot;}],                                         &quot;description&quot;: &quot;begin a block which can also form control flow loops&quot; },
+        &quot;if&quot;:                  { &quot;category&quot;: &quot;control&quot;,    &quot;value&quot;:   3, &quot;return&quot;: [&quot;control&quot;],  &quot;parameter&quot;: [&quot;bool&quot;],                &quot;immediate&quot;: [{&quot;name&quot;: &quot;sig&quot;, &quot;type&quot;: &quot;inline_signature_type&quot;}],                                         &quot;description&quot;: &quot;begin if expression&quot; },
+        &quot;else&quot;:                { &quot;category&quot;: &quot;control&quot;,    &quot;value&quot;:   4, &quot;return&quot;: [&quot;control&quot;],  &quot;parameter&quot;: [],                      &quot;immediate&quot;: [],                                                                                         &quot;description&quot;: &quot;begin else expression of if&quot; },
+        &quot;select&quot;:              { &quot;category&quot;: &quot;control&quot;,    &quot;value&quot;:   5, &quot;return&quot;: [&quot;prev&quot;],     &quot;parameter&quot;: [&quot;any&quot;, &quot;prev&quot;, &quot;bool&quot;], &quot;immediate&quot;: [],                                                                                         &quot;description&quot;: &quot;select one of two values based on condition&quot; },
+        &quot;br&quot;:                  { &quot;category&quot;: &quot;control&quot;,    &quot;value&quot;:   6, &quot;return&quot;: [],           &quot;parameter&quot;: [],                      &quot;immediate&quot;: [{&quot;name&quot;: &quot;relative_depth&quot;, &quot;type&quot;: &quot;varuint32&quot;}],                                          &quot;description&quot;: &quot;break that targets an outer nested block&quot; },
+        &quot;br_if&quot;:               { &quot;category&quot;: &quot;control&quot;,    &quot;value&quot;:   7, &quot;return&quot;: [],           &quot;parameter&quot;: [],                      &quot;immediate&quot;: [{&quot;name&quot;: &quot;relative_depth&quot;, &quot;type&quot;: &quot;varuint32&quot;}],                                          &quot;description&quot;: &quot;conditional break that targets an outer nested block&quot; },
+        &quot;br_table&quot;:            { &quot;category&quot;: &quot;control&quot;,    &quot;value&quot;:   8, &quot;return&quot;: [],           &quot;parameter&quot;: [],                      &quot;immediate&quot;: [{&quot;name&quot;: &quot;target_count&quot;,   &quot;type&quot;: &quot;varuint32&quot;,                                            &quot;description&quot;: &quot;number of entries in the target_table&quot;},
</ins><span class="cx">                                                                                                                                                      {&quot;name&quot;: &quot;target_table&quot;,   &quot;type&quot;: &quot;varuint32*&quot;,                                           &quot;description&quot;: &quot;target entries that indicate an outer block or loop to which to break&quot;},
</span><span class="cx">                                                                                                                                                      {&quot;name&quot;: &quot;default_target&quot;, &quot;type&quot;: &quot;varuint32&quot;,                                            &quot;description&quot;: &quot;an outer block or loop to which to break in the default case&quot;}],
</span><span class="cx">                                                                                                                                                                                                                                                 &quot;description&quot;: &quot;branch table control flow construct&quot; },
</span><del>-        &quot;return&quot;:              { &quot;category&quot;: &quot;control&quot;,    &quot;value&quot;:  15, &quot;return&quot;: [],           &quot;parameter&quot;: [],                       &quot;immediate&quot;: [],                                                                                         &quot;description&quot;: &quot;return zero or one value from this function&quot; },
-        &quot;drop&quot;:                { &quot;category&quot;: &quot;control&quot;,    &quot;value&quot;:  26, &quot;return&quot;: [],           &quot;parameter&quot;: [&quot;any&quot;],                  &quot;immediate&quot;: [],                                                                                         &quot;description&quot;: &quot;ignore value&quot; },
-        &quot;nop&quot;:                 { &quot;category&quot;: &quot;control&quot;,    &quot;value&quot;:   1, &quot;return&quot;: [],           &quot;parameter&quot;: [],                       &quot;immediate&quot;: [],                                                                                         &quot;description&quot;: &quot;no operation&quot; },
-        &quot;end&quot;:                 { &quot;category&quot;: &quot;control&quot;,    &quot;value&quot;:  11, &quot;return&quot;: [],           &quot;parameter&quot;: [],                       &quot;immediate&quot;: [],                                                                                         &quot;description&quot;: &quot;end a block, loop, or if&quot; },
-        &quot;i32.const&quot;:           { &quot;category&quot;: &quot;special&quot;,    &quot;value&quot;:  65, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [],                       &quot;immediate&quot;: [{&quot;name&quot;: &quot;value&quot;,          &quot;type&quot;: &quot;varint32&quot;}],                                           &quot;description&quot;: &quot;a constant value interpreted as i32&quot; },
-        &quot;i64.const&quot;:           { &quot;category&quot;: &quot;special&quot;,    &quot;value&quot;:  66, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [],                       &quot;immediate&quot;: [{&quot;name&quot;: &quot;value&quot;,          &quot;type&quot;: &quot;varint64&quot;}],                                           &quot;description&quot;: &quot;a constant value interpreted as i64&quot; },
-        &quot;f64.const&quot;:           { &quot;category&quot;: &quot;special&quot;,    &quot;value&quot;:  68, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [],                       &quot;immediate&quot;: [{&quot;name&quot;: &quot;value&quot;,          &quot;type&quot;: &quot;uint64&quot;}],                                             &quot;description&quot;: &quot;a constant value interpreted as f64&quot; },
-        &quot;f32.const&quot;:           { &quot;category&quot;: &quot;special&quot;,    &quot;value&quot;:  67, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [],                       &quot;immediate&quot;: [{&quot;name&quot;: &quot;value&quot;,          &quot;type&quot;: &quot;uint32&quot;}],                                             &quot;description&quot;: &quot;a constant value interpreted as f32&quot; },
-        &quot;get_local&quot;:           { &quot;category&quot;: &quot;special&quot;,    &quot;value&quot;:  32, &quot;return&quot;: [&quot;local&quot;],    &quot;parameter&quot;: [],                       &quot;immediate&quot;: [{&quot;name&quot;: &quot;local_index&quot;,    &quot;type&quot;: &quot;varuint32&quot;}],                                          &quot;description&quot;: &quot;read a local variable or parameter&quot; },
-        &quot;set_local&quot;:           { &quot;category&quot;: &quot;special&quot;,    &quot;value&quot;:  33, &quot;return&quot;: [],           &quot;parameter&quot;: [&quot;local&quot;],                &quot;immediate&quot;: [{&quot;name&quot;: &quot;local_index&quot;,    &quot;type&quot;: &quot;varuint32&quot;}],                                          &quot;description&quot;: &quot;write a local variable or parameter&quot; },
-        &quot;tee_local&quot;:           { &quot;category&quot;: &quot;special&quot;,    &quot;value&quot;:  34, &quot;return&quot;: [&quot;prev&quot;],     &quot;parameter&quot;: [&quot;any&quot;],                  &quot;immediate&quot;: [{&quot;name&quot;: &quot;local_index&quot;,    &quot;type&quot;: &quot;varuint32&quot;}],                                          &quot;description&quot;: &quot;write a local variable or parameter and return the same value&quot; },
-        &quot;get_global&quot;:          { &quot;category&quot;: &quot;special&quot;,    &quot;value&quot;:  35, &quot;return&quot;: [&quot;global&quot;],   &quot;parameter&quot;: [],                       &quot;immediate&quot;: [{&quot;name&quot;: &quot;global_index&quot;,   &quot;type&quot;: &quot;varuint32&quot;}],                                          &quot;description&quot;: &quot;read a global variable&quot; },
-        &quot;set_global&quot;:          { &quot;category&quot;: &quot;special&quot;,    &quot;value&quot;:  36, &quot;return&quot;: [&quot;&quot;],         &quot;parameter&quot;: [&quot;global&quot;],               &quot;immediate&quot;: [{&quot;name&quot;: &quot;global_index&quot;,   &quot;type&quot;: &quot;varuint32&quot;}],                                          &quot;description&quot;: &quot;write a global variable&quot; },
-        &quot;call&quot;:                { &quot;category&quot;: &quot;call&quot;,       &quot;value&quot;:  16, &quot;return&quot;: [&quot;call&quot;],     &quot;parameter&quot;: [&quot;call&quot;],                 &quot;immediate&quot;: [{&quot;name&quot;: &quot;function_index&quot;, &quot;type&quot;: &quot;varuint32&quot;}],                                          &quot;description&quot;: &quot;call a function by its index&quot; },
-        &quot;call_indirect&quot;:       { &quot;category&quot;: &quot;call&quot;,       &quot;value&quot;:  17, &quot;return&quot;: [&quot;call&quot;],     &quot;parameter&quot;: [&quot;call&quot;],                 &quot;immediate&quot;: [{&quot;name&quot;: &quot;type_index&quot;,     &quot;type&quot;: &quot;varuint32&quot;}],                                          &quot;description&quot;: &quot;call a function indirect with an expected signature&quot; },
-        &quot;i32.load8_s&quot;:         { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  44, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;addr&quot;],                 &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;load from memory&quot; },
-        &quot;i32.load8_u&quot;:         { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  45, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;addr&quot;],                 &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;load from memory&quot; },
-        &quot;i32.load16_s&quot;:        { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  46, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;addr&quot;],                 &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;load from memory&quot; },
-        &quot;i32.load16_u&quot;:        { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  47, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;addr&quot;],                 &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;load from memory&quot; },
-        &quot;i64.load8_s&quot;:         { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  48, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;addr&quot;],                 &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;load from memory&quot; },
-        &quot;i64.load8_u&quot;:         { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  49, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;addr&quot;],                 &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;load from memory&quot; },
-        &quot;i64.load16_s&quot;:        { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  50, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;addr&quot;],                 &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;load from memory&quot; },
-        &quot;i64.load16_u&quot;:        { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  51, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;addr&quot;],                 &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;load from memory&quot; },
-        &quot;i64.load32_s&quot;:        { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  52, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;addr&quot;],                 &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;load from memory&quot; },
-        &quot;i64.load32_u&quot;:        { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  53, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;addr&quot;],                 &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;load from memory&quot; },
-        &quot;i32.load&quot;:            { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  40, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;addr&quot;],                 &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;load from memory&quot; },
-        &quot;i64.load&quot;:            { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  41, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;addr&quot;],                 &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;load from memory&quot; },
-        &quot;f32.load&quot;:            { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  42, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;addr&quot;],                 &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;load from memory&quot; },
-        &quot;f64.load&quot;:            { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  43, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;addr&quot;],                 &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;load from memory&quot; },
-        &quot;i32.store8&quot;:          { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  58, &quot;return&quot;: [],           &quot;parameter&quot;: [&quot;addr&quot;, &quot;i32&quot;],          &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;store to memory&quot; },
-        &quot;i32.store16&quot;:         { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  59, &quot;return&quot;: [],           &quot;parameter&quot;: [&quot;addr&quot;, &quot;i32&quot;],          &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;store to memory&quot; },
-        &quot;i64.store8&quot;:          { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  60, &quot;return&quot;: [],           &quot;parameter&quot;: [&quot;addr&quot;, &quot;i64&quot;],          &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;store to memory&quot; },
-        &quot;i64.store16&quot;:         { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  61, &quot;return&quot;: [],           &quot;parameter&quot;: [&quot;addr&quot;, &quot;i64&quot;],          &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;store to memory&quot; },
-        &quot;i64.store32&quot;:         { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  62, &quot;return&quot;: [],           &quot;parameter&quot;: [&quot;addr&quot;, &quot;i64&quot;],          &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;store to memory&quot; },
-        &quot;i32.store&quot;:           { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  54, &quot;return&quot;: [],           &quot;parameter&quot;: [&quot;addr&quot;, &quot;i32&quot;],          &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;store to memory&quot; },
-        &quot;i64.store&quot;:           { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  55, &quot;return&quot;: [],           &quot;parameter&quot;: [&quot;addr&quot;, &quot;i64&quot;],          &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;store to memory&quot; },
-        &quot;f32.store&quot;:           { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  56, &quot;return&quot;: [],           &quot;parameter&quot;: [&quot;addr&quot;, &quot;f32&quot;],          &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;store to memory&quot; },
-        &quot;f64.store&quot;:           { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  57, &quot;return&quot;: [],           &quot;parameter&quot;: [&quot;addr&quot;, &quot;f64&quot;],          &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;store to memory&quot; },
-        &quot;current_memory&quot;:      { &quot;category&quot;: &quot;operation&quot;,  &quot;value&quot;:  63, &quot;return&quot;: [&quot;size&quot;],     &quot;parameter&quot;: [],                       &quot;immediate&quot;: [],                                                                                         &quot;description&quot;: &quot;query the size of memory&quot; },
-        &quot;grow_memory&quot;:         { &quot;category&quot;: &quot;operation&quot;,  &quot;value&quot;:  64, &quot;return&quot;: [&quot;size&quot;],     &quot;parameter&quot;: [&quot;size&quot;],                 &quot;immediate&quot;: [],                                                                                         &quot;description&quot;: &quot;grow the size of memory&quot; },
-        &quot;i32.add&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 106, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Add&quot;          },
-        &quot;i32.sub&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 107, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Sub&quot;          },
-        &quot;i32.mul&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 108, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Mul&quot;          },
-        &quot;i32.div_s&quot;:           { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 109, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Div&quot;          },
-        &quot;i32.div_u&quot;:           { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 110, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;UDiv&quot;         },
-        &quot;i32.rem_s&quot;:           { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 111, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Mod&quot;          },
-        &quot;i32.rem_u&quot;:           { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 112, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;UMod&quot;         },
-        &quot;i32.and&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 113, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;BitAnd&quot;       },
-        &quot;i32.or&quot;:              { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 114, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;BitOr&quot;        },
-        &quot;i32.xor&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 115, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;BitXor&quot;       },
-        &quot;i32.shl&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 116, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Shl&quot;          },
-        &quot;i32.shr_u&quot;:           { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 118, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;SShr&quot;         },
-        &quot;i32.shr_s&quot;:           { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 117, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;ZShr&quot;         },
-        &quot;i32.rotr&quot;:            { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 120, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;RotR&quot;         },
-        &quot;i32.rotl&quot;:            { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 119, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;RotL&quot;         },
-        &quot;i32.eq&quot;:              { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  70, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Equal&quot;        },
-        &quot;i32.ne&quot;:              { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  71, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;NotEqual&quot;     },
-        &quot;i32.lt_s&quot;:            { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  72, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;LessThan&quot;     },
-        &quot;i32.le_s&quot;:            { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  76, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;LessEqual&quot;    },
-        &quot;i32.lt_u&quot;:            { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  73, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Below&quot;        },
-        &quot;i32.le_u&quot;:            { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  77, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;BelowEqual&quot;   },
-        &quot;i32.gt_s&quot;:            { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  74, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;GreaterThan&quot;  },
-        &quot;i32.ge_s&quot;:            { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  78, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;GreaterEqual&quot; },
-        &quot;i32.gt_u&quot;:            { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  75, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Above&quot;        },
-        &quot;i32.ge_u&quot;:            { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  79, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;AboveEqual&quot;   },
-        &quot;i32.clz&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 103, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Clz&quot;          },
-        &quot;i32.ctz&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 104, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;],                  &quot;immediate&quot;: []                         },
-        &quot;i32.popcnt&quot;:          { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 105, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;],                  &quot;immediate&quot;: []                         },
-        &quot;i32.eqz&quot;:             { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  69, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i32&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Equal(i32(0), @0)&quot; },
-        &quot;i64.add&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 124, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Add&quot;          },
-        &quot;i64.sub&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 125, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Sub&quot;          },
-        &quot;i64.mul&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 126, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Mul&quot;          },
-        &quot;i64.div_s&quot;:           { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 127, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Div&quot;          },
-        &quot;i64.div_u&quot;:           { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 128, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;UDiv&quot;         },
-        &quot;i64.rem_s&quot;:           { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 129, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Mod&quot;          },
-        &quot;i64.rem_u&quot;:           { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 130, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;UDiv&quot;         },
-        &quot;i64.and&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 131, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;BitAnd&quot;       },
-        &quot;i64.or&quot;:              { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 132, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;BitOr&quot;        },
-        &quot;i64.xor&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 133, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;BitXor&quot;       },
-        &quot;i64.shl&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 134, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Shl&quot;          },
-        &quot;i64.shr_u&quot;:           { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 136, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;SShr&quot;         },
-        &quot;i64.shr_s&quot;:           { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 135, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;ZShr&quot;         },
-        &quot;i64.rotr&quot;:            { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 138, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;RotR&quot;         },
-        &quot;i64.rotl&quot;:            { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 137, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;RotL&quot;         },
-        &quot;i64.eq&quot;:              { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  81, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Equal&quot;        },
-        &quot;i64.ne&quot;:              { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  82, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;NotEqual&quot;     },
-        &quot;i64.lt_s&quot;:            { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  83, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;LessThan&quot;     },
-        &quot;i64.le_s&quot;:            { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  87, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;LessEqual&quot;    },
-        &quot;i64.lt_u&quot;:            { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  84, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Below&quot;        },
-        &quot;i64.le_u&quot;:            { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  88, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;BelowEqual&quot;   },
-        &quot;i64.gt_s&quot;:            { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  85, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;GreaterThan&quot;  },
-        &quot;i64.ge_s&quot;:            { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  89, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;GreaterEqual&quot; },
-        &quot;i64.gt_u&quot;:            { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  86, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Above&quot;        },
-        &quot;i64.ge_u&quot;:            { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  90, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;AboveEqual&quot;   },
-        &quot;i64.clz&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 121, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Clz&quot;          },
-        &quot;i64.ctz&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 122, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;],                  &quot;immediate&quot;: []                         },
-        &quot;i64.popcnt&quot;:          { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 123, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;],                  &quot;immediate&quot;: []                         },
-        &quot;i64.eqz&quot;:             { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  80, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i64&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Equal(i32(0), @0)&quot; },
-        &quot;f32.add&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 146, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;f32&quot;, &quot;f32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Add&quot;          },
-        &quot;f32.sub&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 147, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;f32&quot;, &quot;f32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Sub&quot;          },
-        &quot;f32.mul&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 148, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;f32&quot;, &quot;f32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Mul&quot;          },
-        &quot;f32.div&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 149, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;f32&quot;, &quot;f32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Div&quot;          },
-        &quot;f32.min&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 150, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;f32&quot;, &quot;f32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Select(LessThan(@0, @1), @0, @1)&quot; },
-        &quot;f32.max&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 151, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;f32&quot;, &quot;f32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Select(LessThan(@0, @1), @1, @0)&quot; },
-        &quot;f32.abs&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 139, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;f32&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Abs&quot;          },
-        &quot;f32.neg&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 140, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;f32&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Neg&quot;          },
-        &quot;f32.copysign&quot;:        { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 152, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;f32&quot;],                  &quot;immediate&quot;: []                         },
-        &quot;f32.ceil&quot;:            { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 141, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;f32&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Ceil&quot;         },
-        &quot;f32.floor&quot;:           { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 142, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;f32&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Floor&quot;        },
-        &quot;f32.trunc&quot;:           { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 143, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;f32&quot;],                  &quot;immediate&quot;: []                         },
-        &quot;f32.nearest&quot;:         { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 144, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;f32&quot;],                  &quot;immediate&quot;: []                         },
-        &quot;f32.sqrt&quot;:            { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 145, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;f32&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Sqrt&quot;         },
-        &quot;f32.eq&quot;:              { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  91, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;f32&quot;, &quot;f32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Equal&quot;        },
-        &quot;f32.ne&quot;:              { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  92, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;f32&quot;, &quot;f32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;NotEqual&quot;     },
-        &quot;f32.lt&quot;:              { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  93, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;f32&quot;, &quot;f32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;LessThan&quot;     },
-        &quot;f32.le&quot;:              { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  95, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;f32&quot;, &quot;f32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;LessEqual&quot;    },
-        &quot;f32.gt&quot;:              { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  94, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;f32&quot;, &quot;f32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;GreaterThan&quot;  },
-        &quot;f32.ge&quot;:              { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  96, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;f32&quot;, &quot;f32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;GreaterEqual&quot; },
-        &quot;f64.add&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 160, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;f64&quot;, &quot;f64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Add&quot;          },
-        &quot;f64.sub&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 161, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;f64&quot;, &quot;f64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Sub&quot;          },
-        &quot;f64.mul&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 162, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;f64&quot;, &quot;f64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Mul&quot;          },
-        &quot;f64.div&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 163, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;f64&quot;, &quot;f64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Div&quot;          },
-        &quot;f64.min&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 164, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;f64&quot;, &quot;f64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Select(LessThan(@0, @1), @0, @1)&quot; },
-        &quot;f64.max&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 165, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;f64&quot;, &quot;f64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Select(LessThan(@0, @1), @1, @0)&quot; },
-        &quot;f64.abs&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 153, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;f64&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Abs&quot;          },
-        &quot;f64.neg&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 154, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;f64&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Neg&quot;          },
-        &quot;f64.copysign&quot;:        { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 166, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;f64&quot;],                  &quot;immediate&quot;: []                         },
-        &quot;f64.ceil&quot;:            { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 155, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;f64&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Ceil&quot;         },
-        &quot;f64.floor&quot;:           { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 156, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;f64&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Floor&quot;        },
-        &quot;f64.trunc&quot;:           { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 157, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;f64&quot;],                  &quot;immediate&quot;: []                         },
-        &quot;f64.nearest&quot;:         { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 158, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;f64&quot;],                  &quot;immediate&quot;: []                         },
-        &quot;f64.sqrt&quot;:            { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 159, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;f64&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Sqrt&quot;         },
-        &quot;f64.eq&quot;:              { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  97, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;f64&quot;, &quot;f64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Equal&quot;        },
-        &quot;f64.ne&quot;:              { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  98, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;f64&quot;, &quot;f64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;NotEqual&quot;     },
-        &quot;f64.lt&quot;:              { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  99, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;f64&quot;, &quot;f64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;LessThan&quot;     },
-        &quot;f64.le&quot;:              { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;: 101, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;f64&quot;, &quot;f64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;LessEqual&quot;    },
-        &quot;f64.gt&quot;:              { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;: 100, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;f64&quot;, &quot;f64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;GreaterThan&quot;  },
-        &quot;f64.ge&quot;:              { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;: 102, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;f64&quot;, &quot;f64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;GreaterEqual&quot; },
-        &quot;i32.trunc_s/f32&quot;:     { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 168, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;f32&quot;],                  &quot;immediate&quot;: []                         },
-        &quot;i32.trunc_s/f64&quot;:     { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 170, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;f64&quot;],                  &quot;immediate&quot;: []                         },
-        &quot;i32.trunc_u/f32&quot;:     { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 169, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;f32&quot;],                  &quot;immediate&quot;: []                         },
-        &quot;i32.trunc_u/f64&quot;:     { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 171, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;f64&quot;],                  &quot;immediate&quot;: []                         },
-        &quot;i32.wrap/i64&quot;:        { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 167, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;i64&quot;],                  &quot;immediate&quot;: []                         },
-        &quot;i64.trunc_s/f32&quot;:     { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 174, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;f32&quot;],                  &quot;immediate&quot;: []                         },
-        &quot;i64.trunc_s/f64&quot;:     { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 176, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;f64&quot;],                  &quot;immediate&quot;: []                         },
-        &quot;i64.trunc_u/f32&quot;:     { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 175, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;f32&quot;],                  &quot;immediate&quot;: []                         },
-        &quot;i64.trunc_u/f64&quot;:     { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 177, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;f64&quot;],                  &quot;immediate&quot;: []                         },
-        &quot;i64.extend_s/i32&quot;:    { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 172, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;i32&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;SExt32&quot;       },
-        &quot;i64.extend_u/i32&quot;:    { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 173, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;i32&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;ZExt32&quot;       },
-        &quot;f32.convert_s/i32&quot;:   { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 178, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;IToF&quot;         },
-        &quot;f32.convert_u/i32&quot;:   { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 179, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;IToF(ZExt32(@0))&quot; },
-        &quot;f32.convert_s/i64&quot;:   { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 180, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;i64&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;IToF&quot;         },
-        &quot;f32.convert_u/i64&quot;:   { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 181, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;i64&quot;],                  &quot;immediate&quot;: []                         },
-        &quot;f32.demote/f64&quot;:      { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 182, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;f64&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;DoubleToFloat&quot;},
-        &quot;f32.reinterpret/i32&quot;: { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 190, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;BitwiseCast&quot;  },
-        &quot;f64.convert_s/i32&quot;:   { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 183, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;i32&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;IToD&quot;         },
-        &quot;f64.convert_u/i32&quot;:   { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 184, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;i32&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;IToD(ZExt32(@0))&quot; },
-        &quot;f64.convert_s/i64&quot;:   { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 185, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;IToD&quot;         },
-        &quot;f64.convert_u/i64&quot;:   { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 186, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;],                  &quot;immediate&quot;: []                         },
-        &quot;f64.promote/f32&quot;:     { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 187, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;f32&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;FloatToDouble&quot;},
-        &quot;f64.reinterpret/i64&quot;: { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 191, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;BitwiseCast&quot;  },
-        &quot;i32.reinterpret/f32&quot;: { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 188, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;f32&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;BitwiseCast&quot;  },
-        &quot;i64.reinterpret/f64&quot;: { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 189, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;f64&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;BitwiseCast&quot;  }
</del><ins>+        &quot;return&quot;:              { &quot;category&quot;: &quot;control&quot;,    &quot;value&quot;:   9, &quot;return&quot;: [],           &quot;parameter&quot;: [],                       &quot;immediate&quot;: [],                                                                                         &quot;description&quot;: &quot;return zero or one value from this function&quot; },
+        &quot;drop&quot;:                { &quot;category&quot;: &quot;control&quot;,    &quot;value&quot;:  11, &quot;return&quot;: [],           &quot;parameter&quot;: [&quot;any&quot;],                  &quot;immediate&quot;: [],                                                                                         &quot;description&quot;: &quot;ignore value&quot; },
+        &quot;nop&quot;:                 { &quot;category&quot;: &quot;control&quot;,    &quot;value&quot;:  10, &quot;return&quot;: [],           &quot;parameter&quot;: [],                       &quot;immediate&quot;: [],                                                                                         &quot;description&quot;: &quot;no operation&quot; },
+        &quot;end&quot;:                 { &quot;category&quot;: &quot;control&quot;,    &quot;value&quot;:  15, &quot;return&quot;: [],           &quot;parameter&quot;: [],                       &quot;immediate&quot;: [],                                                                                         &quot;description&quot;: &quot;end a block, loop, or if&quot; },
+        &quot;i32.const&quot;:           { &quot;category&quot;: &quot;special&quot;,    &quot;value&quot;:  16, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [],                       &quot;immediate&quot;: [{&quot;name&quot;: &quot;value&quot;,          &quot;type&quot;: &quot;varint32&quot;}],                                           &quot;description&quot;: &quot;a constant value interpreted as i32&quot; },
+        &quot;i64.const&quot;:           { &quot;category&quot;: &quot;special&quot;,    &quot;value&quot;:  17, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [],                       &quot;immediate&quot;: [{&quot;name&quot;: &quot;value&quot;,          &quot;type&quot;: &quot;varint64&quot;}],                                           &quot;description&quot;: &quot;a constant value interpreted as i64&quot; },
+        &quot;f64.const&quot;:           { &quot;category&quot;: &quot;special&quot;,    &quot;value&quot;:  18, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [],                       &quot;immediate&quot;: [{&quot;name&quot;: &quot;value&quot;,          &quot;type&quot;: &quot;uint64&quot;}],                                             &quot;description&quot;: &quot;a constant value interpreted as f64&quot; },
+        &quot;f32.const&quot;:           { &quot;category&quot;: &quot;special&quot;,    &quot;value&quot;:  19, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [],                       &quot;immediate&quot;: [{&quot;name&quot;: &quot;value&quot;,          &quot;type&quot;: &quot;uint32&quot;}],                                             &quot;description&quot;: &quot;a constant value interpreted as f32&quot; },
+        &quot;get_local&quot;:           { &quot;category&quot;: &quot;special&quot;,    &quot;value&quot;:  20, &quot;return&quot;: [&quot;local&quot;],    &quot;parameter&quot;: [],                       &quot;immediate&quot;: [{&quot;name&quot;: &quot;local_index&quot;,    &quot;type&quot;: &quot;varuint32&quot;}],                                          &quot;description&quot;: &quot;read a local variable or parameter&quot; },
+        &quot;set_local&quot;:           { &quot;category&quot;: &quot;special&quot;,    &quot;value&quot;:  21, &quot;return&quot;: [],           &quot;parameter&quot;: [&quot;local&quot;],                &quot;immediate&quot;: [{&quot;name&quot;: &quot;local_index&quot;,    &quot;type&quot;: &quot;varuint32&quot;}],                                          &quot;description&quot;: &quot;write a local variable or parameter&quot; },
+        &quot;tee_local&quot;:           { &quot;category&quot;: &quot;special&quot;,    &quot;value&quot;:  25, &quot;return&quot;: [&quot;prev&quot;],     &quot;parameter&quot;: [&quot;any&quot;],                  &quot;immediate&quot;: [{&quot;name&quot;: &quot;local_index&quot;,    &quot;type&quot;: &quot;varuint32&quot;}],                                          &quot;description&quot;: &quot;write a local variable or parameter and return the same value&quot; },
+        &quot;get_global&quot;:          { &quot;category&quot;: &quot;special&quot;,    &quot;value&quot;: 187, &quot;return&quot;: [&quot;global&quot;],   &quot;parameter&quot;: [],                       &quot;immediate&quot;: [{&quot;name&quot;: &quot;global_index&quot;,   &quot;type&quot;: &quot;varuint32&quot;}],                                          &quot;description&quot;: &quot;read a global variable&quot; },
+        &quot;set_global&quot;:          { &quot;category&quot;: &quot;special&quot;,    &quot;value&quot;: 188, &quot;return&quot;: [&quot;&quot;],         &quot;parameter&quot;: [&quot;global&quot;],               &quot;immediate&quot;: [{&quot;name&quot;: &quot;global_index&quot;,   &quot;type&quot;: &quot;varuint32&quot;}],                                          &quot;description&quot;: &quot;write a global variable&quot; },
+        &quot;call&quot;:                { &quot;category&quot;: &quot;call&quot;,       &quot;value&quot;:  22, &quot;return&quot;: [&quot;call&quot;],     &quot;parameter&quot;: [&quot;call&quot;],                 &quot;immediate&quot;: [{&quot;name&quot;: &quot;function_index&quot;, &quot;type&quot;: &quot;varuint32&quot;}],                                          &quot;description&quot;: &quot;call a function by its index&quot; },
+        &quot;call_indirect&quot;:       { &quot;category&quot;: &quot;call&quot;,       &quot;value&quot;:  23, &quot;return&quot;: [&quot;call&quot;],     &quot;parameter&quot;: [&quot;call&quot;],                 &quot;immediate&quot;: [{&quot;name&quot;: &quot;type_index&quot;,     &quot;type&quot;: &quot;varuint32&quot;}],                                          &quot;description&quot;: &quot;call a function indirect with an expected signature&quot; },
+        &quot;i32.load8_s&quot;:         { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  32, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;addr&quot;],                 &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;load from memory&quot; },
+        &quot;i32.load8_u&quot;:         { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  33, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;addr&quot;],                 &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;load from memory&quot; },
+        &quot;i32.load16_s&quot;:        { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  34, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;addr&quot;],                 &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;load from memory&quot; },
+        &quot;i32.load16_u&quot;:        { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  35, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;addr&quot;],                 &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;load from memory&quot; },
+        &quot;i64.load8_s&quot;:         { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  36, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;addr&quot;],                 &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;load from memory&quot; },
+        &quot;i64.load8_u&quot;:         { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  37, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;addr&quot;],                 &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;load from memory&quot; },
+        &quot;i64.load16_s&quot;:        { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  38, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;addr&quot;],                 &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;load from memory&quot; },
+        &quot;i64.load16_u&quot;:        { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  39, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;addr&quot;],                 &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;load from memory&quot; },
+        &quot;i64.load32_s&quot;:        { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  40, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;addr&quot;],                 &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;load from memory&quot; },
+        &quot;i64.load32_u&quot;:        { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  41, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;addr&quot;],                 &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;load from memory&quot; },
+        &quot;i32.load&quot;:            { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  42, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;addr&quot;],                 &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;load from memory&quot; },
+        &quot;i64.load&quot;:            { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  43, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;addr&quot;],                 &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;load from memory&quot; },
+        &quot;f32.load&quot;:            { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  44, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;addr&quot;],                 &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;load from memory&quot; },
+        &quot;f64.load&quot;:            { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  45, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;addr&quot;],                 &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;load from memory&quot; },
+        &quot;i32.store8&quot;:          { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  46, &quot;return&quot;: [],           &quot;parameter&quot;: [&quot;addr&quot;, &quot;i32&quot;],          &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;store to memory&quot; },
+        &quot;i32.store16&quot;:         { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  47, &quot;return&quot;: [],           &quot;parameter&quot;: [&quot;addr&quot;, &quot;i32&quot;],          &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;store to memory&quot; },
+        &quot;i64.store8&quot;:          { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  48, &quot;return&quot;: [],           &quot;parameter&quot;: [&quot;addr&quot;, &quot;i64&quot;],          &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;store to memory&quot; },
+        &quot;i64.store16&quot;:         { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  49, &quot;return&quot;: [],           &quot;parameter&quot;: [&quot;addr&quot;, &quot;i64&quot;],          &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;store to memory&quot; },
+        &quot;i64.store32&quot;:         { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  50, &quot;return&quot;: [],           &quot;parameter&quot;: [&quot;addr&quot;, &quot;i64&quot;],          &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;store to memory&quot; },
+        &quot;i32.store&quot;:           { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  51, &quot;return&quot;: [],           &quot;parameter&quot;: [&quot;addr&quot;, &quot;i32&quot;],          &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;store to memory&quot; },
+        &quot;i64.store&quot;:           { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  52, &quot;return&quot;: [],           &quot;parameter&quot;: [&quot;addr&quot;, &quot;i64&quot;],          &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;store to memory&quot; },
+        &quot;f32.store&quot;:           { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  53, &quot;return&quot;: [],           &quot;parameter&quot;: [&quot;addr&quot;, &quot;f32&quot;],          &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;store to memory&quot; },
+        &quot;f64.store&quot;:           { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  54, &quot;return&quot;: [],           &quot;parameter&quot;: [&quot;addr&quot;, &quot;f64&quot;],          &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;store to memory&quot; },
+        &quot;current_memory&quot;:      { &quot;category&quot;: &quot;operation&quot;,  &quot;value&quot;:  59, &quot;return&quot;: [&quot;size&quot;],     &quot;parameter&quot;: [],                       &quot;immediate&quot;: [],                                                                                         &quot;description&quot;: &quot;query the size of memory&quot; },
+        &quot;grow_memory&quot;:         { &quot;category&quot;: &quot;operation&quot;,  &quot;value&quot;:  57, &quot;return&quot;: [&quot;size&quot;],     &quot;parameter&quot;: [&quot;size&quot;],                 &quot;immediate&quot;: [],                                                                                         &quot;description&quot;: &quot;grow the size of memory&quot; },
+        &quot;i32.add&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;:  64, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Add&quot;          },
+        &quot;i32.sub&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;:  65, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Sub&quot;          },
+        &quot;i32.mul&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;:  66, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Mul&quot;          },
+        &quot;i32.div_s&quot;:           { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;:  67, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Div&quot;          },
+        &quot;i32.div_u&quot;:           { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;:  68, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;UDiv&quot;         },
+        &quot;i32.rem_s&quot;:           { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;:  69, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Mod&quot;          },
+        &quot;i32.rem_u&quot;:           { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;:  70, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;UMod&quot;         },
+        &quot;i32.and&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;:  71, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;BitAnd&quot;       },
+        &quot;i32.or&quot;:              { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;:  72, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;BitOr&quot;        },
+        &quot;i32.xor&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;:  73, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;BitXor&quot;       },
+        &quot;i32.shl&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;:  74, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Shl&quot;          },
+        &quot;i32.shr_u&quot;:           { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;:  75, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;SShr&quot;         },
+        &quot;i32.shr_s&quot;:           { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;:  76, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;ZShr&quot;         },
+        &quot;i32.rotr&quot;:            { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 182, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;RotR&quot;         },
+        &quot;i32.rotl&quot;:            { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 183, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;RotL&quot;         },
+        &quot;i32.eq&quot;:              { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  77, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Equal&quot;        },
+        &quot;i32.ne&quot;:              { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  78, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;NotEqual&quot;     },
+        &quot;i32.lt_s&quot;:            { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  79, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;LessThan&quot;     },
+        &quot;i32.le_s&quot;:            { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  80, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;LessEqual&quot;    },
+        &quot;i32.lt_u&quot;:            { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  81, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Below&quot;        },
+        &quot;i32.le_u&quot;:            { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  82, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;BelowEqual&quot;   },
+        &quot;i32.gt_s&quot;:            { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  83, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;GreaterThan&quot;  },
+        &quot;i32.ge_s&quot;:            { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  84, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;GreaterEqual&quot; },
+        &quot;i32.gt_u&quot;:            { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  85, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Above&quot;        },
+        &quot;i32.ge_u&quot;:            { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  86, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;AboveEqual&quot;   },
+        &quot;i32.clz&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;:  87, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Clz&quot;          },
+        &quot;i32.ctz&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;:  88, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;],                  &quot;immediate&quot;: []                         },
+        &quot;i32.popcnt&quot;:          { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;:  89, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;],                  &quot;immediate&quot;: []                         },
+        &quot;i32.eqz&quot;:             { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  90, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i32&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Equal(i32(0), @0)&quot; },
+        &quot;i64.add&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;:  91, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Add&quot;          },
+        &quot;i64.sub&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;:  92, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Sub&quot;          },
+        &quot;i64.mul&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;:  93, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Mul&quot;          },
+        &quot;i64.div_s&quot;:           { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;:  94, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Div&quot;          },
+        &quot;i64.div_u&quot;:           { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;:  95, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;UDiv&quot;         },
+        &quot;i64.rem_s&quot;:           { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;:  96, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Mod&quot;          },
+        &quot;i64.rem_u&quot;:           { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;:  97, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;UDiv&quot;         },
+        &quot;i64.and&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;:  98, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;BitAnd&quot;       },
+        &quot;i64.or&quot;:              { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;:  99, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;BitOr&quot;        },
+        &quot;i64.xor&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 100, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;BitXor&quot;       },
+        &quot;i64.shl&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 101, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Shl&quot;          },
+        &quot;i64.shr_u&quot;:           { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 102, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;SShr&quot;         },
+        &quot;i64.shr_s&quot;:           { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 103, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;ZShr&quot;         },
+        &quot;i64.rotr&quot;:            { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 184, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;RotR&quot;         },
+        &quot;i64.rotl&quot;:            { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 185, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;RotL&quot;         },
+        &quot;i64.eq&quot;:              { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;: 104, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Equal&quot;        },
+        &quot;i64.ne&quot;:              { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;: 105, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;NotEqual&quot;     },
+        &quot;i64.lt_s&quot;:            { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;: 106, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;LessThan&quot;     },
+        &quot;i64.le_s&quot;:            { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;: 107, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;LessEqual&quot;    },
+        &quot;i64.lt_u&quot;:            { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;: 108, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Below&quot;        },
+        &quot;i64.le_u&quot;:            { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;: 109, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;BelowEqual&quot;   },
+        &quot;i64.gt_s&quot;:            { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;: 110, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;GreaterThan&quot;  },
+        &quot;i64.ge_s&quot;:            { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;: 111, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;GreaterEqual&quot; },
+        &quot;i64.gt_u&quot;:            { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;: 112, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Above&quot;        },
+        &quot;i64.ge_u&quot;:            { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;: 113, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;AboveEqual&quot;   },
+        &quot;i64.clz&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 114, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Clz&quot;          },
+        &quot;i64.ctz&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 115, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;],                  &quot;immediate&quot;: []                         },
+        &quot;i64.popcnt&quot;:          { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 116, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;],                  &quot;immediate&quot;: []                         },
+        &quot;i64.eqz&quot;:             { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;: 186, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i64&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Equal(i32(0), @0)&quot; },
+        &quot;f32.add&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 117, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;f32&quot;, &quot;f32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Add&quot;          },
+        &quot;f32.sub&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 118, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;f32&quot;, &quot;f32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Sub&quot;          },
+        &quot;f32.mul&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 119, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;f32&quot;, &quot;f32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Mul&quot;          },
+        &quot;f32.div&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 120, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;f32&quot;, &quot;f32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Div&quot;          },
+        &quot;f32.min&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 121, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;f32&quot;, &quot;f32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Select(LessThan(@0, @1), @0, @1)&quot; },
+        &quot;f32.max&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 122, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;f32&quot;, &quot;f32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Select(LessThan(@0, @1), @1, @0)&quot; },
+        &quot;f32.abs&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 123, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;f32&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Abs&quot;          },
+        &quot;f32.neg&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 124, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;f32&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Neg&quot;          },
+        &quot;f32.copysign&quot;:        { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 125, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;f32&quot;],                  &quot;immediate&quot;: []                         },
+        &quot;f32.ceil&quot;:            { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 126, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;f32&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Ceil&quot;         },
+        &quot;f32.floor&quot;:           { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 127, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;f32&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Floor&quot;        },
+        &quot;f32.trunc&quot;:           { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 128, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;f32&quot;],                  &quot;immediate&quot;: []                         },
+        &quot;f32.nearest&quot;:         { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 129, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;f32&quot;],                  &quot;immediate&quot;: []                         },
+        &quot;f32.sqrt&quot;:            { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 130, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;f32&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Sqrt&quot;         },
+        &quot;f32.eq&quot;:              { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;: 131, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;f32&quot;, &quot;f32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Equal&quot;        },
+        &quot;f32.ne&quot;:              { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;: 132, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;f32&quot;, &quot;f32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;NotEqual&quot;     },
+        &quot;f32.lt&quot;:              { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;: 133, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;f32&quot;, &quot;f32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;LessThan&quot;     },
+        &quot;f32.le&quot;:              { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;: 134, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;f32&quot;, &quot;f32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;LessEqual&quot;    },
+        &quot;f32.gt&quot;:              { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;: 135, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;f32&quot;, &quot;f32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;GreaterThan&quot;  },
+        &quot;f32.ge&quot;:              { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;: 136, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;f32&quot;, &quot;f32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;GreaterEqual&quot; },
+        &quot;f64.add&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 137, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;f64&quot;, &quot;f64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Add&quot;          },
+        &quot;f64.sub&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 138, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;f64&quot;, &quot;f64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Sub&quot;          },
+        &quot;f64.mul&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 139, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;f64&quot;, &quot;f64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Mul&quot;          },
+        &quot;f64.div&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 140, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;f64&quot;, &quot;f64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Div&quot;          },
+        &quot;f64.min&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 141, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;f64&quot;, &quot;f64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Select(LessThan(@0, @1), @0, @1)&quot; },
+        &quot;f64.max&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 142, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;f64&quot;, &quot;f64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Select(LessThan(@0, @1), @1, @0)&quot; },
+        &quot;f64.abs&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 143, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;f64&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Abs&quot;          },
+        &quot;f64.neg&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 144, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;f64&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Neg&quot;          },
+        &quot;f64.copysign&quot;:        { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 145, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;f64&quot;],                  &quot;immediate&quot;: []                         },
+        &quot;f64.ceil&quot;:            { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 146, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;f64&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Ceil&quot;         },
+        &quot;f64.floor&quot;:           { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 147, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;f64&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Floor&quot;        },
+        &quot;f64.trunc&quot;:           { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 148, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;f64&quot;],                  &quot;immediate&quot;: []                         },
+        &quot;f64.nearest&quot;:         { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 149, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;f64&quot;],                  &quot;immediate&quot;: []                         },
+        &quot;f64.sqrt&quot;:            { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 150, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;f64&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Sqrt&quot;         },
+        &quot;f64.eq&quot;:              { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;: 151, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;f64&quot;, &quot;f64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Equal&quot;        },
+        &quot;f64.ne&quot;:              { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;: 152, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;f64&quot;, &quot;f64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;NotEqual&quot;     },
+        &quot;f64.lt&quot;:              { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;: 153, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;f64&quot;, &quot;f64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;LessThan&quot;     },
+        &quot;f64.le&quot;:              { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;: 154, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;f64&quot;, &quot;f64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;LessEqual&quot;    },
+        &quot;f64.gt&quot;:              { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;: 155, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;f64&quot;, &quot;f64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;GreaterThan&quot;  },
+        &quot;f64.ge&quot;:              { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;: 156, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;f64&quot;, &quot;f64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;GreaterEqual&quot; },
+        &quot;i32.trunc_s/f32&quot;:     { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 157, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;f32&quot;],                  &quot;immediate&quot;: []                         },
+        &quot;i32.trunc_s/f64&quot;:     { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 158, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;f64&quot;],                  &quot;immediate&quot;: []                         },
+        &quot;i32.trunc_u/f32&quot;:     { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 159, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;f32&quot;],                  &quot;immediate&quot;: []                         },
+        &quot;i32.trunc_u/f64&quot;:     { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 160, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;f64&quot;],                  &quot;immediate&quot;: []                         },
+        &quot;i32.wrap/i64&quot;:        { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 161, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;i64&quot;],                  &quot;immediate&quot;: []                         },
+        &quot;i64.trunc_s/f32&quot;:     { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 162, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;f32&quot;],                  &quot;immediate&quot;: []                         },
+        &quot;i64.trunc_s/f64&quot;:     { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 163, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;f64&quot;],                  &quot;immediate&quot;: []                         },
+        &quot;i64.trunc_u/f32&quot;:     { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 164, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;f32&quot;],                  &quot;immediate&quot;: []                         },
+        &quot;i64.trunc_u/f64&quot;:     { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 165, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;f64&quot;],                  &quot;immediate&quot;: []                         },
+        &quot;i64.extend_s/i32&quot;:    { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 166, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;i32&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;SExt32&quot;       },
+        &quot;i64.extend_u/i32&quot;:    { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 167, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;i32&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;ZExt32&quot;       },
+        &quot;f32.convert_s/i32&quot;:   { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 168, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;IToF&quot;         },
+        &quot;f32.convert_u/i32&quot;:   { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 169, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;IToF(ZExt32(@0))&quot; },
+        &quot;f32.convert_s/i64&quot;:   { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 170, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;i64&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;IToF&quot;         },
+        &quot;f32.convert_u/i64&quot;:   { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 171, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;i64&quot;],                  &quot;immediate&quot;: []                         },
+        &quot;f32.demote/f64&quot;:      { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 172, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;f64&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;DoubleToFloat&quot;},
+        &quot;f32.reinterpret/i32&quot;: { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 173, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;BitwiseCast&quot;  },
+        &quot;f64.convert_s/i32&quot;:   { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 174, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;i32&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;IToD&quot;         },
+        &quot;f64.convert_u/i32&quot;:   { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 175, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;i32&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;IToD(ZExt32(@0))&quot; },
+        &quot;f64.convert_s/i64&quot;:   { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 176, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;IToD&quot;         },
+        &quot;f64.convert_u/i64&quot;:   { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 177, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;],                  &quot;immediate&quot;: []                         },
+        &quot;f64.promote/f32&quot;:     { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 178, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;f32&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;FloatToDouble&quot;},
+        &quot;f64.reinterpret/i64&quot;: { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 179, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;BitwiseCast&quot;  },
+        &quot;i32.reinterpret/f32&quot;: { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 180, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;f32&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;BitwiseCast&quot;  },
+        &quot;i64.reinterpret/f64&quot;: { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 181, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;f64&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;BitwiseCast&quot;  }
</ins><span class="cx">     }
</span><span class="cx"> }
</span></span></pre></div>
<a id="tagsSafari603114SourceJavaScriptCoreChangeLog"></a>
<div class="modfile"><h4>Modified: tags/Safari-603.1.14/Source/JavaScriptCore/ChangeLog (209277 => 209278)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-603.1.14/Source/JavaScriptCore/ChangeLog        2016-12-02 23:05:48 UTC (rev 209277)
+++ tags/Safari-603.1.14/Source/JavaScriptCore/ChangeLog        2016-12-02 23:07:25 UTC (rev 209278)
</span><span class="lines">@@ -1,3 +1,48 @@
</span><ins>+2016-12-02  Matthew Hanson  &lt;matthew_hanson@apple.com&gt;
+
+        Merge r209242.
+
+    2016-12-02  JF Bastien  &lt;jfbastien@apple.com&gt;
+
+            WebAssembly: revert patch causing odd breakage
+            https://bugs.webkit.org/show_bug.cgi?id=165308
+
+            Unreviewed.
+
+            Bug #164724 seems to cause build issues which I haven't tracked down yet. WasmOps.h can't be found:
+            ./Source/JavaScriptCore/wasm/WasmFormat.h:34:10: fatal error: 'WasmOps.h' file not found
+
+            It's weird since the file is auto-generated and has been for a while. #164724 merely includes it in WasmFormat.h.
+
+            * wasm/WasmB3IRGenerator.cpp:
+            (JSC::Wasm::B3IRGenerator::B3IRGenerator):
+            (JSC::Wasm::B3IRGenerator::zeroForType):
+            (JSC::Wasm::B3IRGenerator::addConstant):
+            (JSC::Wasm::createJSWrapper):
+            * wasm/WasmCallingConvention.h:
+            (JSC::Wasm::CallingConvention::marshallArgument):
+            * wasm/WasmFormat.cpp:
+            (JSC::Wasm::toString):
+            * wasm/WasmFormat.h:
+            (JSC::Wasm::toB3Type):
+            * wasm/WasmFunctionParser.h:
+            (JSC::Wasm::FunctionParser&lt;Context&gt;::parseExpression):
+            * wasm/WasmModuleParser.cpp:
+            (JSC::Wasm::ModuleParser::parse):
+            (JSC::Wasm::ModuleParser::parseType):
+            * wasm/WasmModuleParser.h:
+            * wasm/WasmParser.h:
+            (JSC::Wasm::Parser::parseResultType):
+            * wasm/generateWasm.py:
+            (Wasm.__init__):
+            * wasm/generateWasmOpsHeader.py:
+            (cppMacro):
+            (opcodeMacroizer):
+            (typeMacroizer): Deleted.
+            * wasm/js/WebAssemblyFunction.cpp:
+            (JSC::callWebAssemblyFunction):
+            * wasm/wasm.json:
+
</ins><span class="cx"> 2016-12-01  Brian Burg  &lt;bburg@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Remote Inspector: fix weird typo in generated ObjC protocol type initializer implementations
</span><span class="lines">@@ -380,43 +425,6 @@
</span><span class="cx">         (JSC::ProgramExecutable::initializeGlobalProperties):
</span><span class="cx">         * runtime/ProgramExecutable.h:
</span><span class="cx"> 
</span><del>-2016-11-30  JF Bastien  &lt;jfbastien@apple.com&gt;
-
-        WebAssembly: update binary format to 0xD version
-        https://bugs.webkit.org/show_bug.cgi?id=164724
-
-        Reviewed by Saam Barati.
-
-        As described in the following PR: https://github.com/WebAssembly/design/pull/836
-
-        * wasm/WasmB3IRGenerator.cpp:
-        (JSC::Wasm::B3IRGenerator::B3IRGenerator):
-        (JSC::Wasm::B3IRGenerator::zeroForType):
-        (JSC::Wasm::B3IRGenerator::addConstant):
-        (JSC::Wasm::createJSWrapper):
-        * wasm/WasmCallingConvention.h:
-        (JSC::Wasm::CallingConvention::marshallArgument):
-        * wasm/WasmFormat.cpp:
-        (JSC::Wasm::toString): Deleted.
-        * wasm/WasmFormat.h:
-        (JSC::Wasm::isValueType):
-        (JSC::Wasm::toB3Type): Deleted.
-        * wasm/WasmFunctionParser.h:
-        (JSC::Wasm::FunctionParser&lt;Context&gt;::parseExpression):
-        * wasm/WasmModuleParser.cpp:
-        (JSC::Wasm::ModuleParser::parse):
-        (JSC::Wasm::ModuleParser::parseType):
-        * wasm/WasmModuleParser.h:
-        * wasm/WasmParser.h:
-        (JSC::Wasm::Parser::parseResultType):
-        * wasm/generateWasm.py:
-        (Wasm.__init__):
-        * wasm/generateWasmOpsHeader.py:
-        (cppMacro):
-        (typeMacroizer):
-        (opcodeMacroizer):
-        * wasm/wasm.json:
-
</del><span class="cx"> 2016-11-30  Darin Adler  &lt;darin@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Roll out StringBuilder changes from the previous patch.
</span></span></pre></div>
<a id="tagsSafari603114SourceJavaScriptCorewasmWasmB3IRGeneratorcpp"></a>
<div class="modfile"><h4>Modified: tags/Safari-603.1.14/Source/JavaScriptCore/wasm/WasmB3IRGenerator.cpp (209277 => 209278)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-603.1.14/Source/JavaScriptCore/wasm/WasmB3IRGenerator.cpp        2016-12-02 23:05:48 UTC (rev 209277)
+++ tags/Safari-603.1.14/Source/JavaScriptCore/wasm/WasmB3IRGenerator.cpp        2016-12-02 23:07:25 UTC (rev 209278)
</span><span class="lines">@@ -186,7 +186,7 @@
</span><span class="cx">     Vector&lt;UnlinkedCall&gt;&amp; m_unlinkedCalls;
</span><span class="cx">     GPRReg m_memoryBaseGPR;
</span><span class="cx">     GPRReg m_memorySizeGPR;
</span><del>-    Value* m_zeroValues[numTypes];
</del><ins>+    Value* m_zeroValues[Type::LastValueType];
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> B3IRGenerator::B3IRGenerator(Memory* memory, Procedure&amp; procedure, Vector&lt;UnlinkedCall&gt;&amp; unlinkedCalls)
</span><span class="lines">@@ -196,19 +196,8 @@
</span><span class="cx"> {
</span><span class="cx">     m_currentBlock = m_proc.addBlock();
</span><span class="cx"> 
</span><del>-    for (unsigned i = 0; i &lt; numTypes; ++i) {
-        switch (B3::Type b3Type = toB3Type(linearizedToType(i))) {
-        case B3::Int32:
-        case B3::Int64:
-        case B3::Float:
-        case B3::Double:
-            m_zeroValues[i] = m_currentBlock-&gt;appendIntConstant(m_proc, Origin(), b3Type, 0);
-            break;
-        case B3::Void:
-            m_zeroValues[i] = nullptr;
-            break;
-        }
-    }
</del><ins>+    for (unsigned i = 0; i &lt; Type::LastValueType; ++i)
+        m_zeroValues[i] = m_currentBlock-&gt;appendIntConstant(m_proc, Origin(), toB3Type(static_cast&lt;Type&gt;(i + 1)), 0);
</ins><span class="cx"> 
</span><span class="cx">     if (m_memory) {
</span><span class="cx">         m_memoryBaseGPR = m_memory-&gt;pinnedRegisters().baseMemoryPointer;
</span><span class="lines">@@ -229,9 +218,7 @@
</span><span class="cx"> Value* B3IRGenerator::zeroForType(Type type)
</span><span class="cx"> {
</span><span class="cx">     ASSERT(type != Void);
</span><del>-    Value* zeroValue = m_zeroValues[linearizeType(type)];
-    ASSERT(zeroValue);
-    return zeroValue;
</del><ins>+    return m_zeroValues[type - 1];
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool B3IRGenerator::addLocal(Type type, uint32_t count)
</span><span class="lines">@@ -454,21 +441,18 @@
</span><span class="cx"> B3IRGenerator::ExpressionType B3IRGenerator::addConstant(Type type, uint64_t value)
</span><span class="cx"> {
</span><span class="cx">     switch (type) {
</span><del>-    case Wasm::I32:
</del><ins>+    case Int32:
</ins><span class="cx">         return m_currentBlock-&gt;appendNew&lt;Const32Value&gt;(m_proc, Origin(), static_cast&lt;int32_t&gt;(value));
</span><del>-    case Wasm::I64:
</del><ins>+    case Int64:
</ins><span class="cx">         return m_currentBlock-&gt;appendNew&lt;Const64Value&gt;(m_proc, Origin(), value);
</span><del>-    case Wasm::F32:
</del><ins>+    case Float:
</ins><span class="cx">         return m_currentBlock-&gt;appendNew&lt;ConstFloatValue&gt;(m_proc, Origin(), bitwise_cast&lt;float&gt;(static_cast&lt;int32_t&gt;(value)));
</span><del>-    case Wasm::F64:
</del><ins>+    case Double:
</ins><span class="cx">         return m_currentBlock-&gt;appendNew&lt;ConstDoubleValue&gt;(m_proc, Origin(), bitwise_cast&lt;double&gt;(value));
</span><del>-    case Wasm::Void:
-    case Wasm::Func:
-    case Wasm::Anyfunc:
-        break;
</del><ins>+    default:
+        RELEASE_ASSERT_NOT_REACHED();
+        return nullptr;
</ins><span class="cx">     }
</span><del>-    RELEASE_ASSERT_NOT_REACHED();
-    return nullptr;
</del><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> B3IRGenerator::ControlData B3IRGenerator::addBlock(Type signature)
</span><span class="lines">@@ -717,20 +701,17 @@
</span><span class="cx"> 
</span><span class="cx">     // Return the result, if needed.
</span><span class="cx">     switch (signature-&gt;returnType) {
</span><del>-    case Wasm::Void:
</del><ins>+    case Void:
</ins><span class="cx">         block-&gt;appendNewControlValue(proc, B3::Return, Origin());
</span><span class="cx">         break;
</span><del>-    case Wasm::F32:
-    case Wasm::F64:
</del><ins>+    case F32:
+    case F64:
</ins><span class="cx">         result = block-&gt;appendNew&lt;Value&gt;(proc, BitwiseCast, Origin(), result);
</span><span class="cx">         FALLTHROUGH;
</span><del>-    case Wasm::I32:
-    case Wasm::I64:
</del><ins>+    case I32:
+    case I64:
</ins><span class="cx">         block-&gt;appendNewControlValue(proc, B3::Return, Origin(), result);
</span><span class="cx">         break;
</span><del>-    case Wasm::Func:
-    case Wasm::Anyfunc:
-        RELEASE_ASSERT_NOT_REACHED();
</del><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     return std::make_unique&lt;Compilation&gt;(vm, proc);
</span></span></pre></div>
<a id="tagsSafari603114SourceJavaScriptCorewasmWasmCallingConventionh"></a>
<div class="modfile"><h4>Modified: tags/Safari-603.1.14/Source/JavaScriptCore/wasm/WasmCallingConvention.h (209277 => 209278)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-603.1.14/Source/JavaScriptCore/wasm/WasmCallingConvention.h        2016-12-02 23:05:48 UTC (rev 209277)
+++ tags/Safari-603.1.14/Source/JavaScriptCore/wasm/WasmCallingConvention.h        2016-12-02 23:07:25 UTC (rev 209278)
</span><span class="lines">@@ -76,7 +76,7 @@
</span><span class="cx">         case B3::Float:
</span><span class="cx">         case B3::Double:
</span><span class="cx">             return marshallArgumentImpl(m_fprArgs, type, fpArgumentCount, stackOffset);
</span><del>-        case B3::Void:
</del><ins>+        case Void:
</ins><span class="cx">             break;
</span><span class="cx">         }
</span><span class="cx">         RELEASE_ASSERT_NOT_REACHED();
</span></span></pre></div>
<a id="tagsSafari603114SourceJavaScriptCorewasmWasmFormatcpp"></a>
<div class="modfile"><h4>Modified: tags/Safari-603.1.14/Source/JavaScriptCore/wasm/WasmFormat.cpp (209277 => 209278)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-603.1.14/Source/JavaScriptCore/wasm/WasmFormat.cpp        2016-12-02 23:05:48 UTC (rev 209277)
+++ tags/Safari-603.1.14/Source/JavaScriptCore/wasm/WasmFormat.cpp        2016-12-02 23:07:25 UTC (rev 209278)
</span><span class="lines">@@ -31,10 +31,35 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;WasmMemory.h&quot;
</span><span class="cx"> 
</span><ins>+#if COMPILER(GCC) &amp;&amp; ASSERT_DISABLED
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored &quot;-Wreturn-type&quot;
+#endif // COMPILER(GCC) &amp;&amp; ASSERT_DISABLED
+
</ins><span class="cx"> namespace JSC { namespace Wasm {
</span><span class="cx"> 
</span><ins>+const char* toString(Type type)
+{
+    switch (type) {
+    case Void:
+        return &quot;void&quot;;
+    case I32:
+        return &quot;i32&quot;;
+    case I64:
+        return &quot;i64&quot;;
+    case F32:
+        return &quot;f32&quot;;
+    case F64:
+        return &quot;f64&quot;;
+    }
+}
+
</ins><span class="cx"> ModuleInformation::~ModuleInformation() { }
</span><span class="cx"> 
</span><span class="cx"> } } // namespace JSC::Wasm
</span><span class="cx"> 
</span><ins>+#if COMPILER(GCC) &amp;&amp; ASSERT_DISABLED
+#pragma GCC diagnostic pop
+#endif // COMPILER(GCC) &amp;&amp; ASSERT_DISABLED
+
</ins><span class="cx"> #endif // ENABLE(WEBASSEMBLY)
</span></span></pre></div>
<a id="tagsSafari603114SourceJavaScriptCorewasmWasmFormath"></a>
<div class="modfile"><h4>Modified: tags/Safari-603.1.14/Source/JavaScriptCore/wasm/WasmFormat.h (209277 => 209278)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-603.1.14/Source/JavaScriptCore/wasm/WasmFormat.h        2016-12-02 23:05:48 UTC (rev 209277)
+++ tags/Safari-603.1.14/Source/JavaScriptCore/wasm/WasmFormat.h        2016-12-02 23:07:25 UTC (rev 209278)
</span><span class="lines">@@ -31,7 +31,6 @@
</span><span class="cx"> #include &quot;B3Type.h&quot;
</span><span class="cx"> #include &quot;CodeLocation.h&quot;
</span><span class="cx"> #include &quot;Identifier.h&quot;
</span><del>-#include &quot;WasmOps.h&quot;
</del><span class="cx"> #include &lt;wtf/Vector.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace JSC {
</span><span class="lines">@@ -40,6 +39,33 @@
</span><span class="cx"> 
</span><span class="cx"> namespace Wasm {
</span><span class="cx"> 
</span><ins>+enum Type : uint8_t {
+    Void,
+    I32,
+    I64,
+    F32,
+    F64,
+    LastValueType = F64,
+};
+
+static_assert(I32 == 1, &quot;Wasm needs I32 to have the value 1&quot;);
+static_assert(I64 == 2, &quot;Wasm needs I64 to have the value 2&quot;);
+static_assert(F32 == 3, &quot;Wasm needs F32 to have the value 3&quot;);
+static_assert(F64 == 4, &quot;Wasm needs F64 to have the value 4&quot;);
+
+inline B3::Type toB3Type(Type type)
+{
+    switch (type) {
+    case I32: return B3::Int32;
+    case I64: return B3::Int64;
+    case F32: return B3::Float;
+    case F64: return B3::Double;
+    case Void: return B3::Void;
+    default: break;
+    }
+    RELEASE_ASSERT_NOT_REACHED();
+}
+
</ins><span class="cx"> inline bool isValueType(Type type)
</span><span class="cx"> {
</span><span class="cx">     switch (type) {
</span><span class="lines">@@ -53,10 +79,11 @@
</span><span class="cx">     }
</span><span class="cx">     return false;
</span><span class="cx"> }
</span><ins>+
+const char* toString(Type);
</ins><span class="cx">     
</span><span class="cx"> struct External {
</span><span class="cx">     enum Kind : uint8_t {
</span><del>-        // FIXME auto-generate this. https://bugs.webkit.org/show_bug.cgi?id=165231
</del><span class="cx">         Function = 0,
</span><span class="cx">         Table = 1,
</span><span class="cx">         Memory = 2,
</span></span></pre></div>
<a id="tagsSafari603114SourceJavaScriptCorewasmWasmFunctionParserh"></a>
<div class="modfile"><h4>Modified: tags/Safari-603.1.14/Source/JavaScriptCore/wasm/WasmFunctionParser.h (209277 => 209278)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-603.1.14/Source/JavaScriptCore/wasm/WasmFunctionParser.h        2016-12-02 23:05:48 UTC (rev 209277)
+++ tags/Safari-603.1.14/Source/JavaScriptCore/wasm/WasmFunctionParser.h        2016-12-02 23:07:25 UTC (rev 209278)
</span><span class="lines">@@ -207,13 +207,13 @@
</span><span class="cx"> bool FunctionParser&lt;Context&gt;::parseExpression(OpType op)
</span><span class="cx"> {
</span><span class="cx">     switch (op) {
</span><del>-#define CREATE_CASE(name, id, b3op, inc) case OpType::name: return binaryCase&lt;OpType::name&gt;();
</del><ins>+#define CREATE_CASE(name, id, b3op) case OpType::name: return binaryCase&lt;OpType::name&gt;();
</ins><span class="cx">     FOR_EACH_WASM_SIMPLE_BINARY_OP(CREATE_CASE)
</span><span class="cx"> #undef CREATE_CASE
</span><span class="cx"> 
</span><span class="cx">     case OpType::F32ConvertUI64: return unaryCase&lt;OpType::F32ConvertUI64&gt;();
</span><span class="cx">     case OpType::F64ConvertUI64: return unaryCase&lt;OpType::F64ConvertUI64&gt;();
</span><del>-#define CREATE_CASE(name, id, b3op, inc) case OpType::name: return unaryCase&lt;OpType::name&gt;();
</del><ins>+#define CREATE_CASE(name, id, b3op) case OpType::name: return unaryCase&lt;OpType::name&gt;();
</ins><span class="cx">     FOR_EACH_WASM_SIMPLE_UNARY_OP(CREATE_CASE)
</span><span class="cx"> #undef CREATE_CASE
</span><span class="cx"> 
</span><span class="lines">@@ -238,7 +238,7 @@
</span><span class="cx">         return true;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-#define CREATE_CASE(name, id, b3op, inc) case OpType::name:
</del><ins>+#define CREATE_CASE(name, id, b3op) case OpType::name:
</ins><span class="cx">     FOR_EACH_WASM_MEMORY_LOAD_OP(CREATE_CASE) {
</span><span class="cx">         uint32_t alignment;
</span><span class="cx">         if (!parseVarUInt32(alignment))
</span></span></pre></div>
<a id="tagsSafari603114SourceJavaScriptCorewasmWasmModuleParsercpp"></a>
<div class="modfile"><h4>Modified: tags/Safari-603.1.14/Source/JavaScriptCore/wasm/WasmModuleParser.cpp (209277 => 209278)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-603.1.14/Source/JavaScriptCore/wasm/WasmModuleParser.cpp        2016-12-02 23:05:48 UTC (rev 209277)
+++ tags/Safari-603.1.14/Source/JavaScriptCore/wasm/WasmModuleParser.cpp        2016-12-02 23:07:25 UTC (rev 209278)
</span><span class="lines">@@ -54,6 +54,7 @@
</span><span class="cx">         return false;
</span><span class="cx">     }
</span><span class="cx"> 
</span><ins>+    // Skip the version number for now since we don't do anything with it.
</ins><span class="cx">     uint32_t versionNumber;
</span><span class="cx">     if (!parseUInt32(versionNumber)) {
</span><span class="cx">         // FIXME improve error message https://bugs.webkit.org/show_bug.cgi?id=163919
</span><span class="lines">@@ -61,7 +62,7 @@
</span><span class="cx">         return false;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    if (versionNumber != expectedVersionNumber) {
</del><ins>+    if (versionNumber != magicNumber) {
</ins><span class="cx">         // FIXME improve error message https://bugs.webkit.org/show_bug.cgi?id=163919
</span><span class="cx">         m_errorMessage = &quot;unexpected version number&quot;;
</span><span class="cx">         return false;
</span><span class="lines">@@ -168,7 +169,7 @@
</span><span class="cx">         int8_t type;
</span><span class="cx">         if (!parseInt7(type))
</span><span class="cx">             return false;
</span><del>-        if (type != Func)
</del><ins>+        if (type != -0x20) // Function type constant. FIXME auto-generate from JSON file.
</ins><span class="cx">             return false;
</span><span class="cx"> 
</span><span class="cx">         if (verbose)
</span></span></pre></div>
<a id="tagsSafari603114SourceJavaScriptCorewasmWasmModuleParserh"></a>
<div class="modfile"><h4>Modified: tags/Safari-603.1.14/Source/JavaScriptCore/wasm/WasmModuleParser.h (209277 => 209278)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-603.1.14/Source/JavaScriptCore/wasm/WasmModuleParser.h        2016-12-02 23:05:48 UTC (rev 209277)
+++ tags/Safari-603.1.14/Source/JavaScriptCore/wasm/WasmModuleParser.h        2016-12-02 23:07:25 UTC (rev 209278)
</span><span class="lines">@@ -37,6 +37,8 @@
</span><span class="cx"> class ModuleParser : public Parser {
</span><span class="cx"> public:
</span><span class="cx"> 
</span><ins>+    static const unsigned magicNumber = 0xc;
+
</ins><span class="cx">     ModuleParser(VM* vm, const uint8_t* sourceBuffer, size_t sourceLength)
</span><span class="cx">         : Parser(sourceBuffer, sourceLength)
</span><span class="cx">         , m_vm(vm)
</span></span></pre></div>
<a id="tagsSafari603114SourceJavaScriptCorewasmWasmParserh"></a>
<div class="modfile"><h4>Modified: tags/Safari-603.1.14/Source/JavaScriptCore/wasm/WasmParser.h (209277 => 209278)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-603.1.14/Source/JavaScriptCore/wasm/WasmParser.h        2016-12-02 23:05:48 UTC (rev 209277)
+++ tags/Safari-603.1.14/Source/JavaScriptCore/wasm/WasmParser.h        2016-12-02 23:07:25 UTC (rev 209278)
</span><span class="lines">@@ -169,10 +169,10 @@
</span><span class="cx"> 
</span><span class="cx"> ALWAYS_INLINE bool Parser::parseResultType(Type&amp; result)
</span><span class="cx"> {
</span><del>-    int8_t value;
-    if (!parseInt7(value))
</del><ins>+    uint8_t value;
+    if (!parseUInt7(value))
</ins><span class="cx">         return false;
</span><del>-    if (!isValidType(value))
</del><ins>+    if (value &gt; static_cast&lt;uint8_t&gt;(Type::LastValueType))
</ins><span class="cx">         return false;
</span><span class="cx">     result = static_cast&lt;Type&gt;(value);
</span><span class="cx">     return true;
</span></span></pre></div>
<a id="tagsSafari603114SourceJavaScriptCorewasmgenerateWasmpy"></a>
<div class="modfile"><h4>Modified: tags/Safari-603.1.14/Source/JavaScriptCore/wasm/generateWasm.py (209277 => 209278)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-603.1.14/Source/JavaScriptCore/wasm/generateWasm.py        2016-12-02 23:05:48 UTC (rev 209277)
+++ tags/Safari-603.1.14/Source/JavaScriptCore/wasm/generateWasm.py        2016-12-02 23:07:25 UTC (rev 209278)
</span><span class="lines">@@ -33,11 +33,6 @@
</span><span class="cx">         wasmFile = open(jsonPath, &quot;r&quot;)
</span><span class="cx">         wasm = json.load(open(jsonPath, &quot;r&quot;))
</span><span class="cx">         wasmFile.close()
</span><del>-        for pre in wasm[&quot;preamble&quot;]:
-            if pre[&quot;name&quot;] == &quot;version&quot;:
-                self.expectedVersionNumber = str(pre[&quot;value&quot;])
-        self.preamble = wasm[&quot;preamble&quot;]
-        self.types = wasm[&quot;type&quot;]
</del><span class="cx">         self.opcodes = wasm[&quot;opcode&quot;]
</span><span class="cx">         self.header = &quot;&quot;&quot;/*
</span><span class="cx">  * Copyright (C) 2016 Apple Inc. All rights reserved.
</span></span></pre></div>
<a id="tagsSafari603114SourceJavaScriptCorewasmgenerateWasmOpsHeaderpy"></a>
<div class="modfile"><h4>Modified: tags/Safari-603.1.14/Source/JavaScriptCore/wasm/generateWasmOpsHeader.py (209277 => 209278)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-603.1.14/Source/JavaScriptCore/wasm/generateWasmOpsHeader.py        2016-12-02 23:05:48 UTC (rev 209277)
+++ tags/Safari-603.1.14/Source/JavaScriptCore/wasm/generateWasmOpsHeader.py        2016-12-02 23:07:25 UTC (rev 209278)
</span><span class="lines">@@ -35,34 +35,20 @@
</span><span class="cx">     parser.error(parser.usage)
</span><span class="cx"> 
</span><span class="cx"> wasm = Wasm(args[0], args[1])
</span><del>-types = wasm.types
</del><span class="cx"> opcodes = wasm.opcodes
</span><span class="cx"> wasmOpsHFile = open(args[2], &quot;w&quot;)
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-def cppMacro(wasmOpcode, value, b3, inc):
-    return &quot; \\\n    macro(&quot; + wasm.toCpp(wasmOpcode) + &quot;, &quot; + hex(int(value)) + &quot;, &quot; + b3 + &quot;, &quot; + str(inc) + &quot;)&quot;
</del><ins>+def cppMacro(wasmOpcode, value, b3Opcode):
+    return &quot; \\\n    macro(&quot; + wasm.toCpp(wasmOpcode) + &quot;, &quot; + hex(int(value)) + &quot;, &quot; + b3Opcode + &quot;)&quot;
</ins><span class="cx"> 
</span><span class="cx"> 
</span><del>-def typeMacroizer():
-    inc = 0
-    for ty in wasm.types:
-        yield cppMacro(ty, wasm.types[ty][&quot;value&quot;], wasm.types[ty][&quot;b3type&quot;], inc)
-        inc += 1
-
-type_definitions = [&quot;#define FOR_EACH_WASM_TYPE(macro)&quot;]
-type_definitions.extend([t for t in typeMacroizer()])
-type_definitions = &quot;&quot;.join(type_definitions)
-
-
</del><span class="cx"> def opcodeMacroizer(filter):
</span><del>-    inc = 0
</del><span class="cx">     for op in wasm.opcodeIterator(filter):
</span><span class="cx">         b3op = &quot;Oops&quot;
</span><span class="cx">         if isSimple(op[&quot;opcode&quot;]):
</span><span class="cx">             b3op = op[&quot;opcode&quot;][&quot;b3op&quot;]
</span><del>-        yield cppMacro(op[&quot;name&quot;], op[&quot;opcode&quot;][&quot;value&quot;], b3op, inc)
-        inc += 1
</del><ins>+        yield cppMacro(op[&quot;name&quot;], op[&quot;opcode&quot;][&quot;value&quot;], b3op)
</ins><span class="cx"> 
</span><span class="cx"> defines = [&quot;#define FOR_EACH_WASM_SPECIAL_OP(macro)&quot;]
</span><span class="cx"> defines.extend([op for op in opcodeMacroizer(lambda op: op[&quot;category&quot;] == &quot;special&quot; or op[&quot;category&quot;] == &quot;call&quot;)])
</span><span class="lines">@@ -115,75 +101,6 @@
</span><span class="cx"> 
</span><span class="cx"> namespace JSC { namespace Wasm {
</span><span class="cx"> 
</span><del>-static constexpr unsigned expectedVersionNumber = &quot;&quot;&quot; + wasm.expectedVersionNumber + &quot;&quot;&quot;;
-
-static constexpr unsigned numTypes = &quot;&quot;&quot; + str(len(types)) + &quot;&quot;&quot;;
-
-&quot;&quot;&quot; + type_definitions + &quot;&quot;&quot;
-#define CREATE_ENUM_VALUE(name, id, b3type, inc) name = id,
-enum Type : int8_t {
-    FOR_EACH_WASM_TYPE(CREATE_ENUM_VALUE)
-};
-#undef CREATE_ENUM_VALUE
-
-#define CREATE_CASE(name, id, b3type, inc) case id: return true;
-template &lt;typename Int&gt;
-inline bool isValidType(Int i)
-{
-    switch (i) {
-    default: return false;
-    FOR_EACH_WASM_TYPE(CREATE_CASE)
-    }
-    RELEASE_ASSERT_NOT_REACHED();
-    return false;
-}
-#undef CREATE_CASE
-
-#define CREATE_CASE(name, id, b3type, inc) case name: return b3type;
-inline B3::Type toB3Type(Type type)
-{
-    switch (type) {
-    FOR_EACH_WASM_TYPE(CREATE_CASE)
-    }
-    RELEASE_ASSERT_NOT_REACHED();
-    return B3::Void;
-}
-#undef CREATE_CASE
-
-#define CREATE_CASE(name, id, b3type, inc) case name: return &quot;name&quot;;
-inline const char* toString(Type type)
-{
-    switch (type) {
-    FOR_EACH_WASM_TYPE(CREATE_CASE)
-    }
-    RELEASE_ASSERT_NOT_REACHED();
-    return nullptr;
-}
-#undef CREATE_CASE
-
-#define CREATE_CASE(name, id, b3type, inc) case id: return inc;
-inline int linearizeType(Type type)
-{
-    switch (type) {
-    FOR_EACH_WASM_TYPE(CREATE_CASE)
-    }
-    RELEASE_ASSERT_NOT_REACHED();
-    return 0;
-}
-#undef CREATE_CASE
-
-#define CREATE_CASE(name, id, b3type, inc) case inc: return name;
-inline Type linearizedToType(int i)
-{
-    switch (i) {
-    FOR_EACH_WASM_TYPE(CREATE_CASE)
-    }
-    RELEASE_ASSERT_NOT_REACHED();
-    return Void;
-}
-#undef CREATE_CASE
-
-
</del><span class="cx"> &quot;&quot;&quot; + defines + &quot;&quot;&quot;
</span><span class="cx"> #define FOR_EACH_WASM_OP(macro) \\
</span><span class="cx">     FOR_EACH_WASM_SPECIAL_OP(macro) \\
</span><span class="lines">@@ -193,7 +110,7 @@
</span><span class="cx">     FOR_EACH_WASM_MEMORY_LOAD_OP(macro) \\
</span><span class="cx">     FOR_EACH_WASM_MEMORY_STORE_OP(macro)
</span><span class="cx"> 
</span><del>-#define CREATE_ENUM_VALUE(name, id, b3op, inc) name = id,
</del><ins>+#define CREATE_ENUM_VALUE(name, id, b3op) name = id,
</ins><span class="cx"> 
</span><span class="cx"> enum OpType : uint8_t {
</span><span class="cx">     FOR_EACH_WASM_OP(CREATE_ENUM_VALUE)
</span><span class="lines">@@ -228,7 +145,7 @@
</span><span class="cx"> inline bool isControlOp(OpType op)
</span><span class="cx"> {
</span><span class="cx">     switch (op) {
</span><del>-#define CREATE_CASE(name, id, b3op, inc) case OpType::name:
</del><ins>+#define CREATE_CASE(name, id, b3op) case OpType::name:
</ins><span class="cx">     FOR_EACH_WASM_CONTROL_FLOW_OP(CREATE_CASE)
</span><span class="cx">         return true;
</span><span class="cx"> #undef CREATE_CASE
</span><span class="lines">@@ -241,7 +158,7 @@
</span><span class="cx"> inline bool isSimple(UnaryOpType op)
</span><span class="cx"> {
</span><span class="cx">     switch (op) {
</span><del>-#define CREATE_CASE(name, id, b3op, inc) case UnaryOpType::name:
</del><ins>+#define CREATE_CASE(name, id, b3op) case UnaryOpType::name:
</ins><span class="cx">     FOR_EACH_WASM_SIMPLE_UNARY_OP(CREATE_CASE)
</span><span class="cx">         return true;
</span><span class="cx"> #undef CREATE_CASE
</span><span class="lines">@@ -254,7 +171,7 @@
</span><span class="cx"> inline bool isSimple(BinaryOpType op)
</span><span class="cx"> {
</span><span class="cx">     switch (op) {
</span><del>-#define CREATE_CASE(name, id, b3op, inc) case BinaryOpType::name:
</del><ins>+#define CREATE_CASE(name, id, b3op) case BinaryOpType::name:
</ins><span class="cx">     FOR_EACH_WASM_SIMPLE_BINARY_OP(CREATE_CASE)
</span><span class="cx">         return true;
</span><span class="cx"> #undef CREATE_CASE
</span></span></pre></div>
<a id="tagsSafari603114SourceJavaScriptCorewasmjsWebAssemblyFunctioncpp"></a>
<div class="modfile"><h4>Modified: tags/Safari-603.1.14/Source/JavaScriptCore/wasm/js/WebAssemblyFunction.cpp (209277 => 209278)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-603.1.14/Source/JavaScriptCore/wasm/js/WebAssemblyFunction.cpp        2016-12-02 23:05:48 UTC (rev 209277)
+++ tags/Safari-603.1.14/Source/JavaScriptCore/wasm/js/WebAssemblyFunction.cpp        2016-12-02 23:07:25 UTC (rev 209278)
</span><span class="lines">@@ -63,6 +63,10 @@
</span><span class="cx">     for (unsigned argIndex = 0; argIndex &lt; exec-&gt;argumentCount(); ++argIndex) {
</span><span class="cx">         JSValue arg = exec-&gt;uncheckedArgument(argIndex);
</span><span class="cx">         switch (signature-&gt;arguments[argIndex]) {
</span><ins>+        case Wasm::Void:
+        case Wasm::I64:
+            RELEASE_ASSERT_NOT_REACHED();
+            break;
</ins><span class="cx">         case Wasm::I32:
</span><span class="cx">             arg = JSValue::decode(arg.toInt32(exec));
</span><span class="cx">             break;
</span><span class="lines">@@ -72,11 +76,6 @@
</span><span class="cx">         case Wasm::F64:
</span><span class="cx">             arg = JSValue::decode(bitwise_cast&lt;uint64_t&gt;(arg.toNumber(exec)));
</span><span class="cx">             break;
</span><del>-        case Wasm::Void:
-        case Wasm::I64:
-        case Wasm::Func:
-        case Wasm::Anyfunc:
-            RELEASE_ASSERT_NOT_REACHED();
</del><span class="cx">         }
</span><span class="cx">         RETURN_IF_EXCEPTION(scope, encodedJSValue());
</span><span class="cx">         boxedArgs.append(arg);
</span><span class="lines">@@ -100,6 +99,8 @@
</span><span class="cx">     switch (signature-&gt;returnType) {
</span><span class="cx">     case Wasm::Void:
</span><span class="cx">         return JSValue::encode(jsUndefined());
</span><ins>+    case Wasm::I64:
+        RELEASE_ASSERT_NOT_REACHED();
</ins><span class="cx">     case Wasm::I32:
</span><span class="cx">         return JSValue::encode(JSValue(static_cast&lt;int32_t&gt;(rawResult)));
</span><span class="cx">     case Wasm::F32:
</span><span class="lines">@@ -106,14 +107,9 @@
</span><span class="cx">         return JSValue::encode(JSValue(bitwise_cast&lt;float&gt;(static_cast&lt;int32_t&gt;(rawResult))));
</span><span class="cx">     case Wasm::F64:
</span><span class="cx">         return JSValue::encode(JSValue(bitwise_cast&lt;double&gt;(rawResult)));
</span><del>-    case Wasm::I64:
-    case Wasm::Func:
-    case Wasm::Anyfunc:
-        break;
</del><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     RELEASE_ASSERT_NOT_REACHED();
</span><del>-    return EncodedJSValue();
</del><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> WebAssemblyFunction* WebAssemblyFunction::create(VM&amp; vm, JSGlobalObject* globalObject, int length, const String&amp; name, JSWebAssemblyInstance* instance, CallableWebAssemblyFunction&amp;&amp; callable)
</span></span></pre></div>
<a id="tagsSafari603114SourceJavaScriptCorewasmwasmjson"></a>
<div class="modfile"><h4>Modified: tags/Safari-603.1.14/Source/JavaScriptCore/wasm/wasm.json (209277 => 209278)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-603.1.14/Source/JavaScriptCore/wasm/wasm.json        2016-12-02 23:05:48 UTC (rev 209277)
+++ tags/Safari-603.1.14/Source/JavaScriptCore/wasm/wasm.json        2016-12-02 23:07:25 UTC (rev 209278)
</span><span class="lines">@@ -1,23 +1,25 @@
</span><span class="cx"> {
</span><span class="cx">     &quot;comments&quot;: [&quot;This file describes the WebAssembly ISA.&quot;,
</span><del>-                 &quot;Scripts in this folder auto-generate C++ code for JavaScriptCore as well as the testing DSL which WebKit's WebAssembly tests use.&quot;
</del><ins>+                 &quot;Scripts in this folder auto-generate C++ code for JavaScriptCore as well as the testing DSL which WebKit's WebAssembly tests use.&quot;,
+                 &quot;When you update this file you need to re-generate the C++ code: jsc ./JSTests/stress/wasm/generate-wasmops-header.js &gt; ./Source/JavaScriptCore/wasm/WASMOps.h&quot;
</ins><span class="cx">                 ],
</span><span class="cx">     &quot;preamble&quot;: [
</span><span class="cx">         { &quot;name&quot;: &quot;magic number&quot;, &quot;type&quot;: &quot;uint32&quot;, &quot;value&quot;: 1836278016, &quot;description&quot;: &quot;NULL character followed by 'asm'&quot; },
</span><del>-        { &quot;name&quot;: &quot;version&quot;,      &quot;type&quot;: &quot;uint32&quot;, &quot;value&quot;:         13, &quot;description&quot;: &quot;Version number, will be reset to 1 for MVP&quot; }
</del><ins>+        { &quot;name&quot;: &quot;version&quot;,      &quot;type&quot;: &quot;uint32&quot;, &quot;value&quot;:         12, &quot;description&quot;: &quot;Version number, will be reset to 1 for MVP&quot; }
</ins><span class="cx">     ],
</span><del>-    &quot;type&quot; : {
-        &quot;i32&quot;:     { &quot;type&quot;: &quot;varint7&quot;, &quot;value&quot;:  -1, &quot;b3type&quot;: &quot;B3::Int32&quot; },
-        &quot;i64&quot;:     { &quot;type&quot;: &quot;varint7&quot;, &quot;value&quot;:  -2, &quot;b3type&quot;: &quot;B3::Int64&quot; },
-        &quot;f32&quot;:     { &quot;type&quot;: &quot;varint7&quot;, &quot;value&quot;:  -3, &quot;b3type&quot;: &quot;B3::Float&quot; },
-        &quot;f64&quot;:     { &quot;type&quot;: &quot;varint7&quot;, &quot;value&quot;:  -4, &quot;b3type&quot;: &quot;B3::Double&quot; },
-        &quot;anyfunc&quot;: { &quot;type&quot;: &quot;varint7&quot;, &quot;value&quot;: -16, &quot;b3type&quot;: &quot;B3::Void&quot; },
-        &quot;func&quot;:    { &quot;type&quot;: &quot;varint7&quot;, &quot;value&quot;: -32, &quot;b3type&quot;: &quot;B3::Void&quot; },
-        &quot;void&quot;:    { &quot;type&quot;: &quot;varint7&quot;, &quot;value&quot;: -64, &quot;b3type&quot;: &quot;B3::Void&quot; }
</del><ins>+    &quot;value_type&quot; : {
+        &quot;i32&quot;: { &quot;type&quot;: &quot;uint8&quot;, &quot;value&quot;: 1 },
+        &quot;i64&quot;: { &quot;type&quot;: &quot;uint8&quot;, &quot;value&quot;: 2 },
+        &quot;f32&quot;: { &quot;type&quot;: &quot;uint8&quot;, &quot;value&quot;: 3 },
+        &quot;f64&quot;: { &quot;type&quot;: &quot;uint8&quot;, &quot;value&quot;: 4 }
</ins><span class="cx">     },
</span><del>-    &quot;value_type&quot;: [&quot;i32&quot;, &quot;i64&quot;, &quot;f32&quot;, &quot;f64&quot;],
-    &quot;block_type&quot;: [&quot;i32&quot;, &quot;i64&quot;, &quot;f32&quot;, &quot;f64&quot;, &quot;void&quot;],
-    &quot;elem_type&quot;: [&quot;anyfunc&quot;],
</del><ins>+    &quot;inline_signature_type&quot; : {
+        &quot;void&quot;: { &quot;type&quot;: &quot;uint8&quot;, &quot;value&quot;: 0 },
+        &quot;i32&quot;:  { &quot;type&quot;: &quot;uint8&quot;, &quot;value&quot;: 1 },
+        &quot;i64&quot;:  { &quot;type&quot;: &quot;uint8&quot;, &quot;value&quot;: 2 },
+        &quot;f32&quot;:  { &quot;type&quot;: &quot;uint8&quot;, &quot;value&quot;: 3 },
+        &quot;f64&quot;:  { &quot;type&quot;: &quot;uint8&quot;, &quot;value&quot;: 4 }
+    },
</ins><span class="cx">     &quot;external_kind&quot;: {
</span><span class="cx">         &quot;Function&quot;: { &quot;type&quot;: &quot;uint8&quot;, &quot;value&quot;: 0 },
</span><span class="cx">         &quot;Table&quot;:    { &quot;type&quot;: &quot;uint8&quot;, &quot;value&quot;: 1 },
</span><span class="lines">@@ -39,179 +41,179 @@
</span><span class="cx">     },
</span><span class="cx">     &quot;opcode&quot;: {
</span><span class="cx">         &quot;unreachable&quot;:         { &quot;category&quot;: &quot;control&quot;,    &quot;value&quot;:   0, &quot;return&quot;: [],           &quot;parameter&quot;: [],                      &quot;immediate&quot;: [],                                                                                         &quot;description&quot;: &quot;trap immediately&quot; },
</span><del>-        &quot;block&quot;:               { &quot;category&quot;: &quot;control&quot;,    &quot;value&quot;:   2, &quot;return&quot;: [&quot;control&quot;],  &quot;parameter&quot;: [],                      &quot;immediate&quot;: [{&quot;name&quot;: &quot;sig&quot;, &quot;type&quot;: &quot;block_type&quot;}],                                                    &quot;description&quot;: &quot;begin a sequence of expressions, yielding 0 or 1 values&quot; },
-        &quot;loop&quot;:                { &quot;category&quot;: &quot;control&quot;,    &quot;value&quot;:   3, &quot;return&quot;: [&quot;control&quot;],  &quot;parameter&quot;: [],                      &quot;immediate&quot;: [{&quot;name&quot;: &quot;sig&quot;, &quot;type&quot;: &quot;block_type&quot;}],                                                    &quot;description&quot;: &quot;begin a block which can also form control flow loops&quot; },
-        &quot;if&quot;:                  { &quot;category&quot;: &quot;control&quot;,    &quot;value&quot;:   4, &quot;return&quot;: [&quot;control&quot;],  &quot;parameter&quot;: [&quot;bool&quot;],                &quot;immediate&quot;: [{&quot;name&quot;: &quot;sig&quot;, &quot;type&quot;: &quot;block_type&quot;}],                                                    &quot;description&quot;: &quot;begin if expression&quot; },
-        &quot;else&quot;:                { &quot;category&quot;: &quot;control&quot;,    &quot;value&quot;:   5, &quot;return&quot;: [&quot;control&quot;],  &quot;parameter&quot;: [],                      &quot;immediate&quot;: [],                                                                                         &quot;description&quot;: &quot;begin else expression of if&quot; },
-        &quot;select&quot;:              { &quot;category&quot;: &quot;control&quot;,    &quot;value&quot;:  27, &quot;return&quot;: [&quot;prev&quot;],     &quot;parameter&quot;: [&quot;any&quot;, &quot;prev&quot;, &quot;bool&quot;], &quot;immediate&quot;: [],                                                                                         &quot;description&quot;: &quot;select one of two values based on condition&quot; },
-        &quot;br&quot;:                  { &quot;category&quot;: &quot;control&quot;,    &quot;value&quot;:  12, &quot;return&quot;: [],           &quot;parameter&quot;: [],                      &quot;immediate&quot;: [{&quot;name&quot;: &quot;relative_depth&quot;, &quot;type&quot;: &quot;varuint32&quot;}],                                          &quot;description&quot;: &quot;break that targets an outer nested block&quot; },
-        &quot;br_if&quot;:               { &quot;category&quot;: &quot;control&quot;,    &quot;value&quot;:  13, &quot;return&quot;: [],           &quot;parameter&quot;: [],                      &quot;immediate&quot;: [{&quot;name&quot;: &quot;relative_depth&quot;, &quot;type&quot;: &quot;varuint32&quot;}],                                          &quot;description&quot;: &quot;conditional break that targets an outer nested block&quot; },
-        &quot;br_table&quot;:            { &quot;category&quot;: &quot;control&quot;,    &quot;value&quot;:  14, &quot;return&quot;: [],           &quot;parameter&quot;: [],                      &quot;immediate&quot;: [{&quot;name&quot;: &quot;target_count&quot;,   &quot;type&quot;: &quot;varuint32&quot;,                                            &quot;description&quot;: &quot;number of entries in the target_table&quot;},
</del><ins>+        &quot;block&quot;:               { &quot;category&quot;: &quot;control&quot;,    &quot;value&quot;:   1, &quot;return&quot;: [&quot;control&quot;],  &quot;parameter&quot;: [],                      &quot;immediate&quot;: [{&quot;name&quot;: &quot;sig&quot;, &quot;type&quot;: &quot;inline_signature_type&quot;}],                                         &quot;description&quot;: &quot;begin a sequence of expressions, yielding 0 or 1 values&quot; },
+        &quot;loop&quot;:                { &quot;category&quot;: &quot;control&quot;,    &quot;value&quot;:   2, &quot;return&quot;: [&quot;control&quot;],  &quot;parameter&quot;: [],                      &quot;immediate&quot;: [{&quot;name&quot;: &quot;sig&quot;, &quot;type&quot;: &quot;inline_signature_type&quot;}],                                         &quot;description&quot;: &quot;begin a block which can also form control flow loops&quot; },
+        &quot;if&quot;:                  { &quot;category&quot;: &quot;control&quot;,    &quot;value&quot;:   3, &quot;return&quot;: [&quot;control&quot;],  &quot;parameter&quot;: [&quot;bool&quot;],                &quot;immediate&quot;: [{&quot;name&quot;: &quot;sig&quot;, &quot;type&quot;: &quot;inline_signature_type&quot;}],                                         &quot;description&quot;: &quot;begin if expression&quot; },
+        &quot;else&quot;:                { &quot;category&quot;: &quot;control&quot;,    &quot;value&quot;:   4, &quot;return&quot;: [&quot;control&quot;],  &quot;parameter&quot;: [],                      &quot;immediate&quot;: [],                                                                                         &quot;description&quot;: &quot;begin else expression of if&quot; },
+        &quot;select&quot;:              { &quot;category&quot;: &quot;control&quot;,    &quot;value&quot;:   5, &quot;return&quot;: [&quot;prev&quot;],     &quot;parameter&quot;: [&quot;any&quot;, &quot;prev&quot;, &quot;bool&quot;], &quot;immediate&quot;: [],                                                                                         &quot;description&quot;: &quot;select one of two values based on condition&quot; },
+        &quot;br&quot;:                  { &quot;category&quot;: &quot;control&quot;,    &quot;value&quot;:   6, &quot;return&quot;: [],           &quot;parameter&quot;: [],                      &quot;immediate&quot;: [{&quot;name&quot;: &quot;relative_depth&quot;, &quot;type&quot;: &quot;varuint32&quot;}],                                          &quot;description&quot;: &quot;break that targets an outer nested block&quot; },
+        &quot;br_if&quot;:               { &quot;category&quot;: &quot;control&quot;,    &quot;value&quot;:   7, &quot;return&quot;: [],           &quot;parameter&quot;: [],                      &quot;immediate&quot;: [{&quot;name&quot;: &quot;relative_depth&quot;, &quot;type&quot;: &quot;varuint32&quot;}],                                          &quot;description&quot;: &quot;conditional break that targets an outer nested block&quot; },
+        &quot;br_table&quot;:            { &quot;category&quot;: &quot;control&quot;,    &quot;value&quot;:   8, &quot;return&quot;: [],           &quot;parameter&quot;: [],                      &quot;immediate&quot;: [{&quot;name&quot;: &quot;target_count&quot;,   &quot;type&quot;: &quot;varuint32&quot;,                                            &quot;description&quot;: &quot;number of entries in the target_table&quot;},
</ins><span class="cx">                                                                                                                                                      {&quot;name&quot;: &quot;target_table&quot;,   &quot;type&quot;: &quot;varuint32*&quot;,                                           &quot;description&quot;: &quot;target entries that indicate an outer block or loop to which to break&quot;},
</span><span class="cx">                                                                                                                                                      {&quot;name&quot;: &quot;default_target&quot;, &quot;type&quot;: &quot;varuint32&quot;,                                            &quot;description&quot;: &quot;an outer block or loop to which to break in the default case&quot;}],
</span><span class="cx">                                                                                                                                                                                                                                                 &quot;description&quot;: &quot;branch table control flow construct&quot; },
</span><del>-        &quot;return&quot;:              { &quot;category&quot;: &quot;control&quot;,    &quot;value&quot;:  15, &quot;return&quot;: [],           &quot;parameter&quot;: [],                       &quot;immediate&quot;: [],                                                                                         &quot;description&quot;: &quot;return zero or one value from this function&quot; },
-        &quot;drop&quot;:                { &quot;category&quot;: &quot;control&quot;,    &quot;value&quot;:  26, &quot;return&quot;: [],           &quot;parameter&quot;: [&quot;any&quot;],                  &quot;immediate&quot;: [],                                                                                         &quot;description&quot;: &quot;ignore value&quot; },
-        &quot;nop&quot;:                 { &quot;category&quot;: &quot;control&quot;,    &quot;value&quot;:   1, &quot;return&quot;: [],           &quot;parameter&quot;: [],                       &quot;immediate&quot;: [],                                                                                         &quot;description&quot;: &quot;no operation&quot; },
-        &quot;end&quot;:                 { &quot;category&quot;: &quot;control&quot;,    &quot;value&quot;:  11, &quot;return&quot;: [],           &quot;parameter&quot;: [],                       &quot;immediate&quot;: [],                                                                                         &quot;description&quot;: &quot;end a block, loop, or if&quot; },
-        &quot;i32.const&quot;:           { &quot;category&quot;: &quot;special&quot;,    &quot;value&quot;:  65, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [],                       &quot;immediate&quot;: [{&quot;name&quot;: &quot;value&quot;,          &quot;type&quot;: &quot;varint32&quot;}],                                           &quot;description&quot;: &quot;a constant value interpreted as i32&quot; },
-        &quot;i64.const&quot;:           { &quot;category&quot;: &quot;special&quot;,    &quot;value&quot;:  66, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [],                       &quot;immediate&quot;: [{&quot;name&quot;: &quot;value&quot;,          &quot;type&quot;: &quot;varint64&quot;}],                                           &quot;description&quot;: &quot;a constant value interpreted as i64&quot; },
-        &quot;f64.const&quot;:           { &quot;category&quot;: &quot;special&quot;,    &quot;value&quot;:  68, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [],                       &quot;immediate&quot;: [{&quot;name&quot;: &quot;value&quot;,          &quot;type&quot;: &quot;uint64&quot;}],                                             &quot;description&quot;: &quot;a constant value interpreted as f64&quot; },
-        &quot;f32.const&quot;:           { &quot;category&quot;: &quot;special&quot;,    &quot;value&quot;:  67, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [],                       &quot;immediate&quot;: [{&quot;name&quot;: &quot;value&quot;,          &quot;type&quot;: &quot;uint32&quot;}],                                             &quot;description&quot;: &quot;a constant value interpreted as f32&quot; },
-        &quot;get_local&quot;:           { &quot;category&quot;: &quot;special&quot;,    &quot;value&quot;:  32, &quot;return&quot;: [&quot;local&quot;],    &quot;parameter&quot;: [],                       &quot;immediate&quot;: [{&quot;name&quot;: &quot;local_index&quot;,    &quot;type&quot;: &quot;varuint32&quot;}],                                          &quot;description&quot;: &quot;read a local variable or parameter&quot; },
-        &quot;set_local&quot;:           { &quot;category&quot;: &quot;special&quot;,    &quot;value&quot;:  33, &quot;return&quot;: [],           &quot;parameter&quot;: [&quot;local&quot;],                &quot;immediate&quot;: [{&quot;name&quot;: &quot;local_index&quot;,    &quot;type&quot;: &quot;varuint32&quot;}],                                          &quot;description&quot;: &quot;write a local variable or parameter&quot; },
-        &quot;tee_local&quot;:           { &quot;category&quot;: &quot;special&quot;,    &quot;value&quot;:  34, &quot;return&quot;: [&quot;prev&quot;],     &quot;parameter&quot;: [&quot;any&quot;],                  &quot;immediate&quot;: [{&quot;name&quot;: &quot;local_index&quot;,    &quot;type&quot;: &quot;varuint32&quot;}],                                          &quot;description&quot;: &quot;write a local variable or parameter and return the same value&quot; },
-        &quot;get_global&quot;:          { &quot;category&quot;: &quot;special&quot;,    &quot;value&quot;:  35, &quot;return&quot;: [&quot;global&quot;],   &quot;parameter&quot;: [],                       &quot;immediate&quot;: [{&quot;name&quot;: &quot;global_index&quot;,   &quot;type&quot;: &quot;varuint32&quot;}],                                          &quot;description&quot;: &quot;read a global variable&quot; },
-        &quot;set_global&quot;:          { &quot;category&quot;: &quot;special&quot;,    &quot;value&quot;:  36, &quot;return&quot;: [&quot;&quot;],         &quot;parameter&quot;: [&quot;global&quot;],               &quot;immediate&quot;: [{&quot;name&quot;: &quot;global_index&quot;,   &quot;type&quot;: &quot;varuint32&quot;}],                                          &quot;description&quot;: &quot;write a global variable&quot; },
-        &quot;call&quot;:                { &quot;category&quot;: &quot;call&quot;,       &quot;value&quot;:  16, &quot;return&quot;: [&quot;call&quot;],     &quot;parameter&quot;: [&quot;call&quot;],                 &quot;immediate&quot;: [{&quot;name&quot;: &quot;function_index&quot;, &quot;type&quot;: &quot;varuint32&quot;}],                                          &quot;description&quot;: &quot;call a function by its index&quot; },
-        &quot;call_indirect&quot;:       { &quot;category&quot;: &quot;call&quot;,       &quot;value&quot;:  17, &quot;return&quot;: [&quot;call&quot;],     &quot;parameter&quot;: [&quot;call&quot;],                 &quot;immediate&quot;: [{&quot;name&quot;: &quot;type_index&quot;,     &quot;type&quot;: &quot;varuint32&quot;}],                                          &quot;description&quot;: &quot;call a function indirect with an expected signature&quot; },
-        &quot;i32.load8_s&quot;:         { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  44, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;addr&quot;],                 &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;load from memory&quot; },
-        &quot;i32.load8_u&quot;:         { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  45, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;addr&quot;],                 &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;load from memory&quot; },
-        &quot;i32.load16_s&quot;:        { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  46, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;addr&quot;],                 &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;load from memory&quot; },
-        &quot;i32.load16_u&quot;:        { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  47, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;addr&quot;],                 &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;load from memory&quot; },
-        &quot;i64.load8_s&quot;:         { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  48, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;addr&quot;],                 &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;load from memory&quot; },
-        &quot;i64.load8_u&quot;:         { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  49, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;addr&quot;],                 &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;load from memory&quot; },
-        &quot;i64.load16_s&quot;:        { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  50, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;addr&quot;],                 &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;load from memory&quot; },
-        &quot;i64.load16_u&quot;:        { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  51, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;addr&quot;],                 &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;load from memory&quot; },
-        &quot;i64.load32_s&quot;:        { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  52, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;addr&quot;],                 &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;load from memory&quot; },
-        &quot;i64.load32_u&quot;:        { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  53, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;addr&quot;],                 &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;load from memory&quot; },
-        &quot;i32.load&quot;:            { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  40, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;addr&quot;],                 &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;load from memory&quot; },
-        &quot;i64.load&quot;:            { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  41, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;addr&quot;],                 &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;load from memory&quot; },
-        &quot;f32.load&quot;:            { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  42, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;addr&quot;],                 &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;load from memory&quot; },
-        &quot;f64.load&quot;:            { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  43, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;addr&quot;],                 &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;load from memory&quot; },
-        &quot;i32.store8&quot;:          { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  58, &quot;return&quot;: [],           &quot;parameter&quot;: [&quot;addr&quot;, &quot;i32&quot;],          &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;store to memory&quot; },
-        &quot;i32.store16&quot;:         { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  59, &quot;return&quot;: [],           &quot;parameter&quot;: [&quot;addr&quot;, &quot;i32&quot;],          &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;store to memory&quot; },
-        &quot;i64.store8&quot;:          { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  60, &quot;return&quot;: [],           &quot;parameter&quot;: [&quot;addr&quot;, &quot;i64&quot;],          &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;store to memory&quot; },
-        &quot;i64.store16&quot;:         { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  61, &quot;return&quot;: [],           &quot;parameter&quot;: [&quot;addr&quot;, &quot;i64&quot;],          &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;store to memory&quot; },
-        &quot;i64.store32&quot;:         { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  62, &quot;return&quot;: [],           &quot;parameter&quot;: [&quot;addr&quot;, &quot;i64&quot;],          &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;store to memory&quot; },
-        &quot;i32.store&quot;:           { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  54, &quot;return&quot;: [],           &quot;parameter&quot;: [&quot;addr&quot;, &quot;i32&quot;],          &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;store to memory&quot; },
-        &quot;i64.store&quot;:           { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  55, &quot;return&quot;: [],           &quot;parameter&quot;: [&quot;addr&quot;, &quot;i64&quot;],          &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;store to memory&quot; },
-        &quot;f32.store&quot;:           { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  56, &quot;return&quot;: [],           &quot;parameter&quot;: [&quot;addr&quot;, &quot;f32&quot;],          &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;store to memory&quot; },
-        &quot;f64.store&quot;:           { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  57, &quot;return&quot;: [],           &quot;parameter&quot;: [&quot;addr&quot;, &quot;f64&quot;],          &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;store to memory&quot; },
-        &quot;current_memory&quot;:      { &quot;category&quot;: &quot;operation&quot;,  &quot;value&quot;:  63, &quot;return&quot;: [&quot;size&quot;],     &quot;parameter&quot;: [],                       &quot;immediate&quot;: [],                                                                                         &quot;description&quot;: &quot;query the size of memory&quot; },
-        &quot;grow_memory&quot;:         { &quot;category&quot;: &quot;operation&quot;,  &quot;value&quot;:  64, &quot;return&quot;: [&quot;size&quot;],     &quot;parameter&quot;: [&quot;size&quot;],                 &quot;immediate&quot;: [],                                                                                         &quot;description&quot;: &quot;grow the size of memory&quot; },
-        &quot;i32.add&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 106, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Add&quot;          },
-        &quot;i32.sub&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 107, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Sub&quot;          },
-        &quot;i32.mul&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 108, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Mul&quot;          },
-        &quot;i32.div_s&quot;:           { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 109, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Div&quot;          },
-        &quot;i32.div_u&quot;:           { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 110, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;UDiv&quot;         },
-        &quot;i32.rem_s&quot;:           { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 111, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Mod&quot;          },
-        &quot;i32.rem_u&quot;:           { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 112, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;UMod&quot;         },
-        &quot;i32.and&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 113, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;BitAnd&quot;       },
-        &quot;i32.or&quot;:              { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 114, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;BitOr&quot;        },
-        &quot;i32.xor&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 115, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;BitXor&quot;       },
-        &quot;i32.shl&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 116, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Shl&quot;          },
-        &quot;i32.shr_u&quot;:           { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 118, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;SShr&quot;         },
-        &quot;i32.shr_s&quot;:           { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 117, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;ZShr&quot;         },
-        &quot;i32.rotr&quot;:            { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 120, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;RotR&quot;         },
-        &quot;i32.rotl&quot;:            { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 119, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;RotL&quot;         },
-        &quot;i32.eq&quot;:              { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  70, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Equal&quot;        },
-        &quot;i32.ne&quot;:              { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  71, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;NotEqual&quot;     },
-        &quot;i32.lt_s&quot;:            { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  72, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;LessThan&quot;     },
-        &quot;i32.le_s&quot;:            { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  76, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;LessEqual&quot;    },
-        &quot;i32.lt_u&quot;:            { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  73, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Below&quot;        },
-        &quot;i32.le_u&quot;:            { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  77, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;BelowEqual&quot;   },
-        &quot;i32.gt_s&quot;:            { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  74, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;GreaterThan&quot;  },
-        &quot;i32.ge_s&quot;:            { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  78, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;GreaterEqual&quot; },
-        &quot;i32.gt_u&quot;:            { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  75, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Above&quot;        },
-        &quot;i32.ge_u&quot;:            { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  79, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;AboveEqual&quot;   },
-        &quot;i32.clz&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 103, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Clz&quot;          },
-        &quot;i32.ctz&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 104, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;],                  &quot;immediate&quot;: []                         },
-        &quot;i32.popcnt&quot;:          { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 105, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;],                  &quot;immediate&quot;: []                         },
-        &quot;i32.eqz&quot;:             { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  69, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i32&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Equal(i32(0), @0)&quot; },
-        &quot;i64.add&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 124, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Add&quot;          },
-        &quot;i64.sub&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 125, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Sub&quot;          },
-        &quot;i64.mul&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 126, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Mul&quot;          },
-        &quot;i64.div_s&quot;:           { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 127, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Div&quot;          },
-        &quot;i64.div_u&quot;:           { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 128, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;UDiv&quot;         },
-        &quot;i64.rem_s&quot;:           { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 129, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Mod&quot;          },
-        &quot;i64.rem_u&quot;:           { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 130, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;UDiv&quot;         },
-        &quot;i64.and&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 131, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;BitAnd&quot;       },
-        &quot;i64.or&quot;:              { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 132, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;BitOr&quot;        },
-        &quot;i64.xor&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 133, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;BitXor&quot;       },
-        &quot;i64.shl&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 134, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Shl&quot;          },
-        &quot;i64.shr_u&quot;:           { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 136, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;SShr&quot;         },
-        &quot;i64.shr_s&quot;:           { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 135, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;ZShr&quot;         },
-        &quot;i64.rotr&quot;:            { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 138, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;RotR&quot;         },
-        &quot;i64.rotl&quot;:            { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 137, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;RotL&quot;         },
-        &quot;i64.eq&quot;:              { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  81, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Equal&quot;        },
-        &quot;i64.ne&quot;:              { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  82, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;NotEqual&quot;     },
-        &quot;i64.lt_s&quot;:            { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  83, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;LessThan&quot;     },
-        &quot;i64.le_s&quot;:            { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  87, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;LessEqual&quot;    },
-        &quot;i64.lt_u&quot;:            { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  84, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Below&quot;        },
-        &quot;i64.le_u&quot;:            { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  88, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;BelowEqual&quot;   },
-        &quot;i64.gt_s&quot;:            { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  85, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;GreaterThan&quot;  },
-        &quot;i64.ge_s&quot;:            { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  89, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;GreaterEqual&quot; },
-        &quot;i64.gt_u&quot;:            { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  86, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Above&quot;        },
-        &quot;i64.ge_u&quot;:            { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  90, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;AboveEqual&quot;   },
-        &quot;i64.clz&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 121, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Clz&quot;          },
-        &quot;i64.ctz&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 122, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;],                  &quot;immediate&quot;: []                         },
-        &quot;i64.popcnt&quot;:          { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 123, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;],                  &quot;immediate&quot;: []                         },
-        &quot;i64.eqz&quot;:             { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  80, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i64&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Equal(i32(0), @0)&quot; },
-        &quot;f32.add&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 146, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;f32&quot;, &quot;f32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Add&quot;          },
-        &quot;f32.sub&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 147, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;f32&quot;, &quot;f32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Sub&quot;          },
-        &quot;f32.mul&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 148, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;f32&quot;, &quot;f32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Mul&quot;          },
-        &quot;f32.div&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 149, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;f32&quot;, &quot;f32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Div&quot;          },
-        &quot;f32.min&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 150, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;f32&quot;, &quot;f32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Select(LessThan(@0, @1), @0, @1)&quot; },
-        &quot;f32.max&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 151, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;f32&quot;, &quot;f32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Select(LessThan(@0, @1), @1, @0)&quot; },
-        &quot;f32.abs&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 139, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;f32&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Abs&quot;          },
-        &quot;f32.neg&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 140, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;f32&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Neg&quot;          },
-        &quot;f32.copysign&quot;:        { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 152, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;f32&quot;],                  &quot;immediate&quot;: []                         },
-        &quot;f32.ceil&quot;:            { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 141, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;f32&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Ceil&quot;         },
-        &quot;f32.floor&quot;:           { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 142, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;f32&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Floor&quot;        },
-        &quot;f32.trunc&quot;:           { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 143, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;f32&quot;],                  &quot;immediate&quot;: []                         },
-        &quot;f32.nearest&quot;:         { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 144, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;f32&quot;],                  &quot;immediate&quot;: []                         },
-        &quot;f32.sqrt&quot;:            { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 145, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;f32&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Sqrt&quot;         },
-        &quot;f32.eq&quot;:              { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  91, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;f32&quot;, &quot;f32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Equal&quot;        },
-        &quot;f32.ne&quot;:              { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  92, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;f32&quot;, &quot;f32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;NotEqual&quot;     },
-        &quot;f32.lt&quot;:              { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  93, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;f32&quot;, &quot;f32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;LessThan&quot;     },
-        &quot;f32.le&quot;:              { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  95, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;f32&quot;, &quot;f32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;LessEqual&quot;    },
-        &quot;f32.gt&quot;:              { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  94, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;f32&quot;, &quot;f32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;GreaterThan&quot;  },
-        &quot;f32.ge&quot;:              { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  96, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;f32&quot;, &quot;f32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;GreaterEqual&quot; },
-        &quot;f64.add&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 160, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;f64&quot;, &quot;f64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Add&quot;          },
-        &quot;f64.sub&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 161, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;f64&quot;, &quot;f64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Sub&quot;          },
-        &quot;f64.mul&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 162, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;f64&quot;, &quot;f64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Mul&quot;          },
-        &quot;f64.div&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 163, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;f64&quot;, &quot;f64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Div&quot;          },
-        &quot;f64.min&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 164, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;f64&quot;, &quot;f64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Select(LessThan(@0, @1), @0, @1)&quot; },
-        &quot;f64.max&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 165, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;f64&quot;, &quot;f64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Select(LessThan(@0, @1), @1, @0)&quot; },
-        &quot;f64.abs&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 153, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;f64&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Abs&quot;          },
-        &quot;f64.neg&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 154, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;f64&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Neg&quot;          },
-        &quot;f64.copysign&quot;:        { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 166, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;f64&quot;],                  &quot;immediate&quot;: []                         },
-        &quot;f64.ceil&quot;:            { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 155, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;f64&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Ceil&quot;         },
-        &quot;f64.floor&quot;:           { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 156, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;f64&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Floor&quot;        },
-        &quot;f64.trunc&quot;:           { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 157, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;f64&quot;],                  &quot;immediate&quot;: []                         },
-        &quot;f64.nearest&quot;:         { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 158, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;f64&quot;],                  &quot;immediate&quot;: []                         },
-        &quot;f64.sqrt&quot;:            { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 159, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;f64&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Sqrt&quot;         },
-        &quot;f64.eq&quot;:              { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  97, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;f64&quot;, &quot;f64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Equal&quot;        },
-        &quot;f64.ne&quot;:              { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  98, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;f64&quot;, &quot;f64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;NotEqual&quot;     },
-        &quot;f64.lt&quot;:              { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  99, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;f64&quot;, &quot;f64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;LessThan&quot;     },
-        &quot;f64.le&quot;:              { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;: 101, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;f64&quot;, &quot;f64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;LessEqual&quot;    },
-        &quot;f64.gt&quot;:              { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;: 100, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;f64&quot;, &quot;f64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;GreaterThan&quot;  },
-        &quot;f64.ge&quot;:              { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;: 102, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;f64&quot;, &quot;f64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;GreaterEqual&quot; },
-        &quot;i32.trunc_s/f32&quot;:     { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 168, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;f32&quot;],                  &quot;immediate&quot;: []                         },
-        &quot;i32.trunc_s/f64&quot;:     { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 170, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;f64&quot;],                  &quot;immediate&quot;: []                         },
-        &quot;i32.trunc_u/f32&quot;:     { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 169, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;f32&quot;],                  &quot;immediate&quot;: []                         },
-        &quot;i32.trunc_u/f64&quot;:     { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 171, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;f64&quot;],                  &quot;immediate&quot;: []                         },
-        &quot;i32.wrap/i64&quot;:        { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 167, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;i64&quot;],                  &quot;immediate&quot;: []                         },
-        &quot;i64.trunc_s/f32&quot;:     { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 174, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;f32&quot;],                  &quot;immediate&quot;: []                         },
-        &quot;i64.trunc_s/f64&quot;:     { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 176, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;f64&quot;],                  &quot;immediate&quot;: []                         },
-        &quot;i64.trunc_u/f32&quot;:     { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 175, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;f32&quot;],                  &quot;immediate&quot;: []                         },
-        &quot;i64.trunc_u/f64&quot;:     { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 177, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;f64&quot;],                  &quot;immediate&quot;: []                         },
-        &quot;i64.extend_s/i32&quot;:    { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 172, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;i32&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;SExt32&quot;       },
-        &quot;i64.extend_u/i32&quot;:    { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 173, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;i32&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;ZExt32&quot;       },
-        &quot;f32.convert_s/i32&quot;:   { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 178, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;IToF&quot;         },
-        &quot;f32.convert_u/i32&quot;:   { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 179, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;IToF(ZExt32(@0))&quot; },
-        &quot;f32.convert_s/i64&quot;:   { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 180, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;i64&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;IToF&quot;         },
-        &quot;f32.convert_u/i64&quot;:   { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 181, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;i64&quot;],                  &quot;immediate&quot;: []                         },
-        &quot;f32.demote/f64&quot;:      { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 182, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;f64&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;DoubleToFloat&quot;},
-        &quot;f32.reinterpret/i32&quot;: { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 190, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;BitwiseCast&quot;  },
-        &quot;f64.convert_s/i32&quot;:   { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 183, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;i32&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;IToD&quot;         },
-        &quot;f64.convert_u/i32&quot;:   { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 184, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;i32&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;IToD(ZExt32(@0))&quot; },
-        &quot;f64.convert_s/i64&quot;:   { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 185, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;IToD&quot;         },
-        &quot;f64.convert_u/i64&quot;:   { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 186, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;],                  &quot;immediate&quot;: []                         },
-        &quot;f64.promote/f32&quot;:     { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 187, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;f32&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;FloatToDouble&quot;},
-        &quot;f64.reinterpret/i64&quot;: { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 191, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;BitwiseCast&quot;  },
-        &quot;i32.reinterpret/f32&quot;: { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 188, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;f32&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;BitwiseCast&quot;  },
-        &quot;i64.reinterpret/f64&quot;: { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 189, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;f64&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;BitwiseCast&quot;  }
</del><ins>+        &quot;return&quot;:              { &quot;category&quot;: &quot;control&quot;,    &quot;value&quot;:   9, &quot;return&quot;: [],           &quot;parameter&quot;: [],                       &quot;immediate&quot;: [],                                                                                         &quot;description&quot;: &quot;return zero or one value from this function&quot; },
+        &quot;drop&quot;:                { &quot;category&quot;: &quot;control&quot;,    &quot;value&quot;:  11, &quot;return&quot;: [],           &quot;parameter&quot;: [&quot;any&quot;],                  &quot;immediate&quot;: [],                                                                                         &quot;description&quot;: &quot;ignore value&quot; },
+        &quot;nop&quot;:                 { &quot;category&quot;: &quot;control&quot;,    &quot;value&quot;:  10, &quot;return&quot;: [],           &quot;parameter&quot;: [],                       &quot;immediate&quot;: [],                                                                                         &quot;description&quot;: &quot;no operation&quot; },
+        &quot;end&quot;:                 { &quot;category&quot;: &quot;control&quot;,    &quot;value&quot;:  15, &quot;return&quot;: [],           &quot;parameter&quot;: [],                       &quot;immediate&quot;: [],                                                                                         &quot;description&quot;: &quot;end a block, loop, or if&quot; },
+        &quot;i32.const&quot;:           { &quot;category&quot;: &quot;special&quot;,    &quot;value&quot;:  16, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [],                       &quot;immediate&quot;: [{&quot;name&quot;: &quot;value&quot;,          &quot;type&quot;: &quot;varint32&quot;}],                                           &quot;description&quot;: &quot;a constant value interpreted as i32&quot; },
+        &quot;i64.const&quot;:           { &quot;category&quot;: &quot;special&quot;,    &quot;value&quot;:  17, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [],                       &quot;immediate&quot;: [{&quot;name&quot;: &quot;value&quot;,          &quot;type&quot;: &quot;varint64&quot;}],                                           &quot;description&quot;: &quot;a constant value interpreted as i64&quot; },
+        &quot;f64.const&quot;:           { &quot;category&quot;: &quot;special&quot;,    &quot;value&quot;:  18, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [],                       &quot;immediate&quot;: [{&quot;name&quot;: &quot;value&quot;,          &quot;type&quot;: &quot;uint64&quot;}],                                             &quot;description&quot;: &quot;a constant value interpreted as f64&quot; },
+        &quot;f32.const&quot;:           { &quot;category&quot;: &quot;special&quot;,    &quot;value&quot;:  19, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [],                       &quot;immediate&quot;: [{&quot;name&quot;: &quot;value&quot;,          &quot;type&quot;: &quot;uint32&quot;}],                                             &quot;description&quot;: &quot;a constant value interpreted as f32&quot; },
+        &quot;get_local&quot;:           { &quot;category&quot;: &quot;special&quot;,    &quot;value&quot;:  20, &quot;return&quot;: [&quot;local&quot;],    &quot;parameter&quot;: [],                       &quot;immediate&quot;: [{&quot;name&quot;: &quot;local_index&quot;,    &quot;type&quot;: &quot;varuint32&quot;}],                                          &quot;description&quot;: &quot;read a local variable or parameter&quot; },
+        &quot;set_local&quot;:           { &quot;category&quot;: &quot;special&quot;,    &quot;value&quot;:  21, &quot;return&quot;: [],           &quot;parameter&quot;: [&quot;local&quot;],                &quot;immediate&quot;: [{&quot;name&quot;: &quot;local_index&quot;,    &quot;type&quot;: &quot;varuint32&quot;}],                                          &quot;description&quot;: &quot;write a local variable or parameter&quot; },
+        &quot;tee_local&quot;:           { &quot;category&quot;: &quot;special&quot;,    &quot;value&quot;:  25, &quot;return&quot;: [&quot;prev&quot;],     &quot;parameter&quot;: [&quot;any&quot;],                  &quot;immediate&quot;: [{&quot;name&quot;: &quot;local_index&quot;,    &quot;type&quot;: &quot;varuint32&quot;}],                                          &quot;description&quot;: &quot;write a local variable or parameter and return the same value&quot; },
+        &quot;get_global&quot;:          { &quot;category&quot;: &quot;special&quot;,    &quot;value&quot;: 187, &quot;return&quot;: [&quot;global&quot;],   &quot;parameter&quot;: [],                       &quot;immediate&quot;: [{&quot;name&quot;: &quot;global_index&quot;,   &quot;type&quot;: &quot;varuint32&quot;}],                                          &quot;description&quot;: &quot;read a global variable&quot; },
+        &quot;set_global&quot;:          { &quot;category&quot;: &quot;special&quot;,    &quot;value&quot;: 188, &quot;return&quot;: [&quot;&quot;],         &quot;parameter&quot;: [&quot;global&quot;],               &quot;immediate&quot;: [{&quot;name&quot;: &quot;global_index&quot;,   &quot;type&quot;: &quot;varuint32&quot;}],                                          &quot;description&quot;: &quot;write a global variable&quot; },
+        &quot;call&quot;:                { &quot;category&quot;: &quot;call&quot;,       &quot;value&quot;:  22, &quot;return&quot;: [&quot;call&quot;],     &quot;parameter&quot;: [&quot;call&quot;],                 &quot;immediate&quot;: [{&quot;name&quot;: &quot;function_index&quot;, &quot;type&quot;: &quot;varuint32&quot;}],                                          &quot;description&quot;: &quot;call a function by its index&quot; },
+        &quot;call_indirect&quot;:       { &quot;category&quot;: &quot;call&quot;,       &quot;value&quot;:  23, &quot;return&quot;: [&quot;call&quot;],     &quot;parameter&quot;: [&quot;call&quot;],                 &quot;immediate&quot;: [{&quot;name&quot;: &quot;type_index&quot;,     &quot;type&quot;: &quot;varuint32&quot;}],                                          &quot;description&quot;: &quot;call a function indirect with an expected signature&quot; },
+        &quot;i32.load8_s&quot;:         { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  32, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;addr&quot;],                 &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;load from memory&quot; },
+        &quot;i32.load8_u&quot;:         { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  33, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;addr&quot;],                 &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;load from memory&quot; },
+        &quot;i32.load16_s&quot;:        { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  34, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;addr&quot;],                 &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;load from memory&quot; },
+        &quot;i32.load16_u&quot;:        { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  35, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;addr&quot;],                 &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;load from memory&quot; },
+        &quot;i64.load8_s&quot;:         { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  36, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;addr&quot;],                 &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;load from memory&quot; },
+        &quot;i64.load8_u&quot;:         { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  37, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;addr&quot;],                 &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;load from memory&quot; },
+        &quot;i64.load16_s&quot;:        { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  38, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;addr&quot;],                 &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;load from memory&quot; },
+        &quot;i64.load16_u&quot;:        { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  39, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;addr&quot;],                 &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;load from memory&quot; },
+        &quot;i64.load32_s&quot;:        { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  40, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;addr&quot;],                 &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;load from memory&quot; },
+        &quot;i64.load32_u&quot;:        { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  41, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;addr&quot;],                 &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;load from memory&quot; },
+        &quot;i32.load&quot;:            { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  42, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;addr&quot;],                 &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;load from memory&quot; },
+        &quot;i64.load&quot;:            { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  43, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;addr&quot;],                 &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;load from memory&quot; },
+        &quot;f32.load&quot;:            { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  44, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;addr&quot;],                 &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;load from memory&quot; },
+        &quot;f64.load&quot;:            { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  45, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;addr&quot;],                 &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;load from memory&quot; },
+        &quot;i32.store8&quot;:          { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  46, &quot;return&quot;: [],           &quot;parameter&quot;: [&quot;addr&quot;, &quot;i32&quot;],          &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;store to memory&quot; },
+        &quot;i32.store16&quot;:         { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  47, &quot;return&quot;: [],           &quot;parameter&quot;: [&quot;addr&quot;, &quot;i32&quot;],          &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;store to memory&quot; },
+        &quot;i64.store8&quot;:          { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  48, &quot;return&quot;: [],           &quot;parameter&quot;: [&quot;addr&quot;, &quot;i64&quot;],          &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;store to memory&quot; },
+        &quot;i64.store16&quot;:         { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  49, &quot;return&quot;: [],           &quot;parameter&quot;: [&quot;addr&quot;, &quot;i64&quot;],          &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;store to memory&quot; },
+        &quot;i64.store32&quot;:         { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  50, &quot;return&quot;: [],           &quot;parameter&quot;: [&quot;addr&quot;, &quot;i64&quot;],          &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;store to memory&quot; },
+        &quot;i32.store&quot;:           { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  51, &quot;return&quot;: [],           &quot;parameter&quot;: [&quot;addr&quot;, &quot;i32&quot;],          &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;store to memory&quot; },
+        &quot;i64.store&quot;:           { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  52, &quot;return&quot;: [],           &quot;parameter&quot;: [&quot;addr&quot;, &quot;i64&quot;],          &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;store to memory&quot; },
+        &quot;f32.store&quot;:           { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  53, &quot;return&quot;: [],           &quot;parameter&quot;: [&quot;addr&quot;, &quot;f32&quot;],          &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;store to memory&quot; },
+        &quot;f64.store&quot;:           { &quot;category&quot;: &quot;memory&quot;,     &quot;value&quot;:  54, &quot;return&quot;: [],           &quot;parameter&quot;: [&quot;addr&quot;, &quot;f64&quot;],          &quot;immediate&quot;: [{&quot;name&quot;: &quot;flags&quot;,          &quot;type&quot;: &quot;varuint32&quot;}, {&quot;name&quot;: &quot;offset&quot;, &quot;type&quot;: &quot;varuint32&quot;}], &quot;description&quot;: &quot;store to memory&quot; },
+        &quot;current_memory&quot;:      { &quot;category&quot;: &quot;operation&quot;,  &quot;value&quot;:  59, &quot;return&quot;: [&quot;size&quot;],     &quot;parameter&quot;: [],                       &quot;immediate&quot;: [],                                                                                         &quot;description&quot;: &quot;query the size of memory&quot; },
+        &quot;grow_memory&quot;:         { &quot;category&quot;: &quot;operation&quot;,  &quot;value&quot;:  57, &quot;return&quot;: [&quot;size&quot;],     &quot;parameter&quot;: [&quot;size&quot;],                 &quot;immediate&quot;: [],                                                                                         &quot;description&quot;: &quot;grow the size of memory&quot; },
+        &quot;i32.add&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;:  64, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Add&quot;          },
+        &quot;i32.sub&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;:  65, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Sub&quot;          },
+        &quot;i32.mul&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;:  66, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Mul&quot;          },
+        &quot;i32.div_s&quot;:           { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;:  67, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Div&quot;          },
+        &quot;i32.div_u&quot;:           { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;:  68, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;UDiv&quot;         },
+        &quot;i32.rem_s&quot;:           { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;:  69, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Mod&quot;          },
+        &quot;i32.rem_u&quot;:           { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;:  70, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;UMod&quot;         },
+        &quot;i32.and&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;:  71, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;BitAnd&quot;       },
+        &quot;i32.or&quot;:              { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;:  72, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;BitOr&quot;        },
+        &quot;i32.xor&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;:  73, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;BitXor&quot;       },
+        &quot;i32.shl&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;:  74, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Shl&quot;          },
+        &quot;i32.shr_u&quot;:           { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;:  75, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;SShr&quot;         },
+        &quot;i32.shr_s&quot;:           { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;:  76, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;ZShr&quot;         },
+        &quot;i32.rotr&quot;:            { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 182, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;RotR&quot;         },
+        &quot;i32.rotl&quot;:            { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 183, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;RotL&quot;         },
+        &quot;i32.eq&quot;:              { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  77, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Equal&quot;        },
+        &quot;i32.ne&quot;:              { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  78, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;NotEqual&quot;     },
+        &quot;i32.lt_s&quot;:            { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  79, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;LessThan&quot;     },
+        &quot;i32.le_s&quot;:            { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  80, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;LessEqual&quot;    },
+        &quot;i32.lt_u&quot;:            { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  81, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Below&quot;        },
+        &quot;i32.le_u&quot;:            { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  82, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;BelowEqual&quot;   },
+        &quot;i32.gt_s&quot;:            { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  83, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;GreaterThan&quot;  },
+        &quot;i32.ge_s&quot;:            { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  84, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;GreaterEqual&quot; },
+        &quot;i32.gt_u&quot;:            { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  85, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Above&quot;        },
+        &quot;i32.ge_u&quot;:            { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  86, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i32&quot;, &quot;i32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;AboveEqual&quot;   },
+        &quot;i32.clz&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;:  87, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Clz&quot;          },
+        &quot;i32.ctz&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;:  88, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;],                  &quot;immediate&quot;: []                         },
+        &quot;i32.popcnt&quot;:          { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;:  89, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;],                  &quot;immediate&quot;: []                         },
+        &quot;i32.eqz&quot;:             { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;:  90, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i32&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Equal(i32(0), @0)&quot; },
+        &quot;i64.add&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;:  91, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Add&quot;          },
+        &quot;i64.sub&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;:  92, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Sub&quot;          },
+        &quot;i64.mul&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;:  93, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Mul&quot;          },
+        &quot;i64.div_s&quot;:           { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;:  94, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Div&quot;          },
+        &quot;i64.div_u&quot;:           { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;:  95, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;UDiv&quot;         },
+        &quot;i64.rem_s&quot;:           { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;:  96, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Mod&quot;          },
+        &quot;i64.rem_u&quot;:           { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;:  97, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;UDiv&quot;         },
+        &quot;i64.and&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;:  98, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;BitAnd&quot;       },
+        &quot;i64.or&quot;:              { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;:  99, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;BitOr&quot;        },
+        &quot;i64.xor&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 100, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;BitXor&quot;       },
+        &quot;i64.shl&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 101, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Shl&quot;          },
+        &quot;i64.shr_u&quot;:           { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 102, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;SShr&quot;         },
+        &quot;i64.shr_s&quot;:           { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 103, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;ZShr&quot;         },
+        &quot;i64.rotr&quot;:            { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 184, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;RotR&quot;         },
+        &quot;i64.rotl&quot;:            { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 185, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;RotL&quot;         },
+        &quot;i64.eq&quot;:              { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;: 104, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Equal&quot;        },
+        &quot;i64.ne&quot;:              { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;: 105, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;NotEqual&quot;     },
+        &quot;i64.lt_s&quot;:            { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;: 106, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;LessThan&quot;     },
+        &quot;i64.le_s&quot;:            { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;: 107, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;LessEqual&quot;    },
+        &quot;i64.lt_u&quot;:            { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;: 108, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Below&quot;        },
+        &quot;i64.le_u&quot;:            { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;: 109, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;BelowEqual&quot;   },
+        &quot;i64.gt_s&quot;:            { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;: 110, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;GreaterThan&quot;  },
+        &quot;i64.ge_s&quot;:            { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;: 111, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;GreaterEqual&quot; },
+        &quot;i64.gt_u&quot;:            { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;: 112, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Above&quot;        },
+        &quot;i64.ge_u&quot;:            { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;: 113, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i64&quot;, &quot;i64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;AboveEqual&quot;   },
+        &quot;i64.clz&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 114, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Clz&quot;          },
+        &quot;i64.ctz&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 115, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;],                  &quot;immediate&quot;: []                         },
+        &quot;i64.popcnt&quot;:          { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 116, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;],                  &quot;immediate&quot;: []                         },
+        &quot;i64.eqz&quot;:             { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;: 186, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;i64&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Equal(i32(0), @0)&quot; },
+        &quot;f32.add&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 117, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;f32&quot;, &quot;f32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Add&quot;          },
+        &quot;f32.sub&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 118, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;f32&quot;, &quot;f32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Sub&quot;          },
+        &quot;f32.mul&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 119, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;f32&quot;, &quot;f32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Mul&quot;          },
+        &quot;f32.div&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 120, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;f32&quot;, &quot;f32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Div&quot;          },
+        &quot;f32.min&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 121, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;f32&quot;, &quot;f32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Select(LessThan(@0, @1), @0, @1)&quot; },
+        &quot;f32.max&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 122, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;f32&quot;, &quot;f32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Select(LessThan(@0, @1), @1, @0)&quot; },
+        &quot;f32.abs&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 123, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;f32&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Abs&quot;          },
+        &quot;f32.neg&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 124, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;f32&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Neg&quot;          },
+        &quot;f32.copysign&quot;:        { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 125, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;f32&quot;],                  &quot;immediate&quot;: []                         },
+        &quot;f32.ceil&quot;:            { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 126, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;f32&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Ceil&quot;         },
+        &quot;f32.floor&quot;:           { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 127, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;f32&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Floor&quot;        },
+        &quot;f32.trunc&quot;:           { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 128, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;f32&quot;],                  &quot;immediate&quot;: []                         },
+        &quot;f32.nearest&quot;:         { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 129, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;f32&quot;],                  &quot;immediate&quot;: []                         },
+        &quot;f32.sqrt&quot;:            { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 130, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;f32&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Sqrt&quot;         },
+        &quot;f32.eq&quot;:              { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;: 131, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;f32&quot;, &quot;f32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Equal&quot;        },
+        &quot;f32.ne&quot;:              { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;: 132, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;f32&quot;, &quot;f32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;NotEqual&quot;     },
+        &quot;f32.lt&quot;:              { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;: 133, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;f32&quot;, &quot;f32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;LessThan&quot;     },
+        &quot;f32.le&quot;:              { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;: 134, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;f32&quot;, &quot;f32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;LessEqual&quot;    },
+        &quot;f32.gt&quot;:              { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;: 135, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;f32&quot;, &quot;f32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;GreaterThan&quot;  },
+        &quot;f32.ge&quot;:              { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;: 136, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;f32&quot;, &quot;f32&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;GreaterEqual&quot; },
+        &quot;f64.add&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 137, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;f64&quot;, &quot;f64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Add&quot;          },
+        &quot;f64.sub&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 138, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;f64&quot;, &quot;f64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Sub&quot;          },
+        &quot;f64.mul&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 139, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;f64&quot;, &quot;f64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Mul&quot;          },
+        &quot;f64.div&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 140, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;f64&quot;, &quot;f64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Div&quot;          },
+        &quot;f64.min&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 141, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;f64&quot;, &quot;f64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Select(LessThan(@0, @1), @0, @1)&quot; },
+        &quot;f64.max&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 142, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;f64&quot;, &quot;f64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Select(LessThan(@0, @1), @1, @0)&quot; },
+        &quot;f64.abs&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 143, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;f64&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Abs&quot;          },
+        &quot;f64.neg&quot;:             { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 144, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;f64&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Neg&quot;          },
+        &quot;f64.copysign&quot;:        { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 145, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;f64&quot;],                  &quot;immediate&quot;: []                         },
+        &quot;f64.ceil&quot;:            { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 146, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;f64&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Ceil&quot;         },
+        &quot;f64.floor&quot;:           { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 147, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;f64&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Floor&quot;        },
+        &quot;f64.trunc&quot;:           { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 148, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;f64&quot;],                  &quot;immediate&quot;: []                         },
+        &quot;f64.nearest&quot;:         { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 149, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;f64&quot;],                  &quot;immediate&quot;: []                         },
+        &quot;f64.sqrt&quot;:            { &quot;category&quot;: &quot;arithmetic&quot;, &quot;value&quot;: 150, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;f64&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Sqrt&quot;         },
+        &quot;f64.eq&quot;:              { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;: 151, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;f64&quot;, &quot;f64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;Equal&quot;        },
+        &quot;f64.ne&quot;:              { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;: 152, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;f64&quot;, &quot;f64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;NotEqual&quot;     },
+        &quot;f64.lt&quot;:              { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;: 153, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;f64&quot;, &quot;f64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;LessThan&quot;     },
+        &quot;f64.le&quot;:              { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;: 154, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;f64&quot;, &quot;f64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;LessEqual&quot;    },
+        &quot;f64.gt&quot;:              { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;: 155, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;f64&quot;, &quot;f64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;GreaterThan&quot;  },
+        &quot;f64.ge&quot;:              { &quot;category&quot;: &quot;comparison&quot;, &quot;value&quot;: 156, &quot;return&quot;: [&quot;bool&quot;],     &quot;parameter&quot;: [&quot;f64&quot;, &quot;f64&quot;],           &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;GreaterEqual&quot; },
+        &quot;i32.trunc_s/f32&quot;:     { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 157, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;f32&quot;],                  &quot;immediate&quot;: []                         },
+        &quot;i32.trunc_s/f64&quot;:     { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 158, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;f64&quot;],                  &quot;immediate&quot;: []                         },
+        &quot;i32.trunc_u/f32&quot;:     { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 159, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;f32&quot;],                  &quot;immediate&quot;: []                         },
+        &quot;i32.trunc_u/f64&quot;:     { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 160, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;f64&quot;],                  &quot;immediate&quot;: []                         },
+        &quot;i32.wrap/i64&quot;:        { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 161, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;i64&quot;],                  &quot;immediate&quot;: []                         },
+        &quot;i64.trunc_s/f32&quot;:     { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 162, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;f32&quot;],                  &quot;immediate&quot;: []                         },
+        &quot;i64.trunc_s/f64&quot;:     { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 163, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;f64&quot;],                  &quot;immediate&quot;: []                         },
+        &quot;i64.trunc_u/f32&quot;:     { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 164, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;f32&quot;],                  &quot;immediate&quot;: []                         },
+        &quot;i64.trunc_u/f64&quot;:     { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 165, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;f64&quot;],                  &quot;immediate&quot;: []                         },
+        &quot;i64.extend_s/i32&quot;:    { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 166, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;i32&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;SExt32&quot;       },
+        &quot;i64.extend_u/i32&quot;:    { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 167, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;i32&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;ZExt32&quot;       },
+        &quot;f32.convert_s/i32&quot;:   { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 168, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;IToF&quot;         },
+        &quot;f32.convert_u/i32&quot;:   { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 169, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;IToF(ZExt32(@0))&quot; },
+        &quot;f32.convert_s/i64&quot;:   { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 170, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;i64&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;IToF&quot;         },
+        &quot;f32.convert_u/i64&quot;:   { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 171, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;i64&quot;],                  &quot;immediate&quot;: []                         },
+        &quot;f32.demote/f64&quot;:      { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 172, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;f64&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;DoubleToFloat&quot;},
+        &quot;f32.reinterpret/i32&quot;: { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 173, &quot;return&quot;: [&quot;f32&quot;],      &quot;parameter&quot;: [&quot;i32&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;BitwiseCast&quot;  },
+        &quot;f64.convert_s/i32&quot;:   { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 174, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;i32&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;IToD&quot;         },
+        &quot;f64.convert_u/i32&quot;:   { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 175, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;i32&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;IToD(ZExt32(@0))&quot; },
+        &quot;f64.convert_s/i64&quot;:   { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 176, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;IToD&quot;         },
+        &quot;f64.convert_u/i64&quot;:   { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 177, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;],                  &quot;immediate&quot;: []                         },
+        &quot;f64.promote/f32&quot;:     { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 178, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;f32&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;FloatToDouble&quot;},
+        &quot;f64.reinterpret/i64&quot;: { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 179, &quot;return&quot;: [&quot;f64&quot;],      &quot;parameter&quot;: [&quot;i64&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;BitwiseCast&quot;  },
+        &quot;i32.reinterpret/f32&quot;: { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 180, &quot;return&quot;: [&quot;i32&quot;],      &quot;parameter&quot;: [&quot;f32&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;BitwiseCast&quot;  },
+        &quot;i64.reinterpret/f64&quot;: { &quot;category&quot;: &quot;conversion&quot;, &quot;value&quot;: 181, &quot;return&quot;: [&quot;i64&quot;],      &quot;parameter&quot;: [&quot;f64&quot;],                  &quot;immediate&quot;: [], &quot;b3op&quot;: &quot;BitwiseCast&quot;  }
</ins><span class="cx">     }
</span><span class="cx"> }
</span></span></pre>
</div>
</div>

</body>
</html>