Ruby: include/ruby/vm.h Source File

Ruby 3.4.6p54 (2025-09-16 revision dbd83256b1cec76c69756ecb8758b9e1079833de)

vm.h
Go to the documentation of this file.
1#ifndef RUBY_VM_H /*-*-C++-*-vi:se ft=cpp:*/
2#define RUBY_VM_H 1
17#include "ruby/internal/dllexport.h"
18
19 RBIMPL_SYMBOL_EXPORT_BEGIN()
20
21
25typedef struct rb_vm_struct ruby_vm_t;
26
32int ruby_vm_destruct(ruby_vm_t *vm);
33
50void ruby_vm_at_exit(void(*func)(ruby_vm_t *));
51
57bool ruby_free_at_exit_p(void);
58
59 RBIMPL_SYMBOL_EXPORT_END()
60
61#endif /* RUBY_VM_H */
dllexport.h
Tweaking visibility of C variables/functions.
RBIMPL_SYMBOL_EXPORT_END
#define RBIMPL_SYMBOL_EXPORT_END()
Counterpart of RBIMPL_SYMBOL_EXPORT_BEGIN.
Definition dllexport.h:74
RBIMPL_SYMBOL_EXPORT_BEGIN
#define RBIMPL_SYMBOL_EXPORT_BEGIN()
Shortcut macro equivalent to RUBY_SYMBOL_EXPORT_BEGIN extern "C" {.
Definition dllexport.h:65
ruby_vm_at_exit
void ruby_vm_at_exit(void(*func)(ruby_vm_t *))
ruby_vm_at_exit registers a function func to be invoked when a VM passed away.
Definition vm.c:878
ruby_vm_destruct
int ruby_vm_destruct(ruby_vm_t *vm)
Destructs the passed VM.
Definition vm.c:3074
ruby_vm_t
struct rb_vm_struct ruby_vm_t
The opaque struct to hold VM internals.
Definition vm.h:25
rb_vm_struct
Definition vm_core.h:666