看计数归零

看计数归零

(这一节用一个自造的小堆 Heap 模拟运行时:alloc(名) 造对象,link(持有者, 名) 让持有者引用它(持有者 None 表示「根」,比如一个变量),unlink 解除引用;计数归零就 f

阅读更多 →
引用计数的死角

引用计数的死角

(这一节用一个自造的小堆 Heap 模拟运行时:alloc(名) 造对象,link(持有者, 名) 让持有者引用它(持有者 None 表示「根」,比如一个变量),unlink 解除引用;计数归零就 f

阅读更多 →
引用计数怎么回收

引用计数怎么回收

(这一节用一个自造的小堆 Heap 模拟运行时:alloc(名) 造对象,link(持有者, 名) 让持有者引用它(持有者 None 表示「根」,比如一个变量),unlink 解除引用;计数归零就 f

阅读更多 →
运行时是什么

运行时是什么

VM 之外还有一堆东西在替程序干活:分配对象的内存、回收没人用的、维护调用栈、报错。这一整套叫「运行时」。它和 VM 的关系是【0】。

阅读更多 →
补全:记下最长的帧名串

补全:记下最长的帧名串

(每道题开头都有同一段:06 的词法/语法/show、Env、RunError;本条加的 compile_expr / compile_stmt / compile_block / compile_p

阅读更多 →
补全:RETURN 和 MAKE_FN

补全:RETURN 和 MAKE_FN

(每道题开头都有同一段:06 的词法/语法/show、Env、RunError;本条加的 compile_expr / compile_stmt / compile_block / compile_p

阅读更多 →
补全:CALL

补全:CALL

(每道题开头都有同一段:06 的词法/语法/show、Env、RunError;本条加的 compile_expr / compile_stmt / compile_block / compile_p

阅读更多 →
错误里的调用栈

错误里的调用栈

(每道题开头都有同一段:06 的词法/语法/show、Env、RunError;本条加的 compile_expr / compile_stmt / compile_block / compile_p

阅读更多 →
看帧的深度

看帧的深度

(每道题开头都有同一段:06 的词法/语法/show、Env、RunError;本条加的 compile_expr / compile_stmt / compile_block / compile_p

阅读更多 →
RETURN 做什么

RETURN 做什么

执行 RETURN 时 VM 做的是【0】。

阅读更多 →