Pysolate Spine中文旁白 + HTML 图解全部小课 ↗

流程课 · 跟完一个过程

Prepared baseline:干净内存,整段恢复

沿 prepared.go 和 prepared_test.go 看 NewPrepared 怎样保存干净的 linear memory 基线,再让每轮新 Guest 恢复私有副本。

01 / 06

先把干净的 Guest 建好

NewPrepared 先建立 runtime,再走初始化边界

准备播放
PREPARED BASELINE / 整段复制参考 Guest 只走初始化
干净初始化
  1. 初始化
  2. 保存基线
  3. 新实例
  4. 用户隔离
  5. 副本隔离
  6. 边界验证
CLEAN INIT
参考 Guest_initialize → CPython init
RUNNER.IMAGE
linear memory干净基线来源
NEW GUEST
准备中没有用户源码
本轮写入Host 工具未调用
下一轮看到等待读取基线

准备边界在用户代码、inputs 和工具调用之前。

prepared.go · NewPrepared / Runner.newGuest

查看本场景的源码片段关键行

        
        r, err := New(ctx, wasm, tools, earlyReads...)
      
        
        m, err := r.newGuest(ctx, &boundedText{}, &boundedText{})
      
        
        // newGuest: _initialize → CPython init
      
        
        if err != nil {
      
        
            return nil, err
      
        
        }
      
旁白

点一下播放即可。也可以只听声音,或拖动进度跳到想看的位置。

0:001:31

正在准备本课音轨与图解。首次播放需要点一下。

跳到某一节 / 查看讲稿