diff options
| author | nagachika <nagachika@ruby-lang.org> | 2025-03-16 18:52:56 +0900 |
|---|---|---|
| committer | nagachika <nagachika@ruby-lang.org> | 2025-03-16 18:52:56 +0900 |
| commit | 2b2ab1a67c236eb0c47e63e8adcf877b0d20a38c (patch) | |
| tree | c88d8866b52ba6a4c3d7e2d71a27b80c9aa0bb4a /include/ruby/debug.h | |
| parent | d213eb7f453fa0bd6c476826c450d9726c3c8b15 (diff) | |
merge revision(s) 08b3a45bc97c835b4677bf76dbce68fd51d81897: [Backport #21180]
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>
Diffstat (limited to 'include/ruby/debug.h')
0 files changed, 0 insertions, 0 deletions
