Ruby: coroutine/Stack.h Source File

Ruby 3.0.5p211 (2022-11-24 revision ba5cf0f7c52d4d35cc6a173c89eda98ceffa2dcf)

Stack.h
Go to the documentation of this file.
1/*
2 * This file is part of the "Coroutine" project and released under the MIT License.
3 *
4 * Created by Samuel Williams on 10/11/2020.
5 * Copyright, 2020, by Samuel Williams.
6*/
7
8#include COROUTINE_H
9
10#ifdef COROUTINE_PRIVATE_STACK
11#define COROUTINE_STACK_LOCAL(type, name) type *name = ruby_xmalloc(sizeof(type))
12#define COROUTINE_STACK_FREE(name) ruby_xfree(name)
13#else
14#define COROUTINE_STACK_LOCAL(type, name) type name##_local; type * name = &name##_local
15#define COROUTINE_STACK_FREE(name)
16#endif