summaryrefslogtreecommitdiff
path: root/ext/-test-
diff options
context:
space:
mode:
authorAaron Patterson <tenderlove@ruby-lang.org>2020-09-17 09:43:32 -0700
committerAaron Patterson <tenderlove@ruby-lang.org>2020-10-16 11:28:52 -0700
commitff9dc109665e515da8b544a55085bb793063adf1 (patch)
treecf8ce7dd132761aeb4e0c4ca178e4b3a24f431c8 /ext/-test-
parent26e8db6b93019369b7fbb66bdd3bcf0decbbb8eb (diff)
keep proc on the stack so it does not move
Diffstat (limited to 'ext/-test-')
-rw-r--r--ext/-test-/tracepoint/gc_hook.c3
1 files changed, 0 insertions, 3 deletions
diff --git a/ext/-test-/tracepoint/gc_hook.c b/ext/-test-/tracepoint/gc_hook.c
index 54b469dcad..5fd46fa518 100644
--- a/ext/-test-/tracepoint/gc_hook.c
+++ b/ext/-test-/tracepoint/gc_hook.c
@@ -42,14 +42,12 @@ set_gc_hook(VALUE module, VALUE proc, rb_event_flag_t event, const char *tp_str,
{
VALUE tpval;
ID tp_key = rb_intern(tp_str);
- ID proc_key = rb_intern(proc_str);
/* disable previous keys */
if (rb_ivar_defined(module, tp_key) != 0 &&
RTEST(tpval = rb_ivar_get(module, tp_key))) {
rb_tracepoint_disable(tpval);
rb_ivar_set(module, tp_key, Qnil);
- rb_ivar_set(module, proc_key, Qnil);
}
if (RTEST(proc)) {
@@ -59,7 +57,6 @@ set_gc_hook(VALUE module, VALUE proc, rb_event_flag_t event, const char *tp_str,
tpval = rb_tracepoint_new(0, event, gc_start_end_i, (void *)proc);
rb_ivar_set(module, tp_key, tpval);
- rb_ivar_set(module, proc_key, proc); /* GC guard */
rb_tracepoint_enable(tpval);
}