The transmute triggered a miscompilation on Rust 1.85.0, where the callback was "optimized" to unconditional go to a `SIGTRAP`ping instruction. While later Rust versions don't have the same miscompilation, it seems that this is also par...alanwu (Alan Wu)
Despite adding rb_ec_stack_check() to Rust code entry points, we've seen SystemStackError causing test failures due to debug builds consume too much native stack space. Let's use opt-level=1 so rustc/LLVM are more efficient with stack sp...alanwu (Alan Wu)
This reverts commit 77b803cfc833233a49b497a9342f16c9237833e6. There is a new NULL dereference in tool/test/testunit/test_sorting.rb that seem to have started with this commit.alanwu (Alan Wu)
T_DATA, T_MODULE, and T_CLASS objects can share the exact same shape. The shape on these objects give an index off of the fields array to get at the ivar. When two objects share the same shape, but differ in the T_* builtin type, however...alanwu (Alan Wu)
This gets rid of the copying of the entire opt_table in function_stub_hit() since it only reads one element. HIR builder still does a copy and that's unchanged. It needs to read the whole table.alanwu (Alan Wu)
When a SendDirect lands in a callee that fails to compile, we need to reconstruct the interpreter state at the entry point of the callee in function_stub_hit(). SendDirect never leaves gaps in its args Vec, and consequently, it contains...alanwu (Alan Wu)
This reverts commit 1596853428393136ee9964ad4c11b0120ed648d1. Expressions that run when the local is not given can observe the initial state of the optional parameter locals.alanwu (Alan Wu)
Instead of globally disabling NoSingletonClass optimization for a class once any singleton class has been seen, track invalidations per-ISEQ. When an ISEQ's NoSingletonClass patchpoint is invalidated, set a flag on its payload so only th...alanwu (Alan Wu)