V8 如何存储 WebAssembly 模块的 Section 信息?
How does V8 store the Section info of a WebAssembly module?
引擎解析二进制WebAssembly模块的每个字节后,是如何组织和存储section信息的?例如,假设类型部分有多个具有种类 func_type
的实体,并且每个 func_type
也有许多自己的字段。从c++代码和整个引擎的角度来看,V8是如何存储这些信息的?
WasmModule
class 有一个函数签名列表(嗯,一个 std::vector
),以及从模块的线字节读取的其他数据;参见此处:https://cs.chromium.org/chromium/src/v8/src/wasm/wasm-module.h?sq=package:chromium&g=0&l=185。您可以在同一文件的更上方找到大多数其他 class 定义。
引擎解析二进制WebAssembly模块的每个字节后,是如何组织和存储section信息的?例如,假设类型部分有多个具有种类 func_type
的实体,并且每个 func_type
也有许多自己的字段。从c++代码和整个引擎的角度来看,V8是如何存储这些信息的?
WasmModule
class 有一个函数签名列表(嗯,一个 std::vector
),以及从模块的线字节读取的其他数据;参见此处:https://cs.chromium.org/chromium/src/v8/src/wasm/wasm-module.h?sq=package:chromium&g=0&l=185。您可以在同一文件的更上方找到大多数其他 class 定义。