部分静态单一信息形式
在编译器领域,静态单一信息形式(SSI)是静态单一赋值形式(SSA)的一种常见扩展,通过在现有程序中挖掘事实并将其具体化为路径相关的IR节点来实现优化。本文提出了一种"部分SSI"的实用捷径——在SSA构建阶段同时插入类型细化节点,而非实现完整的SSI算法。文章还讨论了在优化过程中(如全局值编号后)进一步插入细化指令的方法,并列举了Cinder、TruffleRuby、Luau等编译器中的实际应用案例。
在编译器领域,静态单一信息形式(SSI)是静态单一赋值形式(SSA)的一种常见扩展,通过在现有程序中挖掘事实并将其具体化为路径相关的IR节点来实现优化。本文提出了一种"部分SSI"的实用捷径——在SSA构建阶段同时插入类型细化节点,而非实现完整的SSI算法。文章还讨论了在优化过程中(如全局值编号后)进一步插入细化指令的方法,并列举了Cinder、TruffleRuby、Luau等编译器中的实际应用案例。
LaTeX and Inkscape define a "point" differently: LaTeX uses 1/72.27 inch (Knuth's TeX standard), while Inkscape uses 1/72 inch (from PostScript and CSS). The difference traces back to historical variations in typographic measurement standards.
Partial static single information (SSI) form is an intermediate representation between SSA and full SSI form. It places σ-functions only at join points where different values converge, reducing overhead while retaining useful properties for optimization and analysis.
Simon Willison created an experiment demonstrating how a web app running inside a CSP-protected sandboxed iframe can use a custom fetch() to intercept CSP errors, pass them to the parent window, and allow the user to add that domain to an allow-list and refresh the page.