Ruby: coroutine/amd64/Context.h File Reference

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

Data Structures | Macros | Typedefs | Enumerations | Functions
Context.h File Reference
`#include <assert.h>`
`#include <stddef.h>`
`#include <stdint.h>`
`#include <string.h>`

Go to the source code of this file.

## Data Structures
struct | coroutine_context

## Macros
#define | COROUTINE __attribute__((noreturn)) void

## Typedefs
typedef COROUTINE(* | coroutine_start) (struct coroutine_context *from, struct coroutine_context *self)

## Enumerations
enum | { COROUTINE_REGISTERS = 6 }

## Functions
struct coroutine_context * | coroutine_transfer (struct coroutine_context *current, struct coroutine_context *target)

## Macro Definition Documentation

## ◆ COROUTINE

#define COROUTINE __attribute__((noreturn)) void

Definition at line 15 of file Context.h.

## Typedef Documentation

## ◆ coroutine_start

typedef COROUTINE(* coroutine_start) (struct coroutine_context *from, struct coroutine_context *self)

Definition at line 24 of file Context.h.

## Enumeration Type Documentation

## ◆ anonymous enum

anonymous enum

Enumerator
COROUTINE_REGISTERS |

Definition at line 17 of file Context.h.

## Function Documentation

## ◆ coroutine_transfer()

struct coroutine_context * coroutine_transfer | ( | struct coroutine_context * | current,
|  | struct coroutine_context * | target
| ) |  |

Definition at line 136 of file Context.c.

References assert, coroutine_context::base, coroutine_restore_stack(), coroutine_save_stack(), coroutine_context::from, and coroutine_context::stack.