豫言源码浏览器 / Source Browser

浏览项目文件与源码

yuyan · 608 行 · 36620 字节 · UTF-8
§
寻观「底层库」之书。

「:文言:执行器之内存布局与状态格,诸址皆字节址,与验证之器相约,不可妄改。汉语:客体执行器二号的内存布局、规模参数与状态格常量。地址和大小与 `普通豫言验证。豫`、Node 夹具及原低阶执行器完全一致(0x408 模块长、0x10000 模块窗、0x884 自动格式化标志等);状态格是线性内存低处的固定地址字,供各模块共享全局状态。:」

「:文言:内存之布,诸址皆字节址。汉语:内存布局(字节地址)。:」
「状基」者「一零二四」也。 「:文言:状态格之区。汉语:状态格区 0x400–0xFFF。:」
「暂存基」者「四零九六」也。 「:文言:暂存四千零九十六字节。汉语:4 KiB 暂存。:」
「模块基」者「六五五三六」也。 「:文言:客体模块所置之窗。汉语:客体模块窗口。:」
「模块窗」者「四五八七五二」也。 「:文言:窗之大小,四百四十八千字节。汉语:窗口大小 448 KiB。:」
「区域起」者「五二四二八八」也。 「:文言:动态区之起。汉语:动态区域起点。:」
「页字节」者「六五五三六」也。

「字面串基」者「一二二八八」也。 「:文言:静态串所置之区,至 0xFFFF 止。汉语:静态字符串放在此处起的区域(至 0xFFFF)。:」

「:文言:诸栈与池之规模。汉语:规模参数。:」
「原生值栈槽数」者「八三八八六零八」也。 「:文言:原生之值栈六十四兆:预编之函数每层皆占值栈,编译器之递归深。汉语:原生系统上的值栈:8388608 槽共 64 MiB。预编后客体的每层调用都占值栈,编译器的递归很深;裸机仍用下面的 4 MiB。:」
「值栈槽数」者「五二四二八八」也。 「:文言:每槽八字节,共四兆;栈过浅则深递归易溢,过深则每任务多占内存块,此为折中。汉语:每槽 8 字节,共 4 MiB(原 1 MiB 在几千层深的递归就会溢出,编译器产出的函数帧常有几十个局部)。:」
「栈余量槽」者「四零九六」也。 「:文言:调用时须留之操作数余量。汉语:调用时要求的操作数栈余量(槽数)。:」
「标签栈项数」者「六五五三六」也。 「:文言:每项十六字节,共一兆。汉语:每项 16 字节,共 1 MiB。:」
「帧栈项数」者「三二七六八」也。 「:文言:每项三十二字节,共一兆。汉语:每项 32 字节,共 1 MiB。:」
「处理栈项数」者「二零四八」也。 「:文言:每项三十二字节,共六十四千字节。汉语:每项 32 字节,共 64 KiB。:」
「标记栈项数」者「一三一零七二」也。 「:文言:每项四字节,共五百一十二千字节。汉语:每项 4 字节,共 512 KiB。:」
「例外载荷槽」者「六四」也。

「:文言:状态格,全局状态之固定字。汉语:状态格:线性内存低处的固定地址字。:」
「状态_读址」者「一零二四」也。 「:文言:变长整数读毕之新位。汉语:LEB 读取后的新位置。:」
「状态_读高」者「一零二八」也。 「:文言:宽变长整数之高字。汉语:宽 LEB 读取的高字。:」
「状态_模块长」者「一零三二」也。

「状态_错误」者「一零三六」也。

「状态_区域顶」者「一零四零」也。 「:文言:动态区分配之针。汉语:动态区域分配指针。:」
「状态_页数」者「一零四四」也。 「:文言:内存今有之页数。汉语:当前内存页数。:」
「状态_页上限」者「一零四八」也。

「状态_类型数」者「一零五六」也。

「状态_类型表」者「一零六零」也。

「状态_函数数」者「一零六四」也。

「状态_导入数」者「一零六八」也。

「状态_函数表」者「一零七二」也。

「状态_全局数」者「一零七六」也。

「状态_全局表」者「一零八零」也。

「状态_表数」者「一零八四」也。

「状态_表描述」者「一零八八」也。 「:文言:每表十六字节:数据针、今大小、上限、元素类。汉语:每表 16 字节:数据指针、当前大小、上限、元素类别。:」
「状态_元素段数」者「一零九二」也。

