summaryrefslogtreecommitdiff
path: root/transient_heap.h
diff options
context:
space:
mode:
authorKoichi Sasada <ko1@atdot.net>2020-12-05 06:15:17 +0900
committerKoichi Sasada <ko1@atdot.net>2020-12-07 08:28:36 +0900
commit307732ccee7f9f28f8422bab2f839da021d8cdec (patch)
treef39ec33d41cbcbaf07bcc1a8d34dc3047357ca6e /transient_heap.h
parentb67b24d0f5e78481e6a306881b6858f0dec996ba (diff)
cancel theap on multi-ractors
accessing theap needs complicating synchronization but it reduce performance on multi-ractor mode. So simply stop using theap on multi-ractor mode. In future, theap should be replaced with more cleaver memory strategy.
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/3842
Diffstat (limited to 'transient_heap.h')
-rw-r--r--transient_heap.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/transient_heap.h b/transient_heap.h
index 363e7a2da2..4ac52aad07 100644
--- a/transient_heap.h
+++ b/transient_heap.h
@@ -31,6 +31,9 @@ void rb_transient_heap_start_marking(int full_marking);
void rb_transient_heap_finish_marking(void);
void rb_transient_heap_update_references(void);
+/* used by ractor.c */
+void rb_transient_heap_evacuate(void);
+
/* for debug API */
void rb_transient_heap_dump(void);
void rb_transient_heap_verify(void);
@@ -49,6 +52,7 @@ void rb_struct_transient_heap_evacuate(VALUE st, int promote);
#define rb_transient_heap_promote(obj) ((void)0)
#define rb_transient_heap_start_marking(full_marking) ((void)0)
#define rb_transient_heap_update_references() ((void)0)
+#define rb_transient_heap_evacuate() ((void)0)
#define rb_transient_heap_finish_marking() ((void)0)
#define rb_transient_heap_mark(obj, ptr) ((void)0)