summaryrefslogtreecommitdiff
path: root/internal
diff options
context:
space:
mode:
authorAaron Patterson <tenderlove@ruby-lang.org>2020-05-07 10:07:57 -0700
committerAaron Patterson <tenderlove@ruby-lang.org>2020-05-07 11:42:39 -0700
commitff4f9cf95d73cc2730949df583bf0e41702d7aae (patch)
tree42101ad25cc3eb8d91ddc21162262812c41dc7b3 /internal
parent7ded8fd29a9dc5c481cadff7e94079009bce9e6c (diff)
Allow global variables to move
This patch allows global variables that have been assigned in Ruby to move. I added a new function for the GC to call that will update global references and introduced a new callback in the global variable struct for updating references. Only pure Ruby global variables are supported right now, other references will be pinned.
Diffstat (limited to 'internal')
-rw-r--r--internal/variable.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/internal/variable.h b/internal/variable.h
index a3b8f7963d..8defc1523c 100644
--- a/internal/variable.h
+++ b/internal/variable.h
@@ -28,6 +28,7 @@ struct rb_global_entry {
/* variable.c */
void rb_gc_mark_global_tbl(void);
+void rb_gc_update_global_tbl(void);
size_t rb_generic_ivar_memsize(VALUE);
VALUE rb_search_class_path(VALUE);
VALUE rb_attr_delete(VALUE, ID);