summaryrefslogtreecommitdiff
path: root/yjit/src/codegen.rs
AgeCommit message (Expand)Author
7 hoursAdd SHAPE_ID_HAS_IVAR_MASK for quick ivar checkJean Boussier
34 hoursGet rid of `rb_shape_lookup`Jean Boussier
8 daysRefactor raw accesses to rb_shape_t.capacityJean Boussier
10 daysGet rid of TOO_COMPLEX shape typeJean Boussier
10 daysUse all 32bits of `shape_id_t` on all platformsJean Boussier
2025-05-27Refactor `rb_shape_too_complex_p` to take a `shape_id_t`.Jean Boussier
2025-05-27Refactor `rb_shape_get_iv_index` to take a `shape_id_t`Jean Boussier
2025-05-15YJIT: handle opt_aset_withJean Boussier
2025-05-12YJIT: Split the block on optimized getlocal/setlocal (#13282)Takashi Kokubun
2025-05-09Rename `RB_OBJ_SHAPE` -> `rb_obj_shape`Jean Boussier
2025-05-09Rename `rb_shape_get_shape_id` -> `RB_OBJ_SHAPE_ID`Jean Boussier
2025-05-09Refactor `rb_shape_get_next` to return an IDJean Boussier
2025-05-09Rename `rb_shape_get_shape_by_id` -> `RSHAPE`Jean Boussier
2025-05-08Refactor OBJ_TOO_COMPLEX_SHAPE_ID to not be referenced outside shape.hJean Boussier
2025-05-08Rename `ivptr` -> `fields`, `next_iv_index` -> `next_field_index`Jean Boussier
2025-05-05YJIT: End the block after OPTIMIZE_METHOD_TYPE_CALL (#13245)Takashi Kokubun
2025-04-25Inline Class#new.Aaron Patterson
2025-01-30YJIT: Explicitly specify C ABI to fix a nightly Rust warningAlan Wu
2025-01-28YJIT: Initialize locals in ISeqs defined with `...` (#12660)Alan Wu
2025-01-10YJIT: Rename send_iseq_forwarding->send_forwardingAlan Wu
2025-01-08YJIT: Filter `&` calls from specialized C method codegenAlan Wu
2025-01-04YJIT: Fix crash when yielding keyword argumentsAlan Wu
2024-12-17YJIT: Load registers on JIT entry to reuse blocks (#12355)Takashi Kokubun
2024-12-13YJIT: Speculate block arg for `c_func_method(&nil)` calls (#12326)Alan Wu
2024-12-09YJIT: Add a comment about a lazy frame callTakashi Kokubun
2024-12-09YJIT: Spill/load argument registers to reuse blocks (#12287)Takashi Kokubun
2024-12-04YJIT: Generate specialized code for Symbol for objtostring (#12247)Maximillian Polhill
2024-11-29YJIT: Avoid std::ffi::CString with rb_intern2() during bootAlan Wu
2024-11-28YJIT: Add missing prepare before calling str_dupJohn Hawthorn
2024-11-26YJIT: Implement opt_reverse insn (#12175)Randy Stauner
2024-11-26Optimize instructions when creating an array just to call `include?` (#12123)Randy Stauner
2024-11-20YJIT: Refactor to forward jump_to_next_insn() return valueAlan Wu
2024-11-20YJIT: Abandon block when gen_outlined_exit() failsAlan Wu
2024-11-14YJIT: Specialize String#dup (#12090)Takashi Kokubun
2024-11-14YJIT: Specialize Integer#pred (#12082)Takashi Kokubun
2024-11-13YJIT: Specialize `String#[]` (`String#slice`) with fixnum arguments (#12069)Randy Stauner
2024-11-11Fix false-positive memory leak using Valgrind in YJIT (#12057)Peter Zhu
2024-11-08YJIT: Always abandon the block when gen_branch() or defer_compilation() failsAlan Wu
2024-10-23YJIT: Check when gen_branch() failsAlan Wu
2024-10-22Rewrite Numeric#dup and Numeric#+@ in Ruby (#11933)Takashi Kokubun
2024-10-22YJIT: Implement specialization for no-op `{Kernel,Numeric}#dup`Alan Wu
2024-10-21YJIT: Rename method substitution functions and improve docs (+1) (#11919)Alan Wu
2024-10-18YJIT: Allow shareable consts in multi-ractor mode (#11917)John Hawthorn
2024-10-17YJIT: In stats, group by resolved C method nameAlan Wu
2024-10-17YJIT: Add compilation log (#11818)Kevin Menard
2024-10-08YJIT: Fastpath for Module#name (#11819)Alan Wu
2024-10-07YJIT: Add --yjit-mem-size option (#11810)Takashi Kokubun
2024-09-30Return an Iterator Instead of a Vector in `addrs_to_pages` Method (#11725)whtsht
2024-09-05Optimized instruction for Hash#freezeÉtienne Barrié
2024-09-05Optimized instruction for Array#freezeÉtienne Barrié