预编_模块址格
公开「整数」
文言:预编之转译(路二乙档之初版):读客体之 WasmGC 模块,每函数转为一整数 Wasm 函数(形如(帧)→无),并入执行器之模块,与之同降为机器码。值皆居值栈:参数与局部自帧起,操作数其上,每槽八字节;简单之令(局部、常量、三十二位整数之算与比较、引用之空与等、控制流)径书整数之令;余者(结构、数组、类型之转、宽整数与浮点、访存、表、杂项)呼执行器导出之“预编_”诸函数,携其立即数于模块中之址与当前之栈针,即解释器之处理函数。块与分支一一对应整数之块;分支之值先移至目标之槽。调用:被调者之帧即其参数之起;尾调者先移参数至己帧之首,再“调用而即返回”,降级时化为尾跳。异常以标志传播:每调用转译之函数后验之,在尝试表内则跳至其处理之码,否则返回。汉语:预编转译器(路二乙档第一版):读客体 WasmGC 模块,把每个函数转成一个整数 Wasm 函数(签名(帧)→ 无),并入执行器模块,一起降级为机器码。所有值都在值栈上:参数与局部变量从帧起,操作数栈在其上,每槽 8 字节。简单指令(局部变量、常量、i32 算术与比较、引用判空与相等、控制流)直接写成整数指令;其余(结构、数组、类型转换、i64 与浮点、访存、表、杂项)调用执行器导出的“预编_”函数(即解释器的指令处理函数),传入该指令立即数在模块字节中的地址与当前栈针。块与分支一一对应整数 Wasm 的块;分支携带的值先搬到目标位置。调用时被调用者的帧就是它参数的起点;尾调用先把参数搬到本函数帧首,再写成“调用后立即返回”,由降级器化为尾跳。异常用标志传播:每次调用转译函数之后检查,在尝试表里就跳到它的处理代码,否则直接返回。不支持旧式 try/catch/delegate/rethrow(遇到即报错)。
文言:执行器状态格之址,与客体二号之布局同。汉语:执行器状态格地址(与 客体二号/布局。豫 一致):模块字节起址、全局表、值栈上限、预编异常标志。
预编_全局表格
公开「整数」
暂无说明。
预编_值栈限格
公开「整数」
暂无说明。
预编_异常格
公开「整数」
暂无说明。
预编型
公开「元类型」
文言:客体模块之要:类型(种,甲,乙:函数为参数数与结果数,结构为字段数),函数之类型号,函数总数,导入函数数,标签之类型号,诸代码体(体起,体止,所声明之局部数)。汉语:客体模块摘要:类型表(每项 种、甲、乙;种 0 函数:甲参数数、乙结果数;种 1 结构:甲字段数;种 2 数组),每个函数(含导入)的类型号,函数总数,导入函数数,每个标签(含导入)的类型号,各代码体(指令起址、体末址、声明的局部变量数)。
预编体
公开「元类型」
暂无说明。
预编模块
公开「元类型」
暂无说明。
预位
公开化(「字节串」合(「引用类」于「整数」)合「整数」)而「整数」
暂无说明。
预设位
公开化(「字节串」合(「引用类」于「整数」)合「整数」)而化「整数」而「有」
暂无说明。
预读有号
公开化(「字节串」合(「引用类」于「整数」)合「整数」)而「整数」
暂无说明。
预续读无号
公开化(「字节串」合(「引用类」于「整数」)合「整数」)而化「整数」而化「整数」而化「整数」而「整数」
文言:续读无号之数:首字已读。汉语:首字节已经读出时,接着读完无符号 LEB128。
预读宽有号
公开化(「字节串」合(「引用类」于「整数」)合「整数」)而化「整数」而化「整数」而「整数」
文言:读六十四位有号之数,返其值(任意精度之整数)。汉语:读 64 位有符号 LEB128,返回数值(豫言整数,精度不限)。
预有号化
公开化「整数」而「整数」
文言:六十四位之数分为低高二字(皆以有号三十二位表之)。汉语:把 64 位整数拆成低、高两个 32 位字(都换成有符号 32 位范围内的值,供整数常量用)。
预宽低
公开化「整数」而「整数」
暂无说明。
预宽高
公开化「整数」而「整数」
文言:高字取下取整之商:截商而余负则减一。豫言之整数在网页汇编后端为六十四位而回绕,不可借二之六十四次方化为无号(旧法如此,负常量之高字遂误为零)。汉语:高字=值除以 2^32 向下取整:先截断除,余数为负就减一,结果本身就在有符号 32 位范围内。豫言整数在 Wasm 后端是 64 位回绕的,不能靠加 2^64 化成无符号数——旧写法这样做,2^64 溢出成 0,于是 -1 到 -2^32 之间的负 i64 常量高字全被写成 0(例如 box 里的 -2^30 变成正数,小整数 1 被装箱成结构体)。
预跳值型
公开化(「字节串」合(「引用类」于「整数」)合「整数」)而「有」
文言:值之型:引用型以九九、一〇〇起者后随堆型。汉语:跳过一个值类型(0x63、0x64 开头的引用类型后跟 s33 堆类型)。
预跳值型们
公开化(「字节串」合(「引用类」于「整数」)合「整数」)而化「整数」而「有」
暂无说明。
预跳字段们
公开化(「字节串」合(「引用类」于「整数」)合「整数」)而化「整数」而「有」
暂无说明。
预读字段类别
公开化(「字节串」合(「引用类」于「整数」)合「整数」)而「整数」
文言:字段之类:同执行器(零四字节数、一八字节数、二引用、三字节、四半字)。汉语:读一个字段(存储类型加可变标志),返回执行器用的元素类别:0 四字节数值(i32、f32)、1 八字节数值(i64、f64、v128)、2 引用、3 i8、4 i16。
预读复合
公开化(「字节串」合(「引用类」于「整数」)合「整数」)而化「整数」而(「整数」合「整数」合「整数」)
暂无说明。
预跳号们
公开化(「字节串」合(「引用类」于「整数」)合「整数」)而化「整数」而「有」
暂无说明。
预读子型
公开化(「字节串」合(「引用类」于「整数」)合「整数」)而化「整数」而(「整数」合「整数」合「整数」)
文言:子型:八十、七十九为 sub 与 sub final,后随超类之号。汉语:读一个子类型(0x50 sub、0x4F sub final 后跟超类型号列表,再跟复合类型)。首字节已读出。
预读子型们
公开化(「字节串」合(「引用类」于「整数」)合「整数」)而化「整数」而化(「列」于(「整数」合「整数」合「整数」))而(「列」于(「整数」合「整数」合「整数」))
暂无说明。
预读类型项们
公开化(「字节串」合(「引用类」于「整数」)合「整数」)而化「整数」而化(「列」于(「整数」合「整数」合「整数」))而(「列」于(「整数」合「整数」合「整数」))
文言:类型段:七十八为递归之组。返型之列(逆序)。汉语:读类型段各项(0x4E 是递归类型组),返回类型列表(逆序累积)。
预跳名
公开化(「字节串」合(「引用类」于「整数」)合「整数」)而「有」
暂无说明。
预跳限
公开化(「字节串」合(「引用类」于「整数」)合「整数」)而「有」
暂无说明。
预读导入们
公开化(「字节串」合(「引用类」于「整数」)合「整数」)而化「整数」而化(「引用类」于(「列」于「整数」))而化(「引用类」于(「列」于「整数」))而「有」
文言:导入段:记函数与标签之类型号。汉语:读导入段:函数导入与标签导入的类型号分别追加到两个列表(逆序),其他导入跳过。
预读号们
公开化(「字节串」合(「引用类」于「整数」)合「整数」)而化「整数」而化(「列」于「整数」)而(「列」于「整数」)
暂无说明。
预读标签们
公开化(「字节串」合(「引用类」于「整数」)合「整数」)而化「整数」而化(「列」于「整数」)而(「列」于「整数」)
暂无说明。
预局部数
公开化(「字节串」合(「引用类」于「整数」)合「整数」)而化「整数」而化「整数」而「整数」
暂无说明。
预读代码们
公开化(「字节串」合(「引用类」于「整数」)合「整数」)而化「整数」而化(「列」于(「整数」合「整数」合「整数」))而(「列」于(「整数」合「整数」合「整数」))
文言:代码段:每体记指令之起、体之末与局部之数(逆序)。汉语:读代码段:每个函数体记下(指令起址,体末址,声明的局部变量数),逆序累积。
预列转数组
公开承「甲」而化「甲」而化(「列」于「甲」)而(「数组引用类」于「甲」)
暂无说明。
预取字节串
公开化(「字节串」合(「引用类」于「整数」)合「整数」)而化「整数」而「字节串」
文言:解客体之模块。汉语:解析客体模块,得到摘要。
文言:客体函数之名:遍诸段,唯取自定义段 name 之子段一(函数之名),得(函数之绝对号,名之字节)之列;名逐字节经单字节之表拼成,不用宿主之截取,免全串之抄。汉语:读客体函数名:遍历各段,只取自定义段 "name" 的子段 1(函数名),得到(函数绝对号,名字字节串)列表。名字按字节经单字节表拼成,不用宿主的截取(它要复制整个模块字节)。只用于生成调试符号。
预读函数名们
公开化(「字节串」合(「引用类」于「整数」)合「整数」)而化「整数」而化(「列」于(「整数」合「字节串」))而(「列」于(「整数」合「字节串」))
暂无说明。
预是名段
公开化「字节串」而「爻」
暂无说明。
预读名段
公开化(「字节串」合(「引用类」于「整数」)合「整数」)而化「整数」而(「列」于(「整数」合「字节串」))
暂无说明。
预读客体名们
公开化「字节串」而(「列」于(「整数」合「字节串」))
暂无说明。
预编名旁路
公开(「引用类」于(「整数」合「整数」合(「数组引用类」于「字节串」)))
文言:客体函数名之旁路:预编并入之时存之,以并入后之函数号为序(起号即转起,下标为号减起号,无名者空串);唯供写可执行文件时生调试之符号,不改所生之码。汉语:客体函数名旁路:预编并入时写入,按并入后的函数号存放(起号=转起,数组下标=号减起号,没有名字为空串,另存个数);只供写出可执行文件时生成调试符号,不影响生成的代码。
预编客名
公开化「整数」而「字节串」
暂无说明。
预编解析
公开化「字节串」而((「数组引用类」于(「整数」合「整数」合「整数」))合(「数组引用类」于「整数」)合「整数」合「整数」合(「数组引用类」于「整数」)合(「列」于(「整数」合「整数」合「整数」)))
暂无说明。
预型签
公开化((「数组引用类」于(「整数」合「整数」合「整数」))合(「数组引用类」于「整数」)合「整数」合「整数」合(「数组引用类」于「整数」)合(「列」于(「整数」合「整数」合「整数」)))而化「整数」而(「整数」合「整数」)
暂无说明。
预函签
公开化((「数组引用类」于(「整数」合「整数」合「整数」))合(「数组引用类」于「整数」)合「整数」合「整数」合(「数组引用类」于「整数」)合(「列」于(「整数」合「整数」合「整数」)))而化「整数」而(「整数」合「整数」)
暂无说明。
预标签参数数
公开化((「数组引用类」于(「整数」合「整数」合「整数」))合(「数组引用类」于「整数」)合「整数」合「整数」合(「数组引用类」于「整数」)合(「列」于(「整数」合「整数」合「整数」)))而化「整数」而「整数」
暂无说明。
预编控
公开「元类型」
文言:控制之条:种(零块、一环、二条件、三尝试表、四函数、五处理层),高(相对基之操作数之高),参数数,结果数,目槽(分支之值所归之绝对槽:块为基加高,函数为零),尝试表之子句(种,标签,目标之客体层号)。汉语:控制栈条目:种(0 块、1 循环、2 条件、3 尝试表、4 函数体、5 尝试表内部的处理层,后者不是客体的块),高(进入时相对 基 的操作数高度,已扣除块参数),参数数,结果数,目槽(分支携带的值要放到的绝对槽号:块为 基+高,函数体为 0),尝试表的子句(种、标签号、客体层号)。
预编境
公开「元类型」
文言:转译之境。汉语:单个函数的转译状态:零 输出(逆序的指令块)、一 操作数深度、二 最大深度、三 控制栈(顶在前)、四 死码、五 死码中的嵌套数、六 基(参数数加局部数)、七 执行器导出表(名,函数号)、八 客体模块摘要、九 第一个转译函数在合并模块中的号。
预发
公开化((「引用类」于(「列」于(「列」于「网页指令」)))合(「引用类」于「整数」)合(「引用类」于「整数」)合(「引用类」于(「列」于(「整数」合「整数」合「整数」合「整数」合「整数」合(「列」于(「整数」合「整数」合「整数」)))))合(「引用类」于「整数」)合(「引用类」于「整数」)合「整数」合(「列」于(「字符串」合「整数」))合((「数组引用类」于(「整数」合「整数」合「整数」))合(「数组引用类」于「整数」)合「整数」合「整数」合(「数组引用类」于「整数」)合(「列」于(「整数」合「整数」合「整数」)))合「整数」)而化(「列」于「网页指令」)而「有」
暂无说明。
预深
公开化((「引用类」于(「列」于(「列」于「网页指令」)))合(「引用类」于「整数」)合(「引用类」于「整数」)合(「引用类」于(「列」于(「整数」合「整数」合「整数」合「整数」合「整数」合(「列」于(「整数」合「整数」合「整数」)))))合(「引用类」于「整数」)合(「引用类」于「整数」)合「整数」合(「列」于(「字符串」合「整数」))合((「数组引用类」于(「整数」合「整数」合「整数」))合(「数组引用类」于「整数」)合「整数」合「整数」合(「数组引用类」于「整数」)合(「列」于(「整数」合「整数」合「整数」)))合「整数」)而「整数」
暂无说明。
预设深
公开化((「引用类」于(「列」于(「列」于「网页指令」)))合(「引用类」于「整数」)合(「引用类」于「整数」)合(「引用类」于(「列」于(「整数」合「整数」合「整数」合「整数」合「整数」合(「列」于(「整数」合「整数」合「整数」)))))合(「引用类」于「整数」)合(「引用类」于「整数」)合「整数」合(「列」于(「字符串」合「整数」))合((「数组引用类」于(「整数」合「整数」合「整数」))合(「数组引用类」于「整数」)合「整数」合「整数」合(「数组引用类」于「整数」)合(「列」于(「整数」合「整数」合「整数」)))合「整数」)而化「整数」而「有」
暂无说明。
预死
公开化((「引用类」于(「列」于(「列」于「网页指令」)))合(「引用类」于「整数」)合(「引用类」于「整数」)合(「引用类」于(「列」于(「整数」合「整数」合「整数」合「整数」合「整数」合(「列」于(「整数」合「整数」合「整数」)))))合(「引用类」于「整数」)合(「引用类」于「整数」)合「整数」合(「列」于(「字符串」合「整数」))合((「数组引用类」于(「整数」合「整数」合「整数」))合(「数组引用类」于「整数」)合「整数」合「整数」合(「数组引用类」于「整数」)合(「列」于(「整数」合「整数」合「整数」)))合「整数」)而「爻」
暂无说明。
预设死
公开化((「引用类」于(「列」于(「列」于「网页指令」)))合(「引用类」于「整数」)合(「引用类」于「整数」)合(「引用类」于(「列」于(「整数」合「整数」合「整数」合「整数」合「整数」合(「列」于(「整数」合「整数」合「整数」)))))合(「引用类」于「整数」)合(「引用类」于「整数」)合「整数」合(「列」于(「字符串」合「整数」))合((「数组引用类」于(「整数」合「整数」合「整数」))合(「数组引用类」于「整数」)合「整数」合「整数」合(「数组引用类」于「整数」)合(「列」于(「整数」合「整数」合「整数」)))合「整数」)而化「整数」而「有」
暂无说明。
预控们
公开化((「引用类」于(「列」于(「列」于「网页指令」)))合(「引用类」于「整数」)合(「引用类」于「整数」)合(「引用类」于(「列」于(「整数」合「整数」合「整数」合「整数」合「整数」合(「列」于(「整数」合「整数」合「整数」)))))合(「引用类」于「整数」)合(「引用类」于「整数」)合「整数」合(「列」于(「字符串」合「整数」))合((「数组引用类」于(「整数」合「整数」合「整数」))合(「数组引用类」于「整数」)合「整数」合「整数」合(「数组引用类」于「整数」)合(「列」于(「整数」合「整数」合「整数」)))合「整数」)而(「列」于(「整数」合「整数」合「整数」合「整数」合「整数」合(「列」于(「整数」合「整数」合「整数」))))
暂无说明。
预压控
公开化((「引用类」于(「列」于(「列」于「网页指令」)))合(「引用类」于「整数」)合(「引用类」于「整数」)合(「引用类」于(「列」于(「整数」合「整数」合「整数」合「整数」合「整数」合(「列」于(「整数」合「整数」合「整数」)))))合(「引用类」于「整数」)合(「引用类」于「整数」)合「整数」合(「列」于(「字符串」合「整数」))合((「数组引用类」于(「整数」合「整数」合「整数」))合(「数组引用类」于「整数」)合「整数」合「整数」合(「数组引用类」于「整数」)合(「列」于(「整数」合「整数」合「整数」)))合「整数」)而化(「整数」合「整数」合「整数」合「整数」合「整数」合(「列」于(「整数」合「整数」合「整数」)))而「有」
暂无说明。
预弹控
公开化((「引用类」于(「列」于(「列」于「网页指令」)))合(「引用类」于「整数」)合(「引用类」于「整数」)合(「引用类」于(「列」于(「整数」合「整数」合「整数」合「整数」合「整数」合(「列」于(「整数」合「整数」合「整数」)))))合(「引用类」于「整数」)合(「引用类」于「整数」)合「整数」合(「列」于(「字符串」合「整数」))合((「数组引用类」于(「整数」合「整数」合「整数」))合(「数组引用类」于「整数」)合「整数」合「整数」合(「数组引用类」于「整数」)合(「列」于(「整数」合「整数」合「整数」)))合「整数」)而(「整数」合「整数」合「整数」合「整数」合「整数」合(「列」于(「整数」合「整数」合「整数」)))
暂无说明。
预顶控
公开化((「引用类」于(「列」于(「列」于「网页指令」)))合(「引用类」于「整数」)合(「引用类」于「整数」)合(「引用类」于(「列」于(「整数」合「整数」合「整数」合「整数」合「整数」合(「列」于(「整数」合「整数」合「整数」)))))合(「引用类」于「整数」)合(「引用类」于「整数」)合「整数」合(「列」于(「字符串」合「整数」))合((「数组引用类」于(「整数」合「整数」合「整数」))合(「数组引用类」于「整数」)合「整数」合「整数」合(「数组引用类」于「整数」)合(「列」于(「整数」合「整数」合「整数」)))合「整数」)而(「整数」合「整数」合「整数」合「整数」合「整数」合(「列」于(「整数」合「整数」合「整数」)))
暂无说明。
预接号
公开化((「引用类」于(「列」于(「列」于「网页指令」)))合(「引用类」于「整数」)合(「引用类」于「整数」)合(「引用类」于(「列」于(「整数」合「整数」合「整数」合「整数」合「整数」合(「列」于(「整数」合「整数」合「整数」)))))合(「引用类」于「整数」)合(「引用类」于「整数」)合「整数」合(「列」于(「字符串」合「整数」))合((「数组引用类」于(「整数」合「整数」合「整数」))合(「数组引用类」于「整数」)合「整数」合「整数」合(「数组引用类」于「整数」)合(「列」于(「整数」合「整数」合「整数」)))合「整数」)而化「字符串」而「整数」
文言:执行器导出之号。汉语:按名字取执行器导出函数的号。
预读槽
公开化「整数」而(「列」于「网页指令」)
文言:槽之令。槽者,自帧起之绝对槽号;低字在前。汉语:值栈槽的读写指令片段(槽号从帧起算,每槽 8 字节,低字在前;局部 0 是帧)。
预读槽高
公开化「整数」而(「列」于「网页指令」)
暂无说明。
预写槽
公开化「整数」而化(「列」于「网页指令」)而(「列」于「网页指令」)
暂无说明。
预写槽高
公开化「整数」而化(「列」于「网页指令」)而(「列」于「网页指令」)
暂无说明。
预写整
公开化「整数」而化(「列」于「网页指令」)而(「列」于「网页指令」)
文言:书三十二位之值(高字置零)。汉语:写 32 位值(低字为值,高字置零)。
预拷
公开化「整数」而化「整数」而(「列」于「网页指令」)
暂无说明。
预拷段
公开化「整数」而化「整数」而化「整数」而(「列」于「网页指令」)
暂无说明。
预槽址
公开化「整数」而(「列」于「网页指令」)
暂无说明。
预栈针
公开化((「引用类」于(「列」于(「列」于「网页指令」)))合(「引用类」于「整数」)合(「引用类」于「整数」)合(「引用类」于(「列」于(「整数」合「整数」合「整数」合「整数」合「整数」合(「列」于(「整数」合「整数」合「整数」)))))合(「引用类」于「整数」)合(「引用类」于「整数」)合「整数」合(「列」于(「字符串」合「整数」))合((「数组引用类」于(「整数」合「整数」合「整数」))合(「数组引用类」于「整数」)合「整数」合「整数」合(「数组引用类」于「整数」)合(「列」于(「整数」合「整数」合「整数」)))合「整数」)而(「列」于「网页指令」)
暂无说明。
预模址
公开化「整数」而(「列」于「网页指令」)
文言:模块中之址:局部一为模块之起。汉语:模块字节里的地址:局部 1 是模块起址。
预调接
公开化((「引用类」于(「列」于(「列」于「网页指令」)))合(「引用类」于「整数」)合(「引用类」于「整数」)合(「引用类」于(「列」于(「整数」合「整数」合「整数」合「整数」合「整数」合(「列」于(「整数」合「整数」合「整数」)))))合(「引用类」于「整数」)合(「引用类」于「整数」)合「整数」合(「列」于(「字符串」合「整数」))合((「数组引用类」于(「整数」合「整数」合「整数」))合(「数组引用类」于「整数」)合「整数」合「整数」合(「数组引用类」于「整数」)合(「列」于(「整数」合「整数」合「整数」)))合「整数」)而化「字符串」而化(「列」于「网页指令」)而(「列」于「网页指令」)
暂无说明。
预致命令
公开化((「引用类」于(「列」于(「列」于「网页指令」)))合(「引用类」于「整数」)合(「引用类」于「整数」)合(「引用类」于(「列」于(「整数」合「整数」合「整数」合「整数」合「整数」合(「列」于(「整数」合「整数」合「整数」)))))合(「引用类」于「整数」)合(「引用类」于「整数」)合「整数」合(「列」于(「字符串」合「整数」))合((「数组引用类」于(「整数」合「整数」合「整数」))合(「数组引用类」于「整数」)合「整数」合「整数」合(「数组引用类」于「整数」)合(「列」于(「整数」合「整数」合「整数」)))合「整数」)而化「整数」而(「列」于「网页指令」)
暂无说明。
预找层
公开化(「列」于(「整数」合「整数」合「整数」合「整数」合「整数」合(「列」于(「整数」合「整数」合「整数」))))而化「整数」而化「整数」而(「整数」合(「整数」合「整数」合「整数」合「整数」合「整数」合(「列」于(「整数」合「整数」合「整数」))))
文言:寻第 n 客体层:返(整数之层深,条)。汉语:找第 n 个客体控制层(跳过处理层):返回(它在整数 Wasm 控制栈里的深度,条目)。
预返回令
公开化((「引用类」于(「列」于(「列」于「网页指令」)))合(「引用类」于「整数」)合(「引用类」于「整数」)合(「引用类」于(「列」于(「整数」合「整数」合「整数」合「整数」合「整数」合(「列」于(「整数」合「整数」合「整数」)))))合(「引用类」于「整数」)合(「引用类」于「整数」)合「整数」合(「列」于(「字符串」合「整数」))合((「数组引用类」于(「整数」合「整数」合「整数」))合(「数组引用类」于「整数」)合「整数」合「整数」合(「数组引用类」于「整数」)合(「列」于(「整数」合「整数」合「整数」)))合「整数」)而化「整数」而(「列」于「网页指令」)
文言:返回之令:诸结果移至帧首而返。汉语:返回:把栈顶的结果搬到帧首(槽 0 起)再 return。
预分支令
公开化((「引用类」于(「列」于(「列」于「网页指令」)))合(「引用类」于「整数」)合(「引用类」于「整数」)合(「引用类」于(「列」于(「整数」合「整数」合「整数」合「整数」合「整数」合(「列」于(「整数」合「整数」合「整数」)))))合(「引用类」于「整数」)合(「引用类」于「整数」)合「整数」合(「列」于(「字符串」合「整数」))合((「数组引用类」于(「整数」合「整数」合「整数」))合(「数组引用类」于「整数」)合「整数」合「整数」合(「数组引用类」于「整数」)合(「列」于(「整数」合「整数」合「整数」)))合「整数」)而化「整数」而化「整数」而(「列」于「网页指令」)
文言:分支之令:值移至目标,跳。附层者,外加之整数块数(如 br_if 之 if)。汉语:分支到第 n 个客体层:把携带的值搬到目标槽后跳转;目标是函数体则等同返回。附层 是为此额外包的整数块层数(例如 br_if 译成 if…br…end 时为 1)。
预异常跳令
公开化((「引用类」于(「列」于(「列」于「网页指令」)))合(「引用类」于「整数」)合(「引用类」于「整数」)合(「引用类」于(「列」于(「整数」合「整数」合「整数」合「整数」合「整数」合(「列」于(「整数」合「整数」合「整数」)))))合(「引用类」于「整数」)合(「引用类」于「整数」)合「整数」合(「列」于(「字符串」合「整数」))合((「数组引用类」于(「整数」合「整数」合「整数」))合(「数组引用类」于「整数」)合「整数」合「整数」合(「数组引用类」于「整数」)合(「列」于(「整数」合「整数」合「整数」)))合「整数」)而化「整数」而(「列」于「网页指令」)
文言:异常之去向:最近之处理层,否则返回。汉语:异常的去向:跳到最近的处理层(尝试表内部),没有则返回。
预验异常令
公开化((「引用类」于(「列」于(「列」于「网页指令」)))合(「引用类」于「整数」)合(「引用类」于「整数」)合(「引用类」于(「列」于(「整数」合「整数」合「整数」合「整数」合「整数」合(「列」于(「整数」合「整数」合「整数」)))))合(「引用类」于「整数」)合(「引用类」于「整数」)合「整数」合(「列」于(「字符串」合「整数」))合((「数组引用类」于(「整数」合「整数」合「整数」))合(「数组引用类」于「整数」)合「整数」合「整数」合(「数组引用类」于「整数」)合(「列」于(「整数」合「整数」合「整数」)))合「整数」)而(「列」于「网页指令」)
暂无说明。
预读块型
公开化((「数组引用类」于(「整数」合「整数」合「整数」))合(「数组引用类」于「整数」)合「整数」合「整数」合(「数组引用类」于「整数」)合(「列」于(「整数」合「整数」合「整数」)))而化(「字节串」合(「引用类」于「整数」)合「整数」)而(「整数」合「整数」)
文言:块型:六十四为空,六十五至一二七为单值之型(九九、一〇〇后随堆型),余为类型号。返(参数数,结果数)。汉语:读块类型:0x40 为空;0x41–0x7F 是单个值类型(0x63、0x64 后跟堆类型),结果数 1;否则是 s33 类型号,取该函数类型的参数数与结果数。
预读四字
公开化(「字节串」合(「引用类」于「整数」)合「整数」)而「整数」
暂无说明。
预跳访存
公开化(「字节串」合(「引用类」于「整数」)合「整数」)而「有」
暂无说明。
预跳GC立
公开化(「字节串」合(「引用类」于「整数」)合「整数」)而化「整数」而「有」
暂无说明。
预跳杂立
公开化(「字节串」合(「引用类」于「整数」)合「整数」)而化「整数」而「有」
暂无说明。
预跳立
公开化((「数组引用类」于(「整数」合「整数」合「整数」))合(「数组引用类」于「整数」)合「整数」合「整数」合(「数组引用类」于「整数」)合(「列」于(「整数」合「整数」合「整数」)))而化(「字节串」合(「引用类」于「整数」)合「整数」)而化「整数」而「有」
文言:跳过诸令之立即数(死码用)。汉语:跳过一条非结构指令的立即数(死码里用;结构指令另行处理)。
预数效
公开化「整数」而(「整数」合「整数」)
文言:数之令之栈效:返(所弹,所压)。汉语:数值指令(0x45–0xC4)的栈效果:(弹出个数,压入个数)。
预整二元令
公开化「整数」而「网页指令」
文言:三十二位二元之算,径书整数之令。汉语:i32 二元运算与比较对应的整数 Wasm 指令(除法与取余另行调用执行器,以同样处理陷阱)。
预是整二元
公开化「整数」而「爻」
暂无说明。
预顶槽
公开化((「引用类」于(「列」于(「列」于「网页指令」)))合(「引用类」于「整数」)合(「引用类」于「整数」)合(「引用类」于(「列」于(「整数」合「整数」合「整数」合「整数」合「整数」合(「列」于(「整数」合「整数」合「整数」)))))合(「引用类」于「整数」)合(「引用类」于「整数」)合「整数」合(「列」于(「字符串」合「整数」))合((「数组引用类」于(「整数」合「整数」合「整数」))合(「数组引用类」于「整数」)合「整数」合「整数」合(「数组引用类」于「整数」)合(「列」于(「整数」合「整数」合「整数」)))合「整数」)而化「整数」而「整数」
暂无说明。
预处理码
公开化((「引用类」于(「列」于(「列」于「网页指令」)))合(「引用类」于「整数」)合(「引用类」于「整数」)合(「引用类」于(「列」于(「整数」合「整数」合「整数」合「整数」合「整数」合(「列」于(「整数」合「整数」合「整数」)))))合(「引用类」于「整数」)合(「引用类」于「整数」)合「整数」合(「列」于(「字符串」合「整数」))合((「数组引用类」于(「整数」合「整数」合「整数」))合(「数组引用类」于「整数」)合「整数」合「整数」合(「数组引用类」于「整数」)合(「列」于(「整数」合「整数」合「整数」)))合「整数」)而化(「列」于(「整数」合「整数」合「整数」))而(「列」于「网页指令」)
文言:尝试表之处理码:依子句之序验标签,合则取载荷(及异常之引用)至目标之槽而跳;皆不合则续传。此时控制栈顶为尝试表之外层。汉语:尝试表的处理代码(在外层块里、处理层已结束之后):按子句顺序:catch 标签相同就把载荷拷到目标槽并跳过去,catch_ref 再在其后放异常引用,catch_all 直接跳,catch_all_ref 只放异常引用;都不匹配则继续向外传播。
预闭层
公开化((「引用类」于(「列」于(「列」于「网页指令」)))合(「引用类」于「整数」)合(「引用类」于「整数」)合(「引用类」于(「列」于(「整数」合「整数」合「整数」合「整数」合「整数」合(「列」于(「整数」合「整数」合「整数」)))))合(「引用类」于「整数」)合(「引用类」于「整数」)合「整数」合(「列」于(「字符串」合「整数」))合((「数组引用类」于(「整数」合「整数」合「整数」))合(「数组引用类」于「整数」)合「整数」合「整数」合(「数组引用类」于「整数」)合(「列」于(「整数」合「整数」合「整数」)))合「整数」)而「有」
文言:闭一层:尝试表则先闭处理层,书处理码,后闭外层。汉语:结束一个客体层:普通块直接 end;尝试表先在处理层末尾加“正常完成则跳出外层”(br 1)并结束处理层,再写处理代码,最后结束外层;函数体则把结果搬到帧首。操作数深度复位为 高 + 结果数,死码结束。
预读子句们
公开化(「字节串」合(「引用类」于「整数」)合「整数」)而化「整数」而化(「列」于(「整数」合「整数」合「整数」))而(「列」于(「整数」合「整数」合「整数」))
文言:尝试表之子句:种(零 catch、一 catch_ref、二 catch_all、三 catch_all_ref),标签,层号。汉语:读尝试表的子句:(种,标签号,客体层号)。
预结构令
公开化((「引用类」于(「列」于(「列」于「网页指令」)))合(「引用类」于「整数」)合(「引用类」于「整数」)合(「引用类」于(「列」于(「整数」合「整数」合「整数」合「整数」合「整数」合(「列」于(「整数」合「整数」合「整数」)))))合(「引用类」于「整数」)合(「引用类」于「整数」)合「整数」合(「列」于(「字符串」合「整数」))合((「数组引用类」于(「整数」合「整数」合「整数」))合(「数组引用类」于「整数」)合「整数」合「整数」合(「数组引用类」于「整数」)合(「列」于(「整数」合「整数」合「整数」)))合「整数」)而化(「字节串」合(「引用类」于「整数」)合「整数」)而化「整数」而「有」
文言:结构之令:块、环、条件、否则、终、尝试表;死码中唯计其嵌。汉语:结构指令:block、loop、if、else、end、try_table。死码里只数嵌套层次(读掉立即数),直到回到当前层的 else 或 end。
预函控
公开化(「列」于(「整数」合「整数」合「整数」合「整数」合「整数」合(「列」于(「整数」合「整数」合「整数」))))而(「整数」合「整数」合「整数」合「整数」合「整数」合(「列」于(「整数」合「整数」合「整数」)))
文言:函数体之层:控制栈之底。汉语:函数体层(控制栈最底一层)。
预直调
公开化((「引用类」于(「列」于(「列」于「网页指令」)))合(「引用类」于「整数」)合(「引用类」于「整数」)合(「引用类」于(「列」于(「整数」合「整数」合「整数」合「整数」合「整数」合(「列」于(「整数」合「整数」合「整数」)))))合(「引用类」于「整数」)合(「引用类」于「整数」)合「整数」合(「列」于(「字符串」合「整数」))合((「数组引用类」于(「整数」合「整数」合「整数」))合(「数组引用类」于「整数」)合「整数」合「整数」合(「数组引用类」于「整数」)合(「列」于(「整数」合「整数」合「整数」)))合「整数」)而化「整数」而化「爻」而「有」
文言:调用之令。尾者先移参数至帧首,调用而即返(降级化为尾跳)。汉语:直接调用:导入函数经执行器的 调用导入;转译函数以“被调者帧 = 参数起槽”调用,之后检查异常。尾调用先把参数搬到帧首,再“调用后立即返回”(降级器把它变成尾跳)。
预派调
公开化((「引用类」于(「列」于(「列」于「网页指令」)))合(「引用类」于「整数」)合(「引用类」于「整数」)合(「引用类」于(「列」于(「整数」合「整数」合「整数」合「整数」合「整数」合(「列」于(「整数」合「整数」合「整数」)))))合(「引用类」于「整数」)合(「引用类」于「整数」)合「整数」合(「列」于(「字符串」合「整数」))合((「数组引用类」于(「整数」合「整数」合「整数」))合(「数组引用类」于「整数」)合「整数」合「整数」合(「数组引用类」于「整数」)合(「列」于(「整数」合「整数」合「整数」)))合「整数」)而化(「列」于「网页指令」)而化「整数」而化「整数」而化「爻」而「有」
文言:间接之调:函数之号先置于局部二,后经派发。汉语:间接调用(call_indirect、call_ref 及其尾调用):函数号已由 号令们 算出(留在栈顶),先存进局部 2,再按“帧、号”调用执行器导出的 预编派发(它按号转到转译函数或导入)。帧 是参数起槽。
预控制令
公开化((「引用类」于(「列」于(「列」于「网页指令」)))合(「引用类」于「整数」)合(「引用类」于「整数」)合(「引用类」于(「列」于(「整数」合「整数」合「整数」合「整数」合「整数」合(「列」于(「整数」合「整数」合「整数」)))))合(「引用类」于「整数」)合(「引用类」于「整数」)合「整数」合(「列」于(「字符串」合「整数」))合((「数组引用类」于(「整数」合「整数」合「整数」))合(「数组引用类」于「整数」)合「整数」合「整数」合(「数组引用类」于「整数」)合(「列」于(「整数」合「整数」合「整数」)))合「整数」)而化(「字节串」合(「引用类」于「整数」)合「整数」)而化「整数」而「有」
文言:控制之令(非结构者)。汉语:非结构的控制指令:unreachable、nop、throw、throw_ref、br、br_if、br_table、return、各种调用、drop、select。
预变量令
公开化((「引用类」于(「列」于(「列」于「网页指令」)))合(「引用类」于「整数」)合(「引用类」于「整数」)合(「引用类」于(「列」于(「整数」合「整数」合「整数」合「整数」合「整数」合(「列」于(「整数」合「整数」合「整数」)))))合(「引用类」于「整数」)合(「引用类」于「整数」)合「整数」合(「列」于(「字符串」合「整数」))合((「数组引用类」于(「整数」合「整数」合「整数」))合(「数组引用类」于「整数」)合「整数」合「整数」合(「数组引用类」于「整数」)合(「列」于(「整数」合「整数」合「整数」)))合「整数」)而化(「字节串」合(「引用类」于「整数」)合「整数」)而化「整数」而「有」
文言:局部、全局与表之令。汉语:局部变量(直接拷 8 字节槽)、全局变量(全局表 [状态_全局表] 起每项 8 字节)、table.get/set(调用执行器)。
预访存令
公开化((「引用类」于(「列」于(「列」于「网页指令」)))合(「引用类」于「整数」)合(「引用类」于「整数」)合(「引用类」于(「列」于(「整数」合「整数」合「整数」合「整数」合「整数」合(「列」于(「整数」合「整数」合「整数」)))))合(「引用类」于「整数」)合(「引用类」于「整数」)合「整数」合(「列」于(「字符串」合「整数」))合((「数组引用类」于(「整数」合「整数」合「整数」))合(「数组引用类」于「整数」)合「整数」合「整数」合(「数组引用类」于「整数」)合(「列」于(「整数」合「整数」合「整数」)))合「整数」)而化(「字节串」合(「引用类」于「整数」)合「整数」)而化「整数」而「有」
文言:访存之令:皆呼执行器,携立即数之址。汉语:线性内存指令(客体的线性内存由执行器模拟):load 与 store 调用执行器的访存处理(带立即数地址);memory.size、memory.grow 调用对应导出。
预常量令
公开化((「引用类」于(「列」于(「列」于「网页指令」)))合(「引用类」于「整数」)合(「引用类」于「整数」)合(「引用类」于(「列」于(「整数」合「整数」合「整数」合「整数」合「整数」合(「列」于(「整数」合「整数」合「整数」)))))合(「引用类」于「整数」)合(「引用类」于「整数」)合「整数」合(「列」于(「字符串」合「整数」))合((「数组引用类」于(「整数」合「整数」合「整数」))合(「数组引用类」于「整数」)合「整数」合「整数」合(「数组引用类」于「整数」)合(「列」于(「整数」合「整数」合「整数」)))合「整数」)而化(「字节串」合(「引用类」于「整数」)合「整数」)而化「整数」而「有」
暂无说明。
预是内联宽
公开化「整数」而「爻」
文言:六十四位之令可径书者:加、减、八种比较、与、或、异或。值居值栈之槽,低字在前;以三十二位之令分低高二字算之,加减以无号之比较得进位与借位。汉语:可以内联的 i64 指令:加、减、八种比较、按位与或异或。值在值栈槽里,低字在前;用 i32 指令分别算低、高两个字,加减用无符号比较求进位与借位。编译器里的整数都是 i64,原先每一次加减比较都要调用执行器。
预内联宽令
公开化「整数」而化「整数」而化「整数」而(「列」于「网页指令」)
暂无说明。
预数令
公开化((「引用类」于(「列」于(「列」于「网页指令」)))合(「引用类」于「整数」)合(「引用类」于「整数」)合(「引用类」于(「列」于(「整数」合「整数」合「整数」合「整数」合「整数」合(「列」于(「整数」合「整数」合「整数」)))))合(「引用类」于「整数」)合(「引用类」于「整数」)合「整数」合(「列」于(「字符串」合「整数」))合((「数组引用类」于(「整数」合「整数」合「整数」))合(「数组引用类」于「整数」)合「整数」合「整数」合(「数组引用类」于「整数」)合(「列」于(「整数」合「整数」合「整数」)))合「整数」)而化「整数」而「有」
文言:数之令:三十二位者径书,余呼执行器之宽浮之处理。汉语:数值指令:i32 的比较与算术直接写成整数指令(除法取余与 clz/ctz/popcnt 调用执行器),少数 i64 指令(eqz、eq、ne、wrap、extend)内联,重解释指令不动,其余调用执行器的宽整数与浮点处理。
预引用令
公开化((「引用类」于(「列」于(「列」于「网页指令」)))合(「引用类」于「整数」)合(「引用类」于「整数」)合(「引用类」于(「列」于(「整数」合「整数」合「整数」合「整数」合「整数」合(「列」于(「整数」合「整数」合「整数」)))))合(「引用类」于「整数」)合(「引用类」于「整数」)合「整数」合(「列」于(「字符串」合「整数」))合((「数组引用类」于(「整数」合「整数」合「整数」))合(「数组引用类」于「整数」)合「整数」合「整数」合(「数组引用类」于「整数」)合(「列」于(「整数」合「整数」合「整数」)))合「整数」)而化(「字节串」合(「引用类」于「整数」)合「整数」)而化「整数」而「有」
文言:引用之令。汉语:引用指令:ref.null、ref.is_null、ref.func(函数引用字为 号×8+2)、ref.eq、ref.as_non_null、br_on_null、br_on_non_null。
预内联整三一
公开化((「引用类」于(「列」于(「列」于「网页指令」)))合(「引用类」于「整数」)合(「引用类」于「整数」)合(「引用类」于(「列」于(「整数」合「整数」合「整数」合「整数」合「整数」合(「列」于(「整数」合「整数」合「整数」)))))合(「引用类」于「整数」)合(「引用类」于「整数」)合「整数」合(「列」于(「字符串」合「整数」))合((「数组引用类」于(「整数」合「整数」合「整数」))合(「数组引用类」于「整数」)合「整数」合「整数」合(「数组引用类」于「整数」)合(「列」于(「整数」合「整数」合「整数」)))合「整数」)而化「整数」而「有」
文言:内联之 i31:ref.i31 为左移一位而或一,i31.get_s 与 get_u 为右移一位(有号与无号),取前验空。汉语:i31 指令内联:ref.i31 是左移一位再或 1;i31.get_s、i31.get_u 分别是算术、逻辑右移一位,先检查空引用。
预内联取字段
公开化((「引用类」于(「列」于(「列」于「网页指令」)))合(「引用类」于「整数」)合(「引用类」于「整数」)合(「引用类」于(「列」于(「整数」合「整数」合「整数」合「整数」合「整数」合(「列」于(「整数」合「整数」合「整数」)))))合(「引用类」于「整数」)合(「引用类」于「整数」)合「整数」合(「列」于(「字符串」合「整数」))合((「数组引用类」于(「整数」合「整数」合「整数」))合(「数组引用类」于「整数」)合「整数」合「整数」合(「数组引用类」于「整数」)合(「列」于(「整数」合「整数」合「整数」)))合「整数」)而化「整数」而「有」
文言:内联之 struct.get:非压缩之字段皆八字节之槽,径拷之;空则陷。汉语:struct.get 内联(非压缩字段一律是 8 字节槽,直接拷贝;对象为空则陷阱 129)。对象引用放到局部 2。
预内联取元素
公开化((「引用类」于(「列」于(「列」于「网页指令」)))合(「引用类」于「整数」)合(「引用类」于「整数」)合(「引用类」于(「列」于(「整数」合「整数」合「整数」合「整数」合「整数」合(「列」于(「整数」合「整数」合「整数」)))))合(「引用类」于「整数」)合(「引用类」于「整数」)合「整数」合(「列」于(「字符串」合「整数」))合((「数组引用类」于(「整数」合「整数」合「整数」))合(「数组引用类」于「整数」)合「整数」合「整数」合(「数组引用类」于「整数」)合(「列」于(「整数」合「整数」合「整数」)))合「整数」)而化「整数」而「有」
文言:内联之 array.get:类零、二者四字节,类一者八字节;验空与界。汉语:array.get 内联:元素类别 0(i32、f32)与 2(引用)是 4 字节,类别 1(i64、f64)是 8 字节;检查空引用(129)与下标越界(127,长度在对象 +8)。数组放在局部 2,下标放在局部 3。
预内联取窄元素
公开化((「引用类」于(「列」于(「列」于「网页指令」)))合(「引用类」于「整数」)合(「引用类」于「整数」)合(「引用类」于(「列」于(「整数」合「整数」合「整数」合「整数」合「整数」合(「列」于(「整数」合「整数」合「整数」)))))合(「引用类」于「整数」)合(「引用类」于「整数」)合「整数」合(「列」于(「字符串」合「整数」))合((「数组引用类」于(「整数」合「整数」合「整数」))合(「数组引用类」于「整数」)合「整数」合「整数」合(「数组引用类」于「整数」)合(「列」于(「整数」合「整数」合「整数」)))合「整数」)而化「整数」而化「爻」而「有」
文言:内联之 array.get_s 与 array.get_u(类三为字节、类四为半字):验空与界,径读而扩之。汉语:array.get_s/array.get_u 内联(元素类别 3 为 i8、4 为 i16):检查空引用(129)与下标越界(127,长度在对象 +8),按类别读 1 或 2 字节并作符号或零扩展。字符串与字节串都是 i8 数组,编译器逐字节处理它们,原先每个字节都要绕执行器的 GC 处理。数组放在局部 2,下标放在局部 3。
预内联设元素
公开化((「引用类」于(「列」于(「列」于「网页指令」)))合(「引用类」于「整数」)合(「引用类」于「整数」)合(「引用类」于(「列」于(「整数」合「整数」合「整数」合「整数」合「整数」合(「列」于(「整数」合「整数」合「整数」)))))合(「引用类」于「整数」)合(「引用类」于「整数」)合「整数」合(「列」于(「字符串」合「整数」))合((「数组引用类」于(「整数」合「整数」合「整数」))合(「数组引用类」于「整数」)合「整数」合「整数」合(「数组引用类」于「整数」)合(「列」于(「整数」合「整数」合「整数」)))合「整数」)而化「整数」而「有」
文言:内联之 array.set:诸类皆径写;验空与界。汉语:array.set 内联:检查空引用(129)与下标越界(127),按元素类别写入:类别 0 与 2 写 4 字节,类别 1 写 8 字节(低字、高字),类别 3 写 1 字节,类别 4 写 2 字节。引用不需要写屏障(回收器既不移动对象也不分代)。数组放在局部 2,下标放在局部 3。
预内联数组长
公开化((「引用类」于(「列」于(「列」于「网页指令」)))合(「引用类」于「整数」)合(「引用类」于「整数」)合(「引用类」于(「列」于(「整数」合「整数」合「整数」合「整数」合「整数」合(「列」于(「整数」合「整数」合「整数」)))))合(「引用类」于「整数」)合(「引用类」于「整数」)合「整数」合(「列」于(「字符串」合「整数」))合((「数组引用类」于(「整数」合「整数」合「整数」))合(「数组引用类」于「整数」)合「整数」合「整数」合(「数组引用类」于「整数」)合(「列」于(「整数」合「整数」合「整数」)))合「整数」)而「有」
文言:内联之 array.len:验空,读长。汉语:array.len 内联:检查空引用(129),读对象 +8 处的长度。
预抽象可内联
公开化「整数」而「爻」
文言:抽象类型之属:非空之值在局部二;any 为非函数引用,eq 为 i31 或八字节对齐之对象,i31 为末位一,func 为末三位二,extern 恒是,struct、array 须为对象而头之种合。返写结果之令:属则执「是令」,否则执「否令」。汉语:抽象堆类型的归属判定(值非空,已放在局部 2),与执行器 抽象类型属于 一致:any 为非函数引用,eq 为 i31 或 8 字节对齐的对象,i31 为最低位是 1,func 为低三位是 2,extern 恒为是,struct、array 须是对象且对象头的种类相符(先判对齐再读头)。生成“属于就执行 是令,否则执行 否令”的指令。
预抽象判令
公开化「整数」而化(「列」于「网页指令」)而化(「列」于「网页指令」)而(「列」于「网页指令」)
暂无说明。
预内联测转
公开化((「引用类」于(「列」于(「列」于「网页指令」)))合(「引用类」于「整数」)合(「引用类」于「整数」)合(「引用类」于(「列」于(「整数」合「整数」合「整数」合「整数」合「整数」合(「列」于(「整数」合「整数」合「整数」)))))合(「引用类」于「整数」)合(「引用类」于「整数」)合「整数」合(「列」于(「字符串」合「整数」))合((「数组引用类」于(「整数」合「整数」合「整数」))合(「数组引用类」于「整数」)合「整数」合「整数」合(「数组引用类」于「整数」)合(「列」于(「整数」合「整数」合「整数」)))合「整数」)而化「整数」而化「整数」而化「整数」而「有」
文言:内联之 ref.test 与 ref.cast:具体类型者,先验对象头之类型号(兼实例号为零)恰等;不等或为抽象类型、或非对象,乃呼执行器。汉语:ref.test/ref.cast 内联快路径:目标是具体类型(堆类型号 ≥ 0)且栈顶是堆对象(非空、8 字节对齐)时,对象头低 24 位(类型号加实例号,主实例为 0)恰好等于目标类型号就直接通过;否则(子类型、抽象类型、i31、空)交给执行器的完整判定。
预GC令
公开化((「引用类」于(「列」于(「列」于「网页指令」)))合(「引用类」于「整数」)合(「引用类」于「整数」)合(「引用类」于(「列」于(「整数」合「整数」合「整数」合「整数」合「整数」合(「列」于(「整数」合「整数」合「整数」)))))合(「引用类」于「整数」)合(「引用类」于「整数」)合「整数」合(「列」于(「字符串」合「整数」))合((「数组引用类」于(「整数」合「整数」合「整数」))合(「数组引用类」于「整数」)合「整数」合「整数」合(「数组引用类」于「整数」)合(「列」于(「整数」合「整数」合「整数」)))合「整数」)而化(「字节串」合(「引用类」于「整数」)合「整数」)而「有」
文言:GC 之令:呼执行器之处理,携子码之后之址;栈效依子码与立即数。br_on_cast 系则自行分支。汉语:GC 指令(0xFB 前缀):除 br_on_cast 与 br_on_cast_fail 外,一律调用执行器的 GC 处理(子码、子码之后的立即数地址、栈针);栈效果按子码与立即数(结构字段数、固定数组长度)计算。br_on_cast 系列用 预编_属于 判定后自行分支。
预杂令
公开化((「引用类」于(「列」于(「列」于「网页指令」)))合(「引用类」于「整数」)合(「引用类」于「整数」)合(「引用类」于(「列」于(「整数」合「整数」合「整数」合「整数」合「整数」合(「列」于(「整数」合「整数」合「整数」)))))合(「引用类」于「整数」)合(「引用类」于「整数」)合「整数」合(「列」于(「字符串」合「整数」))合((「数组引用类」于(「整数」合「整数」合「整数」))合(「数组引用类」于「整数」)合「整数」合「整数」合(「数组引用类」于「整数」)合(「列」于(「整数」合「整数」合「整数」)))合「整数」)而化(「字节串」合(「引用类」于「整数」)合「整数」)而「有」
文言:杂项之令(FC):呼执行器。汉语:0xFC 杂项指令(饱和截断、批量内存与表操作):调用执行器的杂项处理。
预一令
公开化((「引用类」于(「列」于(「列」于「网页指令」)))合(「引用类」于「整数」)合(「引用类」于「整数」)合(「引用类」于(「列」于(「整数」合「整数」合「整数」合「整数」合「整数」合(「列」于(「整数」合「整数」合「整数」)))))合(「引用类」于「整数」)合(「引用类」于「整数」)合「整数」合(「列」于(「字符串」合「整数」))合((「数组引用类」于(「整数」合「整数」合「整数」))合(「数组引用类」于「整数」)合「整数」合「整数」合(「数组引用类」于「整数」)合(「列」于(「整数」合「整数」合「整数」)))合「整数」)而化(「字节串」合(「引用类」于「整数」)合「整数」)而「有」
文言:一令之转:结构之令另处;死码唯跳其立即数。汉语:转译一条指令:结构指令另行处理;死码里只读掉立即数。
预逐令
公开化((「引用类」于(「列」于(「列」于「网页指令」)))合(「引用类」于「整数」)合(「引用类」于「整数」)合(「引用类」于(「列」于(「整数」合「整数」合「整数」合「整数」合「整数」合(「列」于(「整数」合「整数」合「整数」)))))合(「引用类」于「整数」)合(「引用类」于「整数」)合「整数」合(「列」于(「字符串」合「整数」))合((「数组引用类」于(「整数」合「整数」合「整数」))合(「数组引用类」于「整数」)合「整数」合「整数」合(「数组引用类」于「整数」)合(「列」于(「整数」合「整数」合「整数」)))合「整数」)而化(「字节串」合(「引用类」于「整数」)合「整数」)而化「整数」而「有」
暂无说明。
预转函数
公开化((「数组引用类」于(「整数」合「整数」合「整数」))合(「数组引用类」于「整数」)合「整数」合「整数」合(「数组引用类」于「整数」)合(「列」于(「整数」合「整数」合「整数」)))而化「字节串」而化(「整数」合「整数」合「整数」)而化「整数」而化(「列」于(「字符串」合「整数」))而化「整数」而化「整数」而(「整数」合「整数」合(「列」于「网页指令」))
文言:转一函数:序言验值栈之余量、清局部、取模块之起;体;终。汉语:转译一个客体函数,得到整数 Wasm 函数(签名号 签号、局部 3 个:模块起址、暂存甲、暂存乙):序言检查值栈余量(帧 + 8×(基+最大深度+4) 不得超过值栈上限,超过则报值栈溢出)、把声明的局部变量清零、读取模块起址;然后是函数体。
预派发树
公开化((「数组引用类」于(「整数」合「整数」合「整数」))合(「数组引用类」于「整数」)合「整数」合「整数」合(「数组引用类」于「整数」)合(「列」于(「整数」合「整数」合「整数」)))而化「整数」而化「整数」而化「整数」而化「整数」而(「列」于「网页指令」)
文言:派发之树:号在局部一,帧在局部零;叶则调用而即返(降级化为尾跳),导入则经调用导入。汉语:预编派发(帧 = 局部 0,号 = 局部 1):二分比较号,叶子上“调用该转译函数后立即返回”(降级成尾跳);号是导入函数时经 预编_调用导入(栈针 = 帧 + 8×参数数)后返回。
预找导出
公开化(「列」于(「字符串」合「整数」))而化「字符串」而「整数」
暂无说明。
预编并入
公开化((((「列」于(「整数」合「整数」))合(「列」于(「字符串」合「字符串」合「整数」))合(「列」于(「整数」合「整数」合(「列」于「网页指令」)))合(「列」于(「字符串」合「整数」)))合(「列」于(「整数」合「整数」))合(「列」于「网页数据声明」))合(「列」于(「爻」合「整数」)))而化「字节串」而((((「列」于(「整数」合「整数」))合(「列」于(「字符串」合「字符串」合「整数」))合(「列」于(「整数」合「整数」合(「列」于「网页指令」)))合(「列」于(「字符串」合「整数」)))合(「列」于(「整数」合「整数」))合(「列」于「网页数据声明」))合(「列」于(「爻」合「整数」)))
文言:并入:客体诸函数转译之,附于执行器之后;派发与可用之体易之;增一签名(一参数无结果)。汉语:把客体模块预编并入执行器状态模块:客体每个定义函数转译后追加到执行器函数之后;执行器导出的 预编派发 换成真正的派发树,预编可用 换成返回 1;签名表追加“1 个参数、0 个结果”。返回新的状态模块。