summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
authorAlan Wu <XrXr@users.noreply.github.com>2025-03-10 22:37:44 -0400
committerAlan Wu <XrXr@users.noreply.github.com>2025-03-12 15:00:26 -0400
commit08b3a45bc97c835b4677bf76dbce68fd51d81897 (patch)
tree6ed517372f764d8cf9da9212b5428307b8471e73 /spec
parent9b9661883b1e2cc85b1341d804b106885432d2bd (diff)
Push a real iseq in rb_vm_push_frame_fname()
Previously, vm_make_env_each() (used during proc creation and for the debug inspector C API) picked up the non-GC-allocated iseq that rb_vm_push_frame_fname() creates, which led to a SEGV when the GC tried to mark the non GC object. Put a real iseq imemo instead. Speed should be about the same since the old code also did a imemo allocation and a malloc allocation. Real iseq allows ironing out the special-casing of dummy frames in rb_execution_context_mark() and rb_execution_context_update(). A check is added to RubyVM::ISeq#eval, though, to stop attempts to run dummy iseqs. [Bug #21180] Co-authored-by: Aaron Patterson <tenderlove@ruby-lang.org>
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/12898
Diffstat (limited to 'spec')
0 files changed, 0 insertions, 0 deletions