部分静的単一情報形式(Partial SSI)
静的単一情報形式(SSI)はSSAを拡張し、条件分岐から得られる型情報をIRノードとして明示する手法。本記事では、フルSSIの複雑なアルゴリズムを実装せずとも、SSA構築時や最適化中に部分的なSSIを導入する実用的な方法を解説。ZJITやCinder、TruffleRubyなど実際のコンパイラでの応用例も紹介する。
静的単一情報形式(SSI)はSSAを拡張し、条件分岐から得られる型情報をIRノードとして明示する手法。本記事では、フルSSIの複雑なアルゴリズムを実装せずとも、SSA構築時や最適化中に部分的なSSIを導入する実用的な方法を解説。ZJITやCinder、TruffleRubyなど実際のコンパイラでの応用例も紹介する。
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.