Kevin Menard

Hash Date Message
9a8f6e392fbd9c145566ae18fa2128ef96369430 2022-07-26 Cheaply derive code range for String#b return value
8e13e705f9053ae2162ce51168e17e715a8ebcdd 2023-03-03 [ruby/irb] Remove no longer necessary TruffleRuby test exclusions. (https://github.com/ruby/irb/pull/527)
2a509787cb8869301b614139218432aef9b68f9b 2024-01-24 [ruby/prism] Track whether a Symbol should have its encoding changed from the source encoding.
82fb6a90d5cf5081df11ebed6cfc623159f72676 2024-02-08 [ruby/prism] Track both the unescaped bytes and source string for a regular expression so we can accurately set its encoding flags.
d473256abe51dee41ae5b3c877c5773a9b65ee86 2024-02-13 [ruby/prism] Extract a magic value to a named constant.
4e1d19c4579f67c66b2ce4f6cc816b53294306cb 2024-02-16 [ruby/prism] Add initial implementation of `Regexp` validation.
afc7799c3271aab7792c178ab9aee15b87468341 2024-04-24 YJIT: Add a specialized codegen function for `Class#superclass`. (#10613)
27e13fbc58b02bc027de9c51c8963f57276ac7c1 2024-06-10 Add a fast path implementation for appending single byte values to binary strings.
a119b5f8793b2bf0c9f970d9f0cf16e6f33ee7c3 2024-06-11 Add a fast path implementation for appending single byte values to US-ASCII strings.
91bbb7831301f405c56b5de1bd9e7a79f4d302b5 2024-06-17 YJIT: Fix an unused field warning in `DumpDisasm`.
3407565d2ff5cc1f67e7efe2f8d31714f4d72970 2024-07-02 YJIT: Use a special breakpoint address if one isn't explicitly supplied in order to support natural line stepping. (#11083)
04a6165ac07f8f2107fbbd3a5665944fb27bc092 2024-08-02 YJIT: Enhance the `String#<<` method substitution to handle integer codepoint values. (#11032)
158b8cb52ec58c8ef8f5241a9db1c6dea4285253 2024-10-17 YJIT: Add compilation log (#11818)
604fc059618b8f1f94b19efa51d468d827a766d1 2025-11-13 ZJIT: Rename array length reference to make the code easier to follow
b06dd644da0ae87f33649ade6fc827a301b55b0c 2025-11-14 ZJIT: Compile the VM_OPT_NEWARRAY_SEND_HASH variant of opt_newarray_send
7d2f9ab9e1992dded620fe221421c9c247dcd408 2025-11-17 ZJIT: Handle display formatting for all defined bops
36f1ab967f4b837dfb9856e1c29dd7ebeed8c3d3 2025-11-20 ZJIT: Add tests for `opt_newarray_send` with target methods redefined
447989e5980510b0bcde34c58363b425c0e78224 2025-11-20 ZJIT: Update test names to use the same convention as the HIR tests
fb28d4748dc96d581592b0d4c186ca0a8d49fa26 2025-11-20 ZJIT: Change the output on redefined method tests to verify the new definition is used
4a21b83693fdc0e976da209047ba286b2f4084e5 2026-01-15 ZJIT: Optimize common `invokesuper` cases (#15816)
cfa97af7e1426c76b769495ef4b1689be3b0a685 2026-01-21 ZJIT: Introduce `GetLEP` HIR instruction (#15917)
6c2ecb231a90eee2a6d2a50164e44a185b52dfe9 2026-01-22 ZJIT: Use `TypeDistribution` to track stats about the `super` CME (#15928)
5fec5456b9cd9dd7fdea18ac9c43b1cf6d4cf4cb 2026-01-29 ZJIT: Optimize `super` calls to C function targets (#15993)
ac57159ca63b6e6ad24a2d44cb4eb3c1e537e4c7 2026-02-26 ZJIT: Don't attempt to disassemble code when there's a compilation error (GH-16251)
c25d561c1c11a88c470c349d70638fb3348840c2 2026-04-23 ZJIT: Add a YarvInsnIdx type for clarity (#16783)
7d4941d3e1c5721a551eeb1d7410e3ead4a6b432 2026-04-23 ZJIT: Remove `JITState#iseq` (#16774)
9f24ba51b2892ac2a9313d9d081c8a7f1e8060a5 2026-04-29 ZJIT: Specialize direct sends to methods with post-required positional parameters
070ebb3f0e302233be2f434e6c69114ffb96d06e 2026-05-05 ZJIT: Skip redundant patch point rewrites on no-EP-escape invalidation
a2433947b767b7387bd70c71221df4e22f38985e 2026-06-05 ZJIT: Avoid type checker mismatch when forwarding `LoadField` (GH-17185)
69f4c018f9102f17ba8d134a2bef1969ff83fdbd 2026-06-13 ZJIT: Add method inliner (#16966)
ed0465a8a94f0f7c844f5c0b1c9e9a345cab0982 2026-06-16 ZJIT: Fix and improve the inliner codegen tests (#17365)
4fa03be87a44eada86b30fb888d6066b9abefd71 2026-06-18 ZJIT: Support inlining methods that dispatch to blocks (GH-17376)
e9e7f9b6b9937641b0d7f1c04c483c1cb1e8664a 2026-06-22 ZJIT: Add quick checks to bail out of inlining early (#17432)
5d1a0239de4934cb38b0f7507783d43f0da4ab26 2026-06-25 ZJIT: Ensure we specialize the results of the last inlining operation (#17479)
1cd2c5db5f955b9d7b452f4a91bc13019568331f 2026-06-26 ZJIT: Replace guards we know can't pass with an unconditional side-exit
02365e1736904c0dffc2acc19c6bf0671a90bf3f 2026-06-26 ZJIT: Assert we never try to get the byte size of an `Empty` value
7b564e9fcdfd62377490770fcaefd6ed594edd51 2026-06-25 ZJIT: Fix issue with InsnPrinter having the wrong ISEQ with inlining enabled
594d14de2665dc12f9f8fcbf4d572e562ed886e3 2026-06-25 ZJIT: Enable the inliner by default
7c176daccf304d2db8f16f530ff527af40a8be9f 2026-06-25 ZJIT: Run CI jobs with both the inliner enabled an disabled
c8bb342c97883d9499845b5f145a92c0e480eb7e 2026-07-06 ZJIT: Bump the `--zjit-max-versions` default to 4 (#17562)
ec4e96f6188d96740fae799599bbe262a6edd85e 2026-06-23 ZJIT: Remove the unused `num_returns` field from `AddIseqResult`
acc3586f5b44f65bfd75cc26d2ad41e3ac64a954 2026-06-23 ZJIT: Inline only the callee's selected JIT-entry block
67ee051dbca4cb1b027b7f235e3b21c9c48f5dfa 2026-07-14 ZJIT: Avoid cloning instructions while scanning for inline candidates (#17858)
024f201f765f64f75ff9d2a65dbb79a459b8e3d6 2026-07-22 Avoid a direct function-to-integer cast in a ZJIT test. (#18014)