豫言源码浏览器 / Source Browser

浏览项目文件与源码

yuyan · 741 行 · 39055 字节 · UTF-8
§
寻观「底层库」之书。
寻观「客体二号」之「布局」之书。
寻观「客体二号」之「平台」之书。
寻观「客体二号」之「基础」之书。
寻观「客体二号」之「实例」之书。
寻观「客体二号」之「模块」之书。
寻观「客体二号」之「控制」之书。
寻观「客体二号」之「堆」之书。

「:文言:客体之对象:结构、数组、引用之转,及常量式之求值。汉语:GC 指令(0xFB 前缀):结构体与数组的创建与访问、引用类型测试与转换、i31 引用;以及常量表达式求值。数据槽统一为 8 字节;元素类别:0 四字节数值、1 八字节数值、2 引用、3 字节、4 半字。:」

「:文言:元素之载与存。汉语:数组元素的载入(可按符号扩展)与存入;结构字段统一 8 字节槽,压缩字段只用低字(存入时截断)。:」
「载入元素」乃化「整数」而化「整数」而化「爻」而化「整数」而「有」也。
「载入元素」者会「址」而会「类别」而会「有符」而会「目」而
  鉴「类别」而
    有「零」则
      ((「写四」于「目」于(「读四」于「址」));
        (「写字段」于「目」于「四」于「零」))
    或有「二」则
      ((「写四」于「目」于(「读四」于「址」));
        (「写字段」于「目」于「四」于「零」))
    或有「一」则
      「拷槽」于「目」于「址」
    或有「三」则
      ((「写四」于「目」于(「选择」于「有符」于(「读一有符号」于「址」)于(「读一」于「址」)));
        (「写字段」于「目」于「四」于「零」))
    或有「四」则
      ((「写四」于「目」于(「选择」于「有符」于(「读二有符号」于「址」)于(「读二」于「址」)));
        (「写字段」于「目」于「四」于「零」))
    或有「其他」则「元」
也。

「存入元素」乃化「整数」而化「整数」而化「整数」而「有」也。
「存入元素」者会「址」而会「类别」而会「源」而
  鉴「类别」而
    有「零」则
      「写四」于「址」于(「读四」于「源」)
    或有「二」则
      「写四」于「址」于(「读四」于「源」)
    或有「一」则
      「拷槽」于「址」于「源」
    或有「三」则
      「写一」于「址」于(「读四」于「源」)
    或有「四」则
      「写二」于「址」于(「读四」于「源」)
    或有「其他」则「元」
也。

「存入字段」乃化「整数」而化「整数」而化「整数」而「有」也。
「存入字段」者会「址」而会「类别」而会「源」而
  鉴「类别」而
    有「三」则
      ((「写四」于「址」于(「位与」于(「读四」于「源」)于「二五五」));
        (「写字段」于「址」于「四」于「零」))
    或有「四」则
      ((「写四」于「址」于(「位与」于(「读四」于「源」)于「六五五三五」));
        (「写字段」于「址」于「四」于「零」))
    或有「其他」则
      「拷槽」于「址」于「源」
也。

「:文言:类型之关系。汉语:子类型判定(沿超类链);引用是否属于某堆类型(s33 立即数:非负为类型号,负为抽象类型 any/eq/i31/struct/array/func/extern;可空则 null 通过)。:」
「是子类型」乃化「整数」而化「整数」而「爻」也。
「是子类型」者会「类型号」而
  会「堆类型」而
    递归虑「逐」其化「整数」而「爻」者会「号」而
      若「小于」于「号」于「零」则
        「阴」
      否则
        (若「等」于「号」于「堆类型」则「阳」否则「逐」于(「读字段」于(「类型条」于「号」)于「类型条_超类」))
    而
    「逐」于「类型号」
也。

「是标量引用」乃化「整数」而「爻」也。
「是标量引用」者会「字」而
  「或者」于(「不等于」于(「位与」于「字」于「一」)于「零」)
  于(「不等于」于(「位与」于「字」于「七」)于「零」)
也。

「按种判定」乃化「整数」而化「整数」而「爻」也。
「按种判定」者会「字」而会「种」而
  若「是标量引用」于「字」则
    「阴」
  否则
    「等」于(「对象种」于(「读四」于「字」))于「种」
