<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>栈切换 on PlumePHP</title><link>https://plumephp.com/tags/%E6%A0%88%E5%88%87%E6%8D%A2/</link><description>Recent content in 栈切换 on PlumePHP</description><generator>Hugo</generator><language>zh-CN</language><lastBuildDate>Mon, 28 Sep 2026 14:00:00 +0800</lastBuildDate><atom:link href="https://plumephp.com/tags/%E6%A0%88%E5%88%87%E6%8D%A2/index.xml" rel="self" type="application/rss+xml"/><item><title>WASM 异常处理与栈切换提案：try_table、suspend/resume 与异步运行时</title><link>https://plumephp.com/wasm-exceptions-stack-switching/</link><pubDate>Mon, 28 Sep 2026 14:00:00 +0800</pubDate><guid>https://plumephp.com/wasm-exceptions-stack-switching/</guid><description>&lt;h2 id="引言"&gt;引言&lt;/h2&gt;
&lt;p&gt;C/C++ 有 &lt;code&gt;try/catch&lt;/code&gt;、Rust 有 &lt;code&gt;panic/unwind&lt;/code&gt;、Java 有 &lt;code&gt;throw&lt;/code&gt;——但 &lt;strong&gt;WASM 最初没有异常指令&lt;/strong&gt;。于是编译器只能把「抛异常」降级成「返回错误码 + 手动检查」，写起来痛苦、性能也差。&lt;strong&gt;Exceptions 提案&lt;/strong&gt;补上这块：WASM 原生支持标签抛出与类型化捕获。而更进一步的 &lt;strong&gt;Stack Switching 提案&lt;/strong&gt; 让 WASM 能「挂起整条调用栈再恢复」——这为真正的异步运行时、协程、生成器铺平道路。本文把这两大控制流提案讲透：它们解决什么、指令怎么用、运行时支持到哪、以及和 JS 事件循环怎么对接。&lt;/p&gt;</description></item></channel></rss>