LINEUP & SCHEDULE

YJIT: Dive into Ruby's JIT compiler written in Rust

  • 13:30 - 13:55 (JST)

    • Session Language: English
    • Caption Language: 日本語

This talk will go over the architecture overview of a JIT compiler written in Rust by Shopify, YJIT. While the optimization target is Ruby, I'll show only easy code that could be understood even if you haven't used Ruby. Also, I will not require any compiler-related knowledge to understand the talk so that anybody could enjoy this talk.

  • How a JIT compiler works
    • What is bytecode?
    • Intermediate representation: We started using Rust to implement this easily.
    • Codegen backend: x86_64, arm64
  • Optimizations
    • An overview of Basic Block Versioning: a JIT compiler design used by YJIT
    • How Rust structs are used for optimizing Ruby's bytecode
  • Challenges
    • C <-> Rust interop: bindgen and lots of unsafe :)

Share it on


Bio

Takashi Kokubun

Takashi Kokubun

Staff Developer at Shopify in the YJIT team.


Copyright © Rust.Tokyo 2022 all rights reserved.


特定商取引法に基づく表示

Twitterもぜひフォローしてください! @rustlang_tokyo

お問い合わせ: rust-tokyo-staff@googlegroups.com

過去の開催