也。

「抽象类型属于」乃化「整数」而化「整数」而「爻」也。
「抽象类型属于」者会「字」而会「抽象」而
  鉴「抽象」而
    有「一八」则
      「不等于」于(「位与」于「字」于「七」)于「二」
    或有「一九」则
      「或者」
        于(「不等于」于(「位与」于「字」于「一」)于「零」)
        于(「等零」于(「位与」于「字」于「七」))
    或有「二零」则
      「不等于」于(「位与」于「字」于「一」)于「零」
    或有「二一」则
      「按种判定」于「字」于「种类结构」
    或有「二二」则
      「按种判定」于「字」于「种类数组」
    或有「一六」则
      「等」于(「位与」于「字」于「七」)于「二」
    或有「一七」则「阳」
    或有「其他」则「阴」
也。

「具体类型属于」乃化「整数」而化「整数」而「爻」也。
「具体类型属于」者会「字」而会「堆类型」而
  若「等」于(「位与」于「字」于「七」)于「二」
  则
    「函数类型等价」于(「读四」于(「函数条」于(「无符号右移」于「字」于「三」)))于「堆类型」
  否则
    (
      若「不等于」于(「位与」于「字」于「一」)于「零」则
        「阴」
      否则
        (
          若「不等于」
            于(「位与」于(「无符号右移」于(「读四」于「字」)于「一六」)于「二五五」)
            于(「读四」于「状态_当前实例」)则
              「阴」
          否则
            「是子类型」
              于(「位与」于(「读四」于「字」)于「六五五三五」)于「堆类型」
        )
    )
也。

「引用属于」乃化「整数」而化「整数」而化「爻」而「爻」也。
「引用属于」者会「字」而会「堆类型」而会「可空」而
  若「等零」于「字」则
    「可空」
  否则
    (
      若「有符号大等」于「堆类型」于「零」
      则
        「具体类型属于」于「字」于「堆类型」
      否则
        「抽象类型属于」于「字」于(「减」于「零」于「堆类型」)
    )
也。

「空引用检」乃化「整数」而「有」也。
「空引用检」者会「址」而
  「若则致命」于(「等零」于「址」)于「一二九」于(「静态串」于『空引用』)
也。

「转换失败」乃化「整数」而化「整数」而「有」也。
「转换失败」者会「字」而会「堆类型」而
  「致命退出」于「一三五」于(「静态串」于『类型转换失败』)
也。

「:文言:GC 指令之行:诸例各取立即数、记新指令针、返新栈针。汉语:GC 指令执行:每个函数读取自己的立即数,把新指令针写入 状态_新指令针,返回新栈针。每次分配前先把栈针存入 状态_栈针,使保守回收能看到当前值栈。:」
「读双立即数」乃化「整数」而「整数」也。
「读双立即数」者会「址」而
  虑「甲」者「读无符号变长」于「址」而
  虑「乙址」者「读四」于「状态_读址」而
  虑「乙」者「读无符号变长」于「乙址」而
  虑「无」者(「写四」于「状态_读高」于「乙」)而
  「甲」
也。

「新建结构」乃化「整数」而化「整数」而「整数」也。
「新建结构」者会「址」而会「栈针」而
  虑「无」者(「写四」于「状态_栈针」于「栈针」)而
  虑「类型号」者「读无符号变长」于「址」而
  虑「无」者(「写四」于「状态_新指令针」于(「读四」于「状态_读址」))而
  虑「字段数」者「读字段」于(「类型条」于「类型号」)于「类型条_甲」而
  虑「对象」者
    「分配对象」于(「结构字节」于「类型号」)于「种类结构」于「类型号」而
    虑「基」者「减」于「栈针」于(「乘」于「字段数」于「八」)而
    虑「描述」者
      「读字段」于(「类型条」于「类型号」)于「类型条_编码起」而
      虑「无」者
        (
          递归虑「逐」其化「整数」而「有」者会「位」而
            若「小于」于「位」于「字段数」
            则
              ((「存入字段」
                于(「加」于(「加」于「对象」于「八」)于(「乘」于「位」于「八」))
                于(「读一」于(「加」于「描述」于「位」))
                于(「加」于「基」于(「乘」于「位」于「八」)));
                「逐」于(「加」于「位」于「一」))
            否则
              「元」
          而
          「逐」于「零」
        )
      而
      虑「无」者(「写四」于「基」于「对象」)
      而
      虑「无」者(「写字段」于「基」于「四」于「零」)而
      「加」于「基」于「八」