「状态_元素段表」者「一零九六」也。

「状态_数据段数」者「一一零零」也。

「状态_数据段表」者「一一零四」也。

「状态_标签数」者「一一零八」也。

「状态_标签表」者「一一一二」也。

「状态_起始函数」者「一一一六」也。 「:文言:启动函数之号,无则负一。汉语:启动函数号,-1 表示没有。:」
「状态_元数据池」者「一一二零」也。 「:文言:类型字段描述等碎片池之针。汉语:类型字段描述等的碎片池指针。:」
「状态_元数据顶」者「一一二四」也。

「状态_元数据尾」者「一一二八」也。

「状态_边表池」者「一一三二」也。 「:文言:函数边表分配之针。汉语:函数边表分配指针。:」
「状态_边表尾」者「一一三六」也。

「状态_客内存」者「一一四零」也。 「:文言:客体线性内存之基址。汉语:客体线性内存基址。:」
「状态_客页数」者「一一四四」也。

「状态_客页上限」者「一一四八」也。

「状态_有瓦」者「三六八零」也。 「:文言:今装之模块含 WASI 导入则一,余则零。汉语:当前装载模块导入 WASI preview1 函数时置 1,供内存上限与调用分派使用。:」

「状态_发送失联」者「三六九六」也。 「:文言:曾于重试后仍送不出之目标,加一而记之(零为无);再送此目标者径败。汉语:发送消息 重试仍失败的目标句柄加 1(0 表示没有);此后发往同一目标的消息立刻失败,不再空转重试(目标已退出时)。:」
「:文言:标准输入之重定向、进程之环境:诸址皆在程序名区之内。汉语:标准输入重定向与进程环境:状态_输入缓冲 非零时是堆里的字节数组(整个输入文件的内容,回收时作根),读字节 从它取(取尽返回 -2 表示文件结束),零表示标准输入是控制台;状态_输入位 是已读位置。送程序名区/程序名区里,偏 输入路径偏(2560)处放子任务标准输入重定向的文件路径(长度 4 字节 + 路径字节,长度 0 为没有),偏 环境偏(3072)处放环境变量块(总长 4 字节 + 若干以零结尾的 “名=值” 字符串,总长至多 环境上限);父任务在 复制任务 前由 设置子进程输入 与 设置子进程环境 写入送区、复制之后清零;子任务改装 把它们拷进自己的程序名区,重启后 加载输入文件 读入输入文件、环境原语读环境块。:」
「状态_输入缓冲」者「三七零零」也。

「状态_输入位」者「三七零四」也。

「:文言:中断之格:计者,每四千次入函数与回跳查一次内核之标;挂起者,首任务见标则记于此,待读行者取之。汉语:控制台中断的状态格:状态_中断计 是距离下一次向内核询问 Ctrl-C 标志的剩余次数(每次进入 Wasm 函数体和每次跳回循环头减 1,减到 0 询问并重置为 4096;初值 0 所以第一次立刻询问);状态_中断挂起 非零表示首任务(壳)在运行中见到了 Ctrl-C,读行核 开始读一行时清零、读行途中见到则放弃这一行。:」
「状态_中断计」者「三七一六」也。

「状态_中断挂起」者「三七二零」也。

「:文言:回车之格:一行以 CR 终则置一,其后行首若为 LF 即弃之,CRLF 不成二行。汉语:控制台读行的回车标志:一行由 CR(真实终端按 Enter 发出的字节)结束时置 1;紧随其后的下一次读行,行首若是 LF 就丢弃,这样 CRLF 不会变成两行;读到任何其他字节都清零。:」
「状态_回车后」者「三七二四」也。

「:文言:Linux 平台之格:单字节读写之暂存,时刻之暂存(十六字节)。汉语:Linux 平台用的状态格:单字节读写的暂存(3728)、clock_gettime 的 timespec 暂存(3736 起 16 字节)。:」
「:文言:暂根:宿主原语连分数对象时,先成者存于此,回收时以为根。十六格。汉语:临时根(3760 起 16 格,每格 4 字节):宿主原语连续分配几个对象时,先分配的对象暂存在这里,回收时作为根,用完清零;输出捕获缓冲(状态_捕获出引 至 状态_捕获误容)同样作为根。:」
「状态_临时根」者「三七六零」也。

