AoT uses Bun’s bundler & parser to parse typescript, tags types to JavaScriptCore via a typecheck bytecode intrinsic, and compiles the bytecode to machine code via B3 (what JSC’s JITs use)
This keeps the JavaScriptCore changes well-contained, so that syncing with upstream WebKit isn’t complicated