也。

「新建默认结构」乃化「整数」而化「整数」而「整数」也。
「新建默认结构」者会「址」而会「栈针」而
  虑「无」者(「写四」于「状态_栈针」于「栈针」)而
  虑「类型号」者「读无符号变长」于「址」而
  虑「无」者(「写四」于「状态_新指令针」于(「读四」于「状态_读址」))而
  虑「对象」者
    「分配对象」于(「结构字节」于「类型号」)于「种类结构」于「类型号」而
    虑「无」者(「写四」于「栈针」于「对象」)而
    虑「无」者(「写字段」于「栈针」于「四」于「零」)而
    「加」于「栈针」于「八」
也。

「取结构字段」乃化「整数」而化「整数」而化「整数」而「整数」也。
「取结构字段」者会「子」而会「址」而会「栈针」而
  虑「类型号」者「读双立即数」于「址」而
  虑「字段号」者「读四」于「状态_读高」而
  虑「无」者(「写四」于「状态_新指令针」于(「读四」于「状态_读址」))而
  虑「对象」者「栈槽字」于「栈针」于「一」而
  虑「无」者(「空引用检」于「对象」)而
  虑「类别」者
    「读一」于(「加」于(「读字段」于(「类型条」于「类型号」)于「类型条_编码起」)于「字段号」)而
    虑「槽」者
      「加」于(「加」于「对象」于「八」)于(「乘」于「字段号」于「八」)而
      虑「无」者
        (
          若「有符号大等」于「类别」于「三」
          则
            虑「字」者「读四」于「槽」而
            虑「有符」者「等」于「子」于「三」而
            虑「窄」者「等」于「类别」于「三」而
            虑「值」者
              「选择」
                于「有符」
                于(「选择」
                  于「窄」
                  于(「有符号右移」于(「左移」于「字」于「二四」)于「二四」)
                  于(「有符号右移」于(「左移」于「字」于「一六」)于「一六」))
                  于(「选择」于「窄」于(「位与」于「字」于「二五五」)于(「位与」于「字」于「六五五三五」))
            而
            「置栈槽」于「栈针」于「一」于「值」于「零」
          否则
            「拷槽」于(「栈槽址」于「栈针」于「一」)于「槽」
        )
      而
      「栈针」
也。

「设结构字段」乃化「整数」而化「整数」而「整数」也。
「设结构字段」者会「址」而会「栈针」而
  虑「类型号」者「读双立即数」于「址」而
  虑「字段号」者「读四」于「状态_读高」而
  虑「无」者(「写四」于「状态_新指令针」于(「读四」于「状态_读址」))而
  虑「对象」者「栈槽字」于「栈针」于「二」而
  虑「无」者(「空引用检」于「对象」)而
  虑「类别」者
    「读一」于(「加」于(「读字段」于(「类型条」于「类型号」)于「类型条_编码起」)于「字段号」)而
    虑「无」者
      (「存入字段」
        于(「加」于(「加」于「对象」于「八」)于(「乘」于「字段号」于「八」))
        于「类别」
        于(「栈槽址」于「栈针」于「一」))
    而
    「栈槽址」于「栈针」于「二」
也。

「填元素们」乃
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  「有」
也。
「填元素们」者会「数据址」而
  会「类别」而
    会「宽」而
      会「源」而
        会「长」而
          递归虑「逐」其化「整数」而「有」者会「位」而
            若「小于」于「位」于「长」
            则
              ((「存入元素」于(「加」于「数据址」于(「乘」于「位」于「宽」))于「类别」于「源」);
                「逐」于(「加」于「位」于「一」))
            否则
              「元」
          而
          「逐」于「零」
也。

「数组元素址」乃化「整数」而化「整数」而化「整数」而「整数」也。
「数组元素址」者会「对象」而会「序」而会「宽」而
  「加」于(「加」于「对象」于「一六」)于(「乘」于「序」于「宽」)
也。