「状态_林字节」者「三七二八」也。

「状态_林时」者「三七三六」也。

「中断计初值」者「四零九六」也。

「输入路径偏」者「二五六零」也。

「环境偏」者「三零七二」也。

「环境上限」者「一零二零」也。

「状态_节表」者「一一五二」也。 「:文言:十三节各八字节(起、长),居 0x480 至 0x4E7。汉语:13 个节 × 8 字节(起点、长度):0x480–0x4E7。:」
「状态_名表」者「一二六四」也。 「:文言:导出名查找之果等。汉语:导出名查找结果等。:」
「状态_值栈基」者「一二八零」也。

「状态_值栈限」者「一二八四」也。

「状态_标签栈基」者「一二八八」也。

「状态_标签栈限」者「一二九二」也。

「状态_帧栈基」者「一二九六」也。

「状态_帧栈限」者「一三零零」也。

「状态_处理栈基」者「一三零四」也。

「状态_处理栈限」者「一三零八」也。

「状态_标记栈基」者「一三一二」也。

「状态_标记栈限」者「一三一六」也。

「状态_标记栈顶」者「一三二零」也。

「状态_标记溢出」者「一三二四」也。

「状态_堆基」者「一三二八」也。

「状态_堆顶」者「一三三二」也。 「:文言:堆已划出之末端,顶以上未用。汉语:已划出的堆末端(顶之上尚未使用)。:」
「状态_堆限」者「一三三六」也。 「:文言:内存今许之堆末。汉语:当前内存允许的堆末端。:」
「状态_位图基」者「一三四零」也。

「状态_位图字节」者「一三四四」也。

「状态_自由表」者「一三四八」也。 「:文言:小块自由表之头,三十二类,至 0x5C4 止。汉语:小块自由表头:状态_自由表 + 4*(大小/8),至 0x5C4 止(32 类)。:」
「状态_小类掩码」者「一四八零」也。 「:文言:小块诸类非空之掩码:类 k(大小 8k)非空则位 k−1 为一。汉语:小块自由表非空掩码:类 k(大小 8k 字节,k 为 1 至 32)的链表非空时第 k−1 位为 1;取小类分割先看掩码,没有更大的非空类就不必逐类扫描。:」
「状态_异步表」者「一四八四」也。 「:文言:原生异步子进程之表址,未设则零。汉语:原生异步子进程表的地址(启动时用 取区域 分配;裸机上为 0)。:」
「异步表项数」者「一零二四」也。 「:文言:异步子进程至多千二十四。汉语:同时至多 1024 个异步子进程。:」
「异步项长」者「四八」也。

「异步表字节」者「四九一五二」也。 「:文言:表之长,千二十四项,项各四十八字节。汉语:表长 = 1024 × 48 字节;回收时整段作为根保守扫描(项里存着捕获缓冲的引用)。:」
「异步区字节」者「一四七四八八」也。 「:文言:表后继以订阅与事件之区,各三千七十三项,项十六字节。汉语:表之后是等待用的订阅区与事件区,各 3×1024+1 项、每项 16 字节。:」
「状态_大自由」者「一四八八」也。 「:文言:大块自由链之头。汉语:大块自由链表头。:」
「状态_分配计」者「一四九二」也。 「:文言:自前次回收以来所分配之字节数。汉语:上次回收以来分配的字节数。:」
「状态_回收阈」者「一四九六」也。

「状态_回收禁」者「一五零零」也。 「:文言:非零则禁回收。汉语:非零时禁止回收。:」
「状态_活字节」者「一五零四」也。 「:文言:前次回收后存活之字节数。汉语:上次回收后存活字节数。:」
「状态_栈针」者「一五三六」也。

「状态_帧针」者「一五四零」也。

「状态_指令针」者「一五四四」也。

「状态_函」者「一五四八」也。

「状态_帧顶」者「一五五二」也。

「状态_标签顶」者「一五五六」也。

「状态_处理顶」者「一五六零」也。

「状态_例外数」者「一五六四」也。

「状态_例外标签」者「一五六八」也。

「状态_例外载荷」者「一六零零」也。 「:文言:六十四槽各八字节,共五百一十二,居 0x640 至 0x83F。汉语:64 槽 × 8 = 512 字节:0x640–0x83F。:」
「状态_块参」者「二一一二」也。

