Currently, fiber stacks are marked separately from the rest of the
execution context. The fiber code deliberately does NOT set
ec->machine.stack_end on the saved EC, so that the code in rb_execution_context_mark does not mark it; instead, the stack marking
is done in cont_mark.
Instead, we can set ec->machine.stack_end, and skip out on doing the
stack marking separately in cont_mark; that way, all machine stack
marking shares the same code (which does the nescessary ASAN things).
Mark fiber stacks in rb_execution_context_mark
Currently, fiber stacks are marked separately from the rest of the
execution context. The fiber code deliberately does NOT set
ec->machine.stack_end on the saved EC, so that the code in
rb_execution_context_mark
does not mark it; instead, the stack markingis done in
cont_mark
.Instead, we can set ec->machine.stack_end, and skip out on doing the
stack marking separately in
cont_mark
; that way, all machine stackmarking shares the same code (which does the nescessary ASAN things).
[Bug #20310]