「区间越界」乃化「整数」而化「整数」而化「整数」而「爻」也。
「区间越界」者会「起」而会「长」而会「上限」而
  「或者」
    于(「无符号大于」于(「加」于「起」于「长」)于「上限」)
    于(「无符号小于」于(「加」于「起」于「长」)于「起」)
也。

「校验数组索引」乃化「整数」而化「整数」而「有」也。
「校验数组索引」者会「对象」而会「序」而
  「若则致命」
    于(「无符号大等」于「序」于(「读字段」于「对象」于「八」))于「一二七」
      于(「静态串」于『数组索引越界』)
也。

「新建数组」乃化「整数」而化「爻」而化「整数」而「整数」也。
「新建数组」者会「址」而会「有初值」而会「栈针」而
  虑「无」者(「写四」于「状态_栈针」于「栈针」)而
  虑「类型号」者「读无符号变长」于「址」而
  虑「无」者(「写四」于「状态_新指令针」于(「读四」于「状态_读址」))而
  虑「长」者「栈槽字」于「栈针」于「一」而
  虑「条」者「类型条」于「类型号」而
  虑「类别」者「读字段」于「条」于「类型条_甲」而
  虑「宽」者「读字段」于「条」于「类型条_乙」而
  虑「对象」者
    「分配对象」于(「数组字节」于「类型号」于「长」)于「种类数组」于「类型号」而
    虑「无」者(「写字段」于「对象」于「八」于「长」)而
    若「有初值」
    则
      虑「值槽」者「栈槽址」于「栈针」于「二」而
      虑「无」者
        (
          若「且」于(「等」于「类别」于「三」)于(「大于」于「长」于「零」)
          则
            「内存填充」
              于(「加」于「对象」于「一六」)
              于(「读四」于「值槽」)于「长」
          否则
            「填元素们」
              于(「加」于「对象」于「一六」)
              于「类别」于「宽」于「值槽」于「长」
        )
      而
      虑「无」者(「置栈槽」于「栈针」于「二」于「对象」于「零」)而
      「栈槽址」于「栈针」于「一」
    否则
      虑「无」者(「置栈槽」于「栈针」于「一」于「对象」于「零」)而
      「栈针」
也。

「新建固定数组」乃化「整数」而化「整数」而「整数」也。
「新建固定数组」者会「址」而会「栈针」而
  虑「无」者(「写四」于「状态_栈针」于「栈针」)而
  虑「类型号」者「读双立即数」于「址」而
  虑「个数」者「读四」于「状态_读高」而
  虑「无」者(「写四」于「状态_新指令针」于(「读四」于「状态_读址」))而
  虑「条」者「类型条」于「类型号」而
  虑「类别」者「读字段」于「条」于「类型条_甲」而
  虑「宽」者「读字段」于「条」于「类型条_乙」而
  虑「对象」者
    「分配对象」于(「数组字节」于「类型号」于「个数」)于「种类数组」于「类型号」而
    虑「无」者(「写字段」于「对象」于「八」于「个数」)而
    虑「基」者「减」于「栈针」于(「乘」于「个数」于「八」)而
    虑「无」者
      (
        递归虑「逐」其化「整数」而「有」者会「位」而
          若「小于」于「位」于「个数」
          则
            ((「存入元素」
              于(「数组元素址」于「对象」于「位」于「宽」)
              于「类别」
              于(「加」于「基」于(「乘」于「位」于「八」)));
              「逐」于(「加」于「位」于「一」))
          否则
            「元」
        而
        「逐」于「零」
      )
    而
    虑「无」者(「写四」于「基」于「对象」)而
    虑「无」者(「写字段」于「基」于「四」于「零」)而
    「加」于「基」于「八」
也。