「状态_块果」者「二一一六」也。

「状态_新指令针」者「二一二零」也。

「状态_新帧针」者「二一二四」也。

「状态_边偏」者「二一二八」也。

「状态_主机结果」者「二一三二」也。

「状态_跟踪」者「二一三六」也。

「状态_监视」者「二一四零」也。

「状态_回收下限」者「二一七二」也。

「状态_扫描中」者「二一六四」也。

「状态_型字节」者「二一四四」也。

「状态_型元组」者「二一四八」也。

「状态_型大整」者「二一五二」也。

「状态_型浮点」者「二一五六」也。

「状态_命令行参数数」者「二一六零」也。

「状态_行缓冲」者「二一七六」也。

「状态_文件系统_已挂载」者「二二零八」也。

「状态_文件系统_容量」者「二二一二」也。

「状态_文件系统_活区」者「二二一六」也。

「状态_文件系统_区起」者「二二二零」也。

「状态_文件系统_区长」者「二二二四」也。

「状态_文件系统_代」者「二二二八」也。

「状态_文件系统_尾」者「二二三二」也。

「状态_文件系统_序」者「二二三六」也。

「状态_文件系统_条目」者「二二四零」也。

「状态_文件系统_条目数」者「二二四四」也。

「状态_文件系统_条目限」者「二二四八」也。

「状态_文件系统_池」者「二二五二」也。

「状态_文件系统_池顶」者「二二五六」也。

「状态_文件系统_池限」者「二二六零」也。

「状态_文件系统_扇区」者「二二六四」也。

「状态_文件系统_扇区二」者「二二六八」也。

「状态_文件系统_路径缓」者「二二七二」也。

「状态_文件系统_读扇区」者「二二七六」也。

「状态_文件系统_读长」者「二二八零」也。

「状态_文件系统_当前目录」者「二二八四」也。

「状态_文件系统_跟踪」者「二二八八」也。

「状态_文件系统_扇区三」者「二二九二」也。

「状态_文件系统_当前长」者「二二九六」也。

「状态_文件系统_错误码」者「二三零零」也。

「校验初值」者(「减」于「零」于「二一二八八三一零三五」)也。

「行缓冲大小」者「四零九六」也。

「状态_自动格式化」者「二一八零」也。 「:文言:非零则挂载遇空盘自格式化,测试之用。汉语:非零:挂载遇空白盘时自动格式化(测试用)。:」
「暂存缓冲」者「一一五二零」也。 「:文言:宿主原语之暂存区,0x2D00 至 0x2FFF。汉语:宿主原语的暂存区(0x2D00–0x2FFF)。:」
「状态_临时」者「二三零四」也。 「:文言:宽整数运算之临时槽,共八,止于 0x93F。汉语:宽整数运算的临时槽(8 槽,0x900–0x93F;其后 0x940 起是块设备状态格,不可越界)。:」
「状态_宽临时」者「二四三二」也。 「:文言:宿主原语之宽整数临时槽,共十,始于 0x980。汉语:宿主原语(整数转串、串转整、整数算术)用的宽整数临时槽:0x980–0x9CF,10 槽。:」
「扫描栈」者「四零九六」也。 「:文言:边表扫描所用之控制栈,每项八字节,五百一十二层。汉语:边表扫描用的控制栈:每项 8 字节,512 层。:」
「扫描栈限」者「八一九二」也。

「类型条长」者「三二」也。

「函数条长」者「三二」也。

「头标记」者「二一四七四八三六四八」也。

「种类结构」者「一」也。

「种类数组」者「二」也。

「种类空闲」者「三」也。

「小块上限」者「二五六」也。

「堆增量」者「一零四八五七六」也。 「:文言:每次向内存索取一兆。汉语:每次向内存索取 1 MiB。:」
「初始堆字节」者「四一九四三零四」也。 「:文言:堆初容四兆。汉语:初始堆容量 4 MiB。:」
「回收下限」者「二零九七一五二」也。 「:文言:两回收之间至少分配二兆。汉语:两次回收之间至少分配 2 MiB。:」

「种类异常」者「四」也。

「测试名」者「九二一六」也。 「:文言:所调导出之名,零止;空则用 _start。汉语:要调用的导出名(零结尾;为空则用 _start)。:」
「测试参数数」者「九二八零」也。

