summaryrefslogtreecommitdiff
path: root/vm_core.h
diff options
context:
space:
mode:
authorKoichi Sasada <ko1@atdot.net>2023-02-10 16:02:20 +0900
committerKoichi Sasada <ko1@atdot.net>2023-02-10 17:55:25 +0900
commitbe94808282e50d3ecaa1392ffc38c9ec89e3438b (patch)
treef1e98d44d7743ce8785ac257282ba8082f831bd5 /vm_core.h
parent38ecf08ba16b7e8946ac414f4f8c7ee155b34083 (diff)
use correct svar even if env is escaped
This patch is follo-up of 0a82bfe. Without this patch, if env is escaped (Proc'ed), strange svar can be touched. This patch tracks escaped env and use it.
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/7282
Diffstat (limited to 'vm_core.h')
-rw-r--r--vm_core.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/vm_core.h b/vm_core.h
index e07b49077a..9d7c54b4d1 100644
--- a/vm_core.h
+++ b/vm_core.h
@@ -1768,6 +1768,7 @@ rb_vm_living_threads_init(rb_vm_t *vm)
typedef int rb_backtrace_iter_func(void *, VALUE, int, VALUE);
rb_control_frame_t *rb_vm_get_ruby_level_next_cfp(const rb_execution_context_t *ec, const rb_control_frame_t *cfp);
rb_control_frame_t *rb_vm_get_binding_creatable_next_cfp(const rb_execution_context_t *ec, const rb_control_frame_t *cfp);
+VALUE *rb_vm_svar_lep(const rb_execution_context_t *ec, const rb_control_frame_t *cfp);
int rb_vm_get_sourceline(const rb_control_frame_t *);
void rb_vm_stack_to_heap(rb_execution_context_t *ec);
void ruby_thread_init_stack(rb_thread_t *th);