「新建数据数组」乃化「整数」而化「整数」而「整数」也。
「新建数据数组」者会「址」而会「栈针」而
  虑「无」者(「写四」于「状态_栈针」于「栈针」)而
  虑「类型号」者「读双立即数」于「址」而
  虑「段」者「读四」于「状态_读高」而
  虑「无」者(「写四」于「状态_新指令针」于(「读四」于「状态_读址」))而
  虑「起」者「栈槽字」于「栈针」于「二」而
  虑「长」者「栈槽字」于「栈针」于「一」而
  虑「宽」者「读字段」于(「类型条」于「类型号」)于「类型条_乙」而
  虑「条」者
    「加」于(「读四」于「状态_数据段表」)于(「乘」于「段」于「数据段条长」)而
    虑「字节」者「乘」于「长」于「宽」而
    虑「可用长」者
      「选择」
        于(「不等于」于(「读字段」于「条」于「数据段_已弃」)于「零」)
        于「零」
        于(「读字段」于「条」于「数据段_长度」)而
        虑「无」者
          (「若则致命」
            于(「或者」
              于(「区间越界」于「起」于「字节」于「可用长」)
              于(「无符号大于」
                于「长」
                于(「无符号除」于「二六八四三五四五六」于(「选择」于(「大于」于「宽」于「零」)于「宽」于「一」))))
                于「一二七」
                于(「静态串」于『array.new_data 越界』))而
                虑「对象」者
                  「分配对象」
                    于(「数组字节」于「类型号」于「长」)
                    于「种类数组」于「类型号」而
                    虑「无」者(「写字段」于「对象」于「八」于「长」)而
                    虑「无」者
                      (「拷贝」于(「加」于「对象」于「一六」)于(「加」于(「读四」于「条」)于「起」)于「字节」)而
                      虑「无」者
                        (「置栈槽」于「栈针」于「二」于「对象」于「零」)
                      而
                      「栈槽址」于「栈针」于「一」
也。

「取数组元素」乃化「整数」而化「整数」而化「整数」而「整数」也。
「取数组元素」者会「子」而会「址」而会「栈针」而
  虑「类型号」者「读无符号变长」于「址」而
  虑「无」者(「写四」于「状态_新指令针」于(「读四」于「状态_读址」))而
  虑「对象」者「栈槽字」于「栈针」于「二」而
  虑「序」者「栈槽字」于「栈针」于「一」而
  虑「无」者(「空引用检」于「对象」)而
  虑「无」者(「校验数组索引」于「对象」于「序」)而
  虑「条」者「类型条」于「类型号」而
  虑「宽」者「读字段」于「条」于「类型条_乙」而
  虑「无」者
    (「载入元素」
      于(「数组元素址」于「对象」于「序」于「宽」)
      于(「读字段」于「条」于「类型条_甲」)
      于(「等」于「子」于「一二」)
      于(「栈槽址」于「栈针」于「二」))
  而
  「栈槽址」于「栈针」于「一」
也。

「设数组元素」乃化「整数」而化「整数」而「整数」也。
「设数组元素」者会「址」而会「栈针」而
  虑「类型号」者「读无符号变长」于「址」而
  虑「无」者(「写四」于「状态_新指令针」于(「读四」于「状态_读址」))而
  虑「对象」者「栈槽字」于「栈针」于「三」而
  虑「序」者「栈槽字」于「栈针」于「二」而
  虑「无」者(「空引用检」于「对象」)而
  虑「无」者(「校验数组索引」于「对象」于「序」)而
  虑「条」者「类型条」于「类型号」而
  虑「无」者
    (「存入元素」
      于(「数组元素址」于「对象」于「序」于(「读字段」于「条」于「类型条_乙」))
      于(「读字段」于「条」于「类型条_甲」)
      于(「栈槽址」于「栈针」于「一」))
  而
  「栈槽址」于「栈针」于「三」
也。

「数组长度」乃化「整数」而化「整数」而「整数」也。
「数组长度」者会「址」而会「栈针」而
  虑「无」者(「写四」于「状态_新指令针」于「址」)而
  虑「对象」者「栈槽字」于「栈针」于「一」而
  虑「无」者(「空引用检」于「对象」)而
  虑「无」者
    (「置栈槽字」于「栈针」于「一」于(「读字段」于「对象」于「八」))
  而
  「栈针」
也。

