diff options
Diffstat (limited to 'proc.c')
-rw-r--r-- | proc.c | 8 |
1 files changed, 8 insertions, 0 deletions
@@ -21,6 +21,7 @@ #include "method.h" #include "iseq.h" #include "vm_core.h" +#include "yjit.h" #if !defined(__GNUC__) || __GNUC__ < 5 || defined(__MINGW32__) # define NO_CLOBBERED(v) (*(volatile VALUE *)&(v)) @@ -346,6 +347,9 @@ rb_binding_alloc(VALUE klass) VALUE obj; rb_binding_t *bind; obj = TypedData_Make_Struct(klass, rb_binding_t, &ruby_binding_data_type, bind); +#if RUBY_DEBUG + rb_yjit_collect_binding_alloc(); +#endif return obj; } @@ -610,6 +614,10 @@ bind_local_variable_set(VALUE bindval, VALUE sym, VALUE val) env = VM_ENV_ENVVAL_PTR(vm_block_ep(&bind->block)); } +#if RUBY_DEBUG + rb_yjit_collect_binding_set(); +#endif + RB_OBJ_WRITE(env, ptr, val); return val; |