「测试参数」者「九二八四」也。 「:文言:至多八个 i32 参数。汉语:至多 8 个 i32 参数。:」
「测试结果数」者「九三二八」也。

「:文言:诸表之条目字段偏移。汉语:类型条(32 字节)、函数条(32 字节)、表描述(16 字节)、元素段条(24 字节)、数据段条(20 字节)、标签条(8 字节)的字段偏移。:」
「类型条_种类」者「零」也。 「:文言:一为函数、二为结构、三为数组。汉语:1 函数、2 结构、3 数组。:」
「类型条_甲」者「四」也。 「:文言:函数为参数数,结构为字段数,数组为元素类。汉语:函数为参数数,结构为字段数,数组为元素类别。:」
「类型条_乙」者「八」也。 「:文言:函数为结果数,结构为字段数,数组为元素字节数。汉语:函数为结果数,结构为字段数,数组为元素字节数。:」
「类型条_超类」者「一二」也。

「类型条_编码起」者「一六」也。

「类型条_结果编码起」者「二零」也。

「类型条_编码止」者「二四」也。

「类型条_终类」者「二八」也。

「函数条_类型」者「零」也。

「函数条_代码起」者「四」也。

「函数条_代码止」者「八」也。

「函数条_参数数」者「一二」也。

「函数条_结果数」者「一六」也。

「函数条_局部总数」者「二零」也。

「函数条_边表」者「二四」也。

「函数条_标志」者「二八」也。 「:文言:低位一者导入,高位为宿主函数号。汉语:低位 1 表示导入,高位为宿主函数号。:」
「表描述长」者「一六」也。

「表描述_数据」者「零」也。

「表描述_大小」者「四」也。

「表描述_上限」者「八」也。

「表描述_类别」者「一二」也。

「元素段条长」者「二四」也。

「元素段_向量起」者「零」也。

「元素段_个数」者「四」也。

「元素段_标志」者「八」也。

「元素段_已弃」者「一二」也。

「元素段_式」者「一六」也。

「元素段_表号」者「二零」也。

「数据段条长」者「二零」也。

「数据段_数据」者「零」也。

「数据段_长度」者「四」也。

「数据段_被动」者「八」也。

「数据段_已弃」者「一二」也。

「数据段_式」者「一六」也。

「标签条长」者「八」也。

「标签条_类型」者「零」也。

「标签条_参数数」者「四」也。

「:文言:标签栈之种。汉语:标签栈条目(16 字节:目标位置、栈基、元数、种类)的种类:块、循环、条件、尝试表、函数。:」
「标签块」者「零」也。

「标签循环」者「一」也。

「标签条件」者「二」也。

「标签尝试」者「三」也。

「标签函数」者「四」也。

「标签栈条长」者「一六」也。

「标签_目标」者「零」也。

「标签_栈基」者「四」也。

「标签_元数」者「八」也。

「标签_种类」者「一二」也。

「帧条长」者「三二」也。 「:文言:调用帧条目:归位、帧针、函数号、标签顶、处理顶。汉语:调用帧条目:返回位置、帧针、函数号、标签顶、处理顶。:」
「处理条长」者「三二」也。

「:文言:处理栈条之字段。汉语:处理器栈项(32 字节):子句起点、子句数、帧顶、值栈基、标签顶(压 try 标签之前)、帧针、当前函数。:」
「处理_子句起」者「零」也。

「处理_子句数」者「四」也。

「处理_帧顶」者「八」也。

「处理_栈基」者「一二」也。

「处理_标签顶」者「一六」也。

「处理_帧针」者「二零」也。

「处理_函数」者「二四」也。

「:文言:子任务之约:状态格与运行期缓冲。汉语:子进程相关:待重启格(存新程序长度,非零则重启)与是否子任务格(1 继承输出,2 丢弃输出);命令行参数、程序名各有“本任务之区”与“送子任务之区”,都放在字面串区之后(字面串区止于 参数区 起点)。:」
「状态_待重启」者「二四一六」也。 「:文言:非零则本任务已被换成新程序,其值乃新程序之字节长,解释循环退出后自头启动。汉语:非零:本任务已被换成新程序,值为新程序字节数;解释循环退出后须从头启动。:」
「状态_是子任务」者「二四二零」也。 「:文言:零为初始任务,一为复制而来之子任务,二为其输出被弃者。汉语:0 初始任务;1 复制出来的子任务(输出继承);2 子任务且丢弃输出。:」
「参数区」者「四九一五二」也。 「:文言:本任务之命令行参数区:首为个数,其后每项〔长四字节〕加字节,四字节对齐。汉语:本任务的命令行参数区:+0 个数;其后每项 [长度 4 字节][字节…],对齐到 4。:」
「参数区大小」者「四零九六」也。