「填充数组」乃化「整数」而化「整数」而「整数」也。
「填充数组」者会「址」而会「栈针」而
  虑「类型号」者「读无符号变长」于「址」而
  虑「无」者(「写四」于「状态_新指令针」于(「读四」于「状态_读址」))而
  虑「对象」者「栈槽字」于「栈针」于「四」而
  虑「起」者「栈槽字」于「栈针」于「三」而
  虑「长」者「栈槽字」于「栈针」于「一」而
  虑「无」者(「空引用检」于「对象」)而
  虑「无」者
    (「若则致命」
      于(「区间越界」于「起」于「长」于(「读字段」于「对象」于「八」))
      于「一二七」
      于(「静态串」于『array.fill 越界』))而
      虑「条」者「类型条」于「类型号」而
      虑「宽」者「读字段」于「条」于「类型条_乙」而
      虑「无」者
        (「填元素们」
          于(「数组元素址」于「对象」于「起」于「宽」)
          于(「读字段」于「条」于「类型条_甲」)
          于「宽」
          于(「栈槽址」于「栈针」于「二」)于「长」)
      而
      「栈槽址」于「栈针」于「四」
也。

「复制数组」乃化「整数」而化「整数」而「整数」也。
「复制数组」者会「址」而会「栈针」而
  虑「类型号」者「读双立即数」于「址」而
  虑「无」者(「写四」于「状态_新指令针」于(「读四」于「状态_读址」))而
  虑「目对象」者「栈槽字」于「栈针」于「五」而
  虑「目起」者「栈槽字」于「栈针」于「四」而
  虑「源对象」者「栈槽字」于「栈针」于「三」而
  虑「源起」者「栈槽字」于「栈针」于「二」而
  虑「长」者「栈槽字」于「栈针」于「一」而
  虑「无」者(「空引用检」于「目对象」)而
  虑「无」者(「空引用检」于「源对象」)而
  虑「无」者
    (「若则致命」
      于(「或者」
        于(「区间越界」于「目起」于「长」于(「读字段」于「目对象」于「八」))
        于(「区间越界」于「源起」于「长」于(「读字段」于「源对象」于「八」)))
        于「一二七」
        于(「静态串」于『array.copy 越界』))而
        虑「宽」者「读字段」于(「类型条」于「类型号」)于「类型条_乙」而
        虑「无」者
          (「拷贝」
            于(「数组元素址」于「目对象」于「目起」于「宽」)
            于(「数组元素址」于「源对象」于「源起」于「宽」)
            于(「乘」于「长」于「宽」))
        而
        「栈槽址」于「栈针」于「五」
也。

「引用测试或转换」乃化「整数」而化「整数」而化「整数」而「整数」也。
「引用测试或转换」者会「子」而会「址」而会「栈针」而
  虑「堆类型」者「读有符号变长」于「址」而
  虑「无」者(「写四」于「状态_新指令针」于(「读四」于「状态_读址」))而
  虑「字」者「栈槽字」于「栈针」于「一」而
  虑「通过」者
    「引用属于」于「字」于「堆类型」于(「不等于」于(「位与」于「子」于「一」)于「零」)而
    虑「无」者
      (
        若「小于」于「子」于「二二」
        则
          「置栈槽」于「栈针」于「一」于(「爻整」于「通过」)于「零」
        否则
          (若「通过」则「元」否则「转换失败」于「字」于「堆类型」)
      )
    而
    「栈针」
也。

「按转型分支」乃化「整数」而化「整数」而化「整数」而「整数」也。
「按转型分支」者会「子」而会「址」而会「栈针」而
  虑「标志」者「读一」于「址」而
  虑「层」者「读无符号变长」于(「加」于「址」于「一」)而
  虑「址二」者「读四」于「状态_读址」而
  虑「无」者「读有符号变长」于「址二」而
  虑「址三」者「读四」于「状态_读址」而
  虑「目标类型」者「读有符号变长」于「址三」而
  虑「址四」者「读四」于「状态_读址」而
  虑「无」者(「写四」于「状态_新指令针」于「址四」)而
  虑「字」者「栈槽字」于「栈针」于「一」而
  虑「通过」者
    「引用属于」
      于「字」于「目标类型」
      于(「不等于」于(「位与」于(「无符号右移」于「标志」于「一」)于「一」)于「零」)而
  若「等」于(「爻整」于「通过」)于(「爻整」于(「等」于「子」于「二四」))
  则
    「分支」于「层」于「栈针」
  否则
    「栈针」
也。

