Ruby: include/ruby/internal/gc.h Source File

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

gc.h
Go to the documentation of this file.
1#ifndef RBIMPL_GC_H /*-*-C++-*-vi:se ft=cpp:*/
2#define RBIMPL_GC_H
23#include "ruby/internal/dllexport.h"
24#include "ruby/internal/value.h"
25
26 RBIMPL_SYMBOL_EXPORT_BEGIN()
27
28
34void rb_gc_register_address(VALUE *valptr);
35
39void rb_global_variable(VALUE *);
40
45void rb_gc_unregister_address(VALUE *valptr);
46
53void rb_gc_register_mark_object(VALUE object);
54
55 RBIMPL_SYMBOL_EXPORT_END()
56
57#endif /* RBIMPL_GC_H */
dllexport.h
Tewaking visibility of C variables/functions.
RBIMPL_SYMBOL_EXPORT_END
#define RBIMPL_SYMBOL_EXPORT_END()
Counterpart of RBIMPL_SYMBOL_EXPORT_BEGIN.
Definition: dllexport.h:86
RBIMPL_SYMBOL_EXPORT_BEGIN
#define RBIMPL_SYMBOL_EXPORT_BEGIN()
Shortcut macro equivalent to RUBY_SYMBOL_EXPORT_BEGIN extern "C" {.
Definition: dllexport.h:77
rb_gc_register_address
void rb_gc_register_address(VALUE *valptr)
Inform the garbage collector that valptr points to a live Ruby object that should not be moved.
Definition: gc.c:8040
rb_gc_unregister_address
void rb_gc_unregister_address(VALUE *valptr)
Inform the garbage collector that a pointer previously passed to rb_gc_register_address() no longer p...
Definition: gc.c:8052
rb_gc_register_mark_object
void rb_gc_register_mark_object(VALUE object)
Inform the garbage collector that object is a live Ruby object that should not be moved.
Definition: gc.c:8022
rb_global_variable
Definition: variable.c:320
value.h
Defines VALUE and ID.
VALUE
unsigned long VALUE
Definition: value.h:38