|
Ruby
2.7.2p137(2020-10-01revision5445e0435260b449decf2ac16f9d09bae3cafe72)
|
#include <assert.h>#include <stddef.h>#include <setjmp.h>#include <string.h>#include <stdlib.h>#include <alloca.h>Go to the source code of this file.
Data Structures | |
| struct | coroutine_context |
Macros | |
| #define | COROUTINE __attribute__((noreturn)) void |
| #define | COROUTINE_LIMITED_ADDRESS_SPACE |
| #define | COROUTINE_PRIVATE_STACK |
Typedefs | |
| typedef COROUTINE(* | coroutine_start) (struct coroutine_context *from, struct coroutine_context *self) |
Functions | |
| int | coroutine_save_stack (struct coroutine_context *context) |
| COROUTINE | coroutine_restore_stack (struct coroutine_context *context) |
| struct coroutine_context * | coroutine_transfer (struct coroutine_context *current, register struct coroutine_context *target) |
| #define COROUTINE __attribute__((noreturn)) void |
| typedef COROUTINE(* coroutine_start) (struct coroutine_context *from, struct coroutine_context *self) |
| COROUTINE coroutine_restore_stack | ( | struct coroutine_context * | context | ) |
Referenced by coroutine_transfer().
| int coroutine_save_stack | ( | struct coroutine_context * | context | ) |
Definition at line 38 of file Context.c.
References assert, coroutine_context::base, coroutine_context::stack, and coroutine_context::stack_pointer.
Referenced by coroutine_transfer().
| struct coroutine_context* coroutine_transfer | ( | struct coroutine_context * | current, |
| register struct coroutine_context * | target | ||
| ) |