Ruby 2.7.0p0(2019-12-25revision647ee6f091eafcce70ffb75ddf7e121e192ab217)

Macros | Functions
Context.c File Reference
`#include "Context.h"`

Go to the source code of this file.

## Macros
#define | __asm__ asm

## Functions
int | coroutine_save_stack (struct coroutine_context *context)
| __attribute__ ((noreturn, noinline))
| __attribute__ ((noreturn))
struct coroutine_context * | coroutine_transfer (struct coroutine_context *current, struct coroutine_context *target)

## Macro Definition Documentation

## ◆ __asm__

#define __asm__ asm

Definition at line 12 of file Context.c.

## Function Documentation

## ◆ __attribute__() [1/2]

__attribute__ | ( | (noreturn) |  | ) |

Definition at line 95 of file Context.c.

References coroutine_context::base, NULL, coroutine_context::stack_pointer, and coroutine_context::used.

## ◆ __attribute__() [2/2]

__attribute__ | ( | (noreturn, noinline) |  | ) |

Definition at line 66 of file Context.c.

References _longjmp(), assert, coroutine_context::base, memcpy(), coroutine_context::stack, coroutine_context::stack_pointer, coroutine_context::state, top, and coroutine_context::used.

## ◆ coroutine_save_stack()

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().

## ◆ coroutine_transfer()

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

Definition at line 115 of file Context.c.

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