pub(crate) fn deallocate(&mut self) {
        if self.0.is_null() {
            return;
        }
        STACK_STORE.with(|s| s.borrow_mut().push(*self));
        self.0 = std::ptr::null_mut();
    }
Deallocate `Stack`.

Currently, when a Fiber object was disposed by GC, associated `Stack` is returned
to `STACK_STORE`.
ruruby/src/coroutine/stack.rs