「程序名区」者「五三二四八」也。 「:文言:本任务之程序名区:首为长,四字节后为绝对路径。汉语:本任务的程序名区:+0 长度;+4 起是绝对路径字节。:」
「程序名上限」者「一零二四」也。

「送参数区」者「五七三四四」也。 「:文言:欲送子任务之参数,复制前所书,子任务醒后取之。汉语:准备交给子任务的参数区:父任务复制前写入,子任务醒来后拷入自己的 参数区。:」
「送程序名区」者「六一四四零」也。 「:文言:欲送子任务之程序名,用法同上。汉语:准备交给子任务的程序名区,用法同上。:」
「子进程失败码」者「一二七」也。

「:文言:多实例之约:诸模块各有其“上下文”(类型、函数、全局、表、元素、数据、标签、内存、节表与原型类型诸格),切换实例即拷入拷出此上下文;对象头带实例号;实例之记录在实例表。汉语:多实例执行器:每个已装载的模块是一个实例,其“上下文”是 0x41C 起的一段状态格(模块址、类型表、函数表、全局表、表描述、元素段、数据段、标签、客内存、节表)加模块长与宿主原型类型格;切换实例就是把当前上下文存回实例记录、再把目标记录拷入状态格。对象头字 0 的第 16–23 位记创建它的实例号(初始实例为 0,与旧头字节相同),使堆回收能用正确的类型表扫描各实例的对象。:」
「状态_模块址」者「一零五二」也。 「:文言:本实例之模块字节所在;初始实例在模块窗口。汉语:本实例模块字节的起始地址(初始实例是 模块基)。:」
「上下文首」者「一零五二」也。

「上下文长」者「二二八」也。

「状态_当前实例」者「二四二四」也。 「:文言:现行之实例号。汉语:当前正在执行的实例号(初始实例为 0)。:」
「状态_实例表」者「二四二八」也。

「状态_实例数」者「二五一二」也。 「:文言:已用之实例记录数(含初始实例)。汉语:已使用的实例记录个数(含初始实例)。:」
「状态_请求」者「二五一六」也。 「:文言:非零则解释循环当退出,由入口之驱动循环代办:一加载模块,二调用导出,三装箱调用之果。汉语:待办请求(非零则解释循环退出,由入口的驱动循环处理后续跑):1 加载模块,2 调用导出,3 为调用导出的返回结果装箱。:」
「状态_请求参一」者「二五二零」也。

「状态_请求参二」者「二五二四」也。

「状态_请求参三」者「二五二八」也。

「状态_续指令针」者「二五三二」也。 「:文言:请求办毕后续行之处。汉语:请求处理完后继续解释的现场:指令针、帧针、栈针(结果槽在栈针之下)。:」
「状态_续帧针」者「二五三六」也。

「状态_续栈针」者「二五四零」也。

「请求_加载」者「一」也。

「请求_调用导出」者「二」也。

「请求_装箱结果」者「三」也。

「实例记录长」者「五一二」也。

「最大实例数」者「一六」也。

「记录_状态」者「零」也。 「:文言:零未用,一已装载。汉语:0 未用,1 已装载。:」
「记录_名址」者「四」也。

「记录_名长」者「八」也。

「记录_块数」者「一二」也。

「记录_上下文」者「一六」也。

「记录_模块长」者「二四四」也。

「记录_原型」者「二四八」也。

「记录_块表」者「二六四」也。 「:文言:本实例所有原始块之头址,共至多三十二。汉语:本实例拥有的原始块头地址表,至多 32 项,回收时作为根。:」
「块表容量」者「三二」也。

「种类原始」者「五」也。 「:文言:原始块:只有字节,回收时不扫其内。汉语:原始字节块(次级实例的模块字节、元数据与客内存):回收时只标记不扫描。:」
「帧_实例」者「二零」也。 「:文言:调用帧之实例号:返回时须回此实例。汉语:调用帧里记录的调用者实例号,返回时若与当前不同就切回去。:」
「帧_钩」者「二四」也。 「:文言:返回之钩:一者其果当装箱交还宿主。汉语:帧的返回钩:非零表示这是“调用导出”的帧,返回时要把结果装箱后交还宿主调用。:」
「处理_实例」者「二八」也。

