summaryrefslogtreecommitdiff
path: root/proc.c
diff options
context:
space:
mode:
Diffstat (limited to 'proc.c')
-rw-r--r--proc.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/proc.c b/proc.c
index e09aeca223..99b522d95f 100644
--- a/proc.c
+++ b/proc.c
@@ -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;