「整三一操作」乃化「整数」而化「整数」而化「整数」而「整数」也。
「整三一操作」者会「子」而会「址」而会「栈针」而
  虑「无」者(「写四」于「状态_新指令针」于「址」)而
  虑「字」者「栈槽字」于「栈针」于「一」而
  鉴「子」而
    有「二八」则
      ((「置栈槽字」于「栈针」于「一」于(「位或」于(「左移」于「字」于「一」)于「一」));
        「栈针」)
    或有「二九」则
      ((「空引用检」于「字」);
        (「置栈槽字」于「栈针」于「一」于(「有符号右移」于「字」于「一」));
        「栈针」)
    或有「三零」则
      ((「空引用检」于「字」);
        (「置栈槽字」于「栈针」于「一」于(「无符号右移」于「字」于「一」));
        「栈针」)
    或有「其他」则「栈针」
也。

「执行GC」乃化「整数」而化「整数」而化「整数」而「整数」也。
「执行GC」者会「子」而会「址」而会「栈针」而
  鉴「子」而
    有「零」则
      「新建结构」于「址」于「栈针」
    或有「一」则
      「新建默认结构」于「址」于「栈针」
    或有「二」则
      「取结构字段」于「子」于「址」于「栈针」
    或有「三」则
      「取结构字段」于「子」于「址」于「栈针」
    或有「四」则
      「取结构字段」于「子」于「址」于「栈针」
    或有「五」则
      「设结构字段」于「址」于「栈针」
    或有「六」则
      「新建数组」于「址」于「阳」于「栈针」
    或有「七」则
      「新建数组」于「址」于「阴」于「栈针」
    或有「八」则
      「新建固定数组」于「址」于「栈针」
    或有「九」则
      「新建数据数组」于「址」于「栈针」
    或有「一一」则
      「取数组元素」于「子」于「址」于「栈针」
    或有「一二」则
      「取数组元素」于「子」于「址」于「栈针」
    或有「一三」则
      「取数组元素」于「子」于「址」于「栈针」
    或有「一四」则
      「设数组元素」于「址」于「栈针」
    或有「一五」则
      「数组长度」于「址」于「栈针」
    或有「一六」则
      「填充数组」于「址」于「栈针」
    或有「一七」则
      「复制数组」于「址」于「栈针」
    或有「二零」则
      「引用测试或转换」于「子」于「址」于「栈针」
    或有「二一」则
      「引用测试或转换」于「子」于「址」于「栈针」
    或有「二二」则
      「引用测试或转换」于「子」于「址」于「栈针」
    或有「二三」则
      「引用测试或转换」于「子」于「址」于「栈针」
    或有「二四」则
      「按转型分支」于「子」于「址」于「栈针」
    或有「二五」则
      「按转型分支」于「子」于「址」于「栈针」
    或有「二六」则
      ((「写四」于「状态_新指令针」于「址」);
        「栈针」)
    或有「二七」则
      ((「写四」于「状态_新指令针」于「址」);
        「栈针」)
    或有「二八」则
      「整三一操作」于「子」于「址」于「栈针」
    或有「二九」则
      「整三一操作」于「子」于「址」于「栈针」
    或有「三零」则
      「整三一操作」于「子」于「址」于「栈针」
    或有「其他」则
      ((「致命退出」于「一三一」于(「静态串」于『不支持的 GC 指令』));
        「栈针」)
也。