「函数条_链接实例」者「四」也。 「:文言:导入已链于他实例者,其代码起存彼实例号,代码止存彼函数号,边表存导入项之址。汉语:已链接到其他实例的导入:代码起字段存目标实例号,代码止字段存目标函数号,边表字段存导入项在模块字节里的地址(用于延迟链接与报错)。:」
「函数条_链接函数」者「八」也。

「函数条_导入项」者「二四」也。

「宿主号_未连接」者「零」也。

「宿主号_宿主」者「一」也。

「宿主号_实例」者「二」也。

「宿主号_WASI」者「三」也。 「:文言:三号宿主导入为 WASI preview1。汉语:宿主导入编号 3 用于 WASI preview1 函数。:」

「:文言:软浮点之暂存:小数运算以整数软件实现,诸中间值置于此区(0x2580 起)。汉语:软浮点(IEEE 754 双精度,整数指令实现)的暂存区:8 字节槽用于操作数、结果、解包后的尾数、128 位乘积、暂存;4 字节格记两个操作数解包后的符号、指数、类别(0 零,1 有限,2 无穷,3 非数);其后是大整数与数字缓冲。:」
「软浮点暂存」者「九六零零」也。

「浮槽_甲」者「九六零零」也。

「浮槽_乙」者「九六零八」也。

「浮槽_果」者「九六一六」也。

「浮槽_尾甲」者「九六二四」也。

「浮槽_尾乙」者「九六三二」也。

「浮槽_积高」者「九六四零」也。

「浮槽_积低」者「九六四八」也。

「浮槽_暂一」者「九六五六」也。

「浮槽_暂二」者「九六六四」也。

「浮槽_暂三」者「九六七二」也。

「浮槽_暂四」者「九六八零」也。

「浮格_甲」者「九六八八」也。 「:文言:三格:符号、指数、类别。汉语:三个 4 字节格:符号、指数、类别。:」
「浮格_乙」者「九七零零」也。

「浮格_量」者「九七一二」也。

「浮格_余」者「九七一六」也。 「:文言:大数除小之余。汉语:大数除以小数所得的余数格。:」
「大数甲」者「九七六零」也。 「:文言:四大数各六十四肢(每肢四字节,低肢在前)。汉语:四个大整数缓冲,各 64 个 32 位肢(低肢在前,共 2048 位,每个 256 字节)。:」
「大数乙」者「一零零一六」也。

「大数丙」者「一零二七二」也。

「大数丁」者「一零五二八」也。

「浮串缓冲」者「一零七八四」也。 「:文言:小数转串之出,共六百九十字节,前半为成串、后半为暂存之数字。汉语:小数转字符串的缓冲(690 字节,至 0x2CD2):前 350 字节放成品串,后 340 字节放大整数转出的十进制数字。:」
「析格_符」者「九七二零」也。 「:文言:析文之诸格。汉语:字符串转小数时的状态格:符号、游标、有效数字个数、被丢弃的数字个数、丢弃的数字里有无非零、小数点后位数、显式指数、是否见到数字。:」
「析格_位」者「九七二四」也。

「析格_有效」者「九七二八」也。

「析格_丢弃」者「九七三二」也。

「析格_丢非零」者「九七三六」也。

「析格_小数位」者「九七四零」也。

「析格_指数」者「九七四四」也。

「析格_有数」者「九七四八」也。

「浮槽_十」者「九七五二」也。 「:文言:常量十与析文之暂存槽。汉语:浮点常量 10.0 与字符串转小数用的四个暂存槽(0x2CE0–0x2CFF)。:」
「浮槽_析一」者「一一四八八」也。

「浮槽_析二」者「一一四九六」也。

「浮槽_析三」者「一一五零四」也。

「浮槽_析四」者「一一五一二」也。

「析格_大长」者「一一四七六」也。 「:文言:析文所积大数之肢数,及其所弃之位数与其中有无非零。汉语:字符串转小数时,全部数字累积成的大整数(大数甲)的肢数;超过容量而未能累积的数字个数及其中有无非零。:」
「析格_大丢弃」者「一一四八零」也。

