<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>JIT</title><link>https://blog.ast.moe/en/tags/jit/</link><description>Recent posts: Gorimuchu</description><generator>Hugo</generator><item><title>I investigated why Acid3 was crashing due to memory errors in Omoikane’s baseline JIT.</title><link>https://blog.ast.moe/en/blog/2026-09-13/</link><pubDate>Sun, 13 Sep 2026 20:20:51 +0900</pubDate><guid>https://blog.ast.moe/en/blog/2026-09-13/</guid><description>&lt;p&gt;While working on implementing CSS in my own browser, Omoikane (&lt;a href="https://github.com/ieee0824/omoikane"&gt;source&lt;/a&gt;), Acid3 began crashing due to memory errors.&lt;/p&gt;
&lt;p&gt;The problem only occurs when the baseline JIT is enabled; it runs fine with the interpreter.&lt;/p&gt;
&lt;p&gt;Furthermore, Omoikane’s Acid3 runner has two execution modes, Faithful and DirectDrive. Faithful completes all 100 points, but then it crashes during DirectDrive.&lt;/p&gt;
&lt;p&gt;The failure manifests differently depending on the environment.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Environment&lt;/th&gt;
&lt;th&gt;Observed failure&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;x86_64 Linux&lt;/td&gt;
&lt;td&gt;SIGSEGV&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ARM64 Linux&lt;/td&gt;
&lt;td&gt;SIGABRT, ~60 GB allocation, SIGSEGV on rerun&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ARM64 macOS&lt;/td&gt;
&lt;td&gt;SIGSEGV, SIGBUS on rerun&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Even though it’s the same test, the signals differ.&lt;/p&gt;</description></item></channel></rss>