「:文言:常量式之求:以值栈为工作栈,结果置于目标槽,返 end 之后位。汉语:常量表达式求值:用值栈基址起的工作栈解释常量指令(i32/i64/f 常量、ref.null/ref.func、global.get、i32/i64 加减乘、GC 前缀指令),结果写入目标槽,返回 end 之后的位置。:」
「求值常量式于」乃化「整数」而化「整数」而化「整数」而「整数」也。
「求值常量式于」者会「起」而
  会「目标」而
    会「基」而
      递归虑「逐」其化「整数」而化「整数」而「整数」者会「址」而会「栈针」而
      虑「操作码」者「读一」于「址」而
      虑「后」者「加」于「址」于「一」而
      鉴「操作码」而
        有「一一」则
          ((「拷槽」于「目标」于(「栈槽址」于「栈针」于「一」));
            「后」)
        或有「六五」则(
          虑「值」者「读有符号变长」于「后」而
          虑「新址」者「读四」于「状态_读址」而
          ((「宽存」于「栈针」于「值」于「零」);
            「逐」于「新址」于(「加」于「栈针」于「八」))
        )
        或有「六六」则(
          虑「值」者「读有符号宽变长」于「后」而
          虑「新址」者「读四」于「状态_读址」而
          ((「宽存」于「栈针」于「值」于(「读四」于「状态_读高」));
            「逐」于「新址」于(「加」于「栈针」于「八」))
        )
        或有「六七」则
          ((「宽存」于「栈针」于(「读四」于「后」)于「零」);
            「逐」于(「加」于「后」于「四」)于(「加」于「栈针」于「八」))
        或有「六八」则
          ((「宽存」于「栈针」于(「读四」于「后」)于(「读四」于(「加」于「后」于「四」)));
            「逐」于(「加」于「后」于「八」)于(「加」于「栈针」于「八」))
        或有「二零八」则
          ((「宽存」于「栈针」于「零」于「零」);
            「逐」于(「变长后」于「后」)于(「加」于「栈针」于「八」))
        或有「二一零」则(
          虑「值」者「读无符号变长」于「后」而
          虑「新址」者「读四」于「状态_读址」而
          ((「宽存」于「栈针」于(「位或」于(「左移」于「值」于「三」)于「二」)于「零」);
            「逐」于「新址」于(「加」于「栈针」于「八」))
        )
        或有「三五」则(
          虑「值」者「读无符号变长」于「后」而
          虑「新址」者「读四」于「状态_读址」而
          ((「拷槽」于「栈针」于(「加」于(「读四」于「状态_全局表」)于(「乘」于「值」于「八」)));
            「逐」于「新址」于(「加」于「栈针」于「八」))
        )
        或有「一零六」则
          ((「置栈槽字」
            于「栈针」
            于「二」
            于(「加」于(「栈槽字」于「栈针」于「二」)于(「栈槽字」于「栈针」于「一」)));
            「逐」于「后」于(「减」于「栈针」于「八」))
        或有「一零七」则
          ((「置栈槽字」
            于「栈针」
            于「二」
            于(「减」于(「栈槽字」于「栈针」于「二」)于(「栈槽字」于「栈针」于「一」)));
            「逐」于「后」于(「减」于「栈针」于「八」))
        或有「一零八」则
          ((「置栈槽字」
            于「栈针」
            于「二」
            于(「乘」于(「栈槽字」于「栈针」于「二」)于(「栈槽字」于「栈针」于「一」)));
            「逐」于「后」于(「减」于「栈针」于「八」))
        或有「一二四」则
          ((「宽加」
            于(「栈槽址」于「栈针」于「二」)
            于(「栈槽址」于「栈针」于「二」)
            于(「栈槽址」于「栈针」于「一」));
            「逐」于「后」于(「减」于「栈针」于「八」))
        或有「一二五」则
          ((「宽减」
            于(「栈槽址」于「栈针」于「二」)
            于(「栈槽址」于「栈针」于「二」)
            于(「栈槽址」于「栈针」于「一」));
            「逐」于「后」于(「减」于「栈针」于「八」))
        或有「一二六」则
          ((「宽乘」
            于(「栈槽址」于「栈针」于「二」)
            于(「栈槽址」于「栈针」于「二」)
            于(「栈槽址」于「栈针」于「一」));
            「逐」于「后」于(「减」于「栈针」于「八」))
        或有「二五一」则(
          虑「子」者「读无符号变长」于「后」而
          虑「新址」者「读四」于「状态_读址」而
          虑「新栈针」者「执行GC」于「子」于「新址」于「栈针」而
          「逐」于(「读四」于「状态_新指令针」)于「新栈针」
        )
        或有「其他」则
          ((「致命退出」于「一三三」于(「静态串」于『不支持的常量表达式指令』));
            「后」)
      而
      「逐」于「起」于「基」
也。

「:文言:常量式之求,工作栈自值栈之基起(实例化时栈空,可用)。汉语:常量表达式求值(工作栈从值栈基址起,只在实例化时栈为空的时候用;运行期的 table.init 用 求值常量式于 指定安全的基址)。:」
「求值常量式」乃化「整数」而化「整数」而「整数」也。
「求值常量式」者会「起」而会「目标」而
  「求值常量式于」于「起」于「目标」于(「读四」于「状态_值栈基」)
也。