「析格_大丢非零」者「一一四八四」也。

「:文言:浮点指令之暂存:格式格居状态格区,开方与测试之槽居 0x2000 起之空闲区(扫描栈之后、测试名之前)。汉语:Wasm 浮点指令用的状态:浮格_格式(0 双精度、1 单精度,f32 指令临时置 1、算完置回 0)放在状态格区 0xE30;开方用的被开方数(128 位)、根、候选、平方(128 位)槽与自检入口用的三槽测试栈放在 0x2000–0x23FF 的空闲区(0x2000 起,扫描栈之后、测试名 0x2400 之前)。:」
「浮格_格式」者「三六三二」也。

「浮槽_被高」者「八一九二」也。

「浮槽_被低」者「八二零零」也。

「浮槽_根」者「八二零八」也。

「浮槽_候」者「八二一六」也。

「浮槽_方高」者「八二二四」也。

「浮槽_方低」者「八二三二」也。

「浮槽_测栈」者「八二四零」也。

「:文言:输出捕获之格:子进程之出经邮箱送父任务,父任务收之。汉语:输出捕获(子进程的标准输出与标准错误经内核邮箱送给父任务)用的状态格,放在 0xE00 起、块设备暂存区之后的空闲区(不被重启准备清零):输出流(1 标准输出、2 标准错误)、待发的字节数与打包字、待发所属的流;父任务一侧的两个捕获缓冲(字节数组引用、已用长度、容量)与异步子任务号。消息格式:高字节 0x40 + 16×流位(0 出、1 误)+ 字节数(1 至 3),低三个字节依次是所带字节;父任务收到后回复消息 1 作确认。:」
「状态_输出流」者「三五八四」也。

「状态_待发数」者「三五八八」也。

「状态_待发字」者「三五九二」也。

「状态_待发流」者「三五九六」也。

「状态_捕获出引」者「三六零零」也。

「状态_捕获出长」者「三六零四」也。

「状态_捕获出容」者「三六零八」也。

「状态_捕获误引」者「三六一二」也。

「状态_捕获误长」者「三六一六」也。

「状态_捕获误容」者「三六二零」也。

「状态_异步子号」者「三六二四」也。 「:文言:异步子进程之任务号加一,零为无。汉语:异步子进程的任务句柄加 1(0 表示没有异步子进程)。:」
「捕获消息标」者「六四」也。

「:文言:大程序之格:磁盘上之程序逾模块窗者,子任务先暂置之于动态区之尾,重启时移至区域起,主程序遂居动态区之首。汉语:运行磁盘上比模块窗口(448 KiB)更大的程序:子任务改装时把程序字节暂存到动态区尾(状态_暂存址),重启准备把它搬到 区域起,清零其余,并置 状态_主程序大;解析模块据此把模块址设为 区域起、区域顶设在模块之后。这两个格放在 0xE00 起不被重启清零的区域。最大主程序长 是磁盘程序的上限。:」
「状态_暂存址」者「三六四八」也。

「状态_主程序大」者「三六五二」也。

「最大主程序长」者「六七一零八八六四」也。

「:文言:远程文件之格:解码之游标与应答之结果。汉语:远程文件调用用的两个状态格(放在 0xE00 起不被重启清零的区域):解码游标(序列化字节流当前读到哪里)与远程调用结果(子任务收到的应答解码后的对象引用)。:」
「状态_解码游」者「三六五六」也。

「状态_远程结果」者「三六六零」也。

「:文言:三六六四至三六七一,留为底柄之表址与终端之模;暂存缓冲可任时改写。汉语:3664–3671 留给底层句柄表地址和终端模式;暂存缓冲可作临时读写,不再保存持久句柄状态。:」

「:文言:子任务承父之当前目录:置于送程序名区与程序名区之内、偏二零四八处(长四字节,后为路径字节)。汉语:子任务继承壳的当前目录:父任务在复制任务之前把当前目录(长度 4 字节 + 路径字节,至多路径上限 440 字节)写到 送程序名区 + 工作目录偏;子任务改装把它拷到自己的 程序名区 + 工作目录偏(不被重启清零);重启后文件系统初始化把当前目录置为 “/”,随后 继承当前目录 再改回父任务的当前目录。:」
「工作目录偏」者「二零四八」也。