From: normalperson@... Date: 2018-12-14T21:32:17+00:00 Subject: [ruby-core:90533] [Ruby trunk Feature#15413] unmarkable C stack (3rd stack) Issue #15413 has been reported by normalperson (Eric Wong). ---------------------------------------- Feature #15413: unmarkable C stack (3rd stack) https://bugs.ruby-lang.org/issues/15413 * Author: normalperson (Eric Wong) * Status: Open * Priority: Normal * Assignee: * Target version: ---------------------------------------- The current machine (C) stack can get pretty big for some C functions (rb_ensure, rb_f_select/rb_thread_fd_select/...). This is harmful when we stop a fiber/thread and all that stack becomes eligible for marking. We should experiment a bump allocator for temporary allocations which behaves like the stack, but does not get marked by GC. VALUEs will continue to be allocated on normal C stack, but non-VALUE stuff can go to the unmarkable machine stack. Maybe we call it "UMMS" for Un-Markable Machine Stack We cannot remove marking of the current C stack for compatibility; but we can transition existing C code to use UMMS. I probably won't be around to work on it for 2.7, unfortunately. -- https://bugs.ruby-lang.org/ Unsubscribe: