From: "hsbt (Hiroshi SHIBATA) via ruby-core" Date: 2026-09-29T07:36:05+00:00 Subject: [ruby-core:126876] [Ruby Feature#18439] YJIT: Support Microsoft x86 calling convention Issue #18439 has been updated by hsbt (Hiroshi SHIBATA). I made YJIT work on mswin x64 in https://github.com/ruby/ruby/pull/19114. It follows the Win64 calling convention and registers unwind info for JIT code, as discussed here, and passes `nmake check` with YJIT enabled. YJIT is about 2x faster than the interpreter on ruby-bench's headline benchmarks on mswin. I'd like to ship this in Ruby 4.1 and will maintain the Windows side, so I'd appreciate reviews from the JIT team. ---------------------------------------- Feature #18439: YJIT: Support Microsoft x86 calling convention https://bugs.ruby-lang.org/issues/18439#change-119247 * Author: usa (Usaku NAKAMURA) * Status: Assigned * Assignee: jit ---------------------------------------- I heard that supporting YJIT for VC++ needs mmap from k0kubun-san, so I implemented tiny mmap emulation on Windows and committed it to master. And, I found we need more changes to actually enabled YJIT for VC++, at least: - YJIT requires `OPT_DIRECT_THREADED_CODE` or `OPT_CALL_THREADED_CODE` in `rb_yjit_compile_iseq()`. Really? - Maybe ABI deffers between VC++ and YJIT's expectation. Can I get support to fix above? -- https://bugs.ruby-lang.org/ ______________________________________________ ruby-core mailing list -- ruby-core@ml.ruby-lang.org To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/