部分静的単一情報形式
本記事では、コンパイラにおける中間表現の一種である「部分静的単一情報形式(Partial Static Single Information form)」について解説する。従来のSSA(静的単一代入)形式とSSI(静的単一情報)形式の特徴を組み合わせたハイブリッドなアプローチを提案し、各変数のライブレンジや情報フローをより精密に追跡できることを示す。実装例や最適化への応用可能性についても考察する。
本記事では、コンパイラにおける中間表現の一種である「部分静的単一情報形式(Partial Static Single Information form)」について解説する。従来のSSA(静的単一代入)形式とSSI(静的単一情報)形式の特徴を組み合わせたハイブリッドなアプローチを提案し、各変数のライブレンジや情報フローをより精密に追跡できることを示す。実装例や最適化への応用可能性についても考察する。
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.
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.
Partial SSI is a simplified alternative to full static single information form that inserts type refinement nodes during SSA construction or optimization rather than implementing complex SSI algorithms. This approach lets compilers propagate type information from conditionals and guards to enable optimizations, as demonstrated in projects like ZJIT, Cinder, and TruffleRuby.