1#ifndef RUBY_TRANSIENT_HEAP_H
2#define RUBY_TRANSIENT_HEAP_H
21void *rb_transient_heap_alloc(VALUE obj,
size_t req_size);
26void rb_transient_heap_mark(VALUE obj,
const void *ptr);
29void rb_transient_heap_promote(VALUE obj);
30void rb_transient_heap_start_marking(
int full_marking);
31void rb_transient_heap_finish_marking(
void);
32void rb_transient_heap_update_references(
void);
35void rb_transient_heap_evacuate(
void);
38void rb_transient_heap_dump(
void);
39void rb_transient_heap_verify(
void);
40int rb_transient_heap_managed_ptr_p(
const void *ptr);
43void rb_ary_transient_heap_evacuate(VALUE ary,
int promote);
44void rb_obj_transient_heap_evacuate(VALUE obj,
int promote);
45void rb_hash_transient_heap_evacuate(VALUE hash,
int promote);
46void rb_struct_transient_heap_evacuate(VALUE st,
int promote);
50#define rb_transient_heap_alloc(o, s) NULL
51#define rb_transient_heap_verify() ((void)0)
52#define rb_transient_heap_promote(obj) ((void)0)
53#define rb_transient_heap_start_marking(full_marking) ((void)0)
54#define rb_transient_heap_update_references() ((void)0)
55#define rb_transient_heap_evacuate() ((void)0)
56#define rb_transient_heap_finish_marking() ((void)0)
57#define rb_transient_heap_mark(obj, ptr) ((void)0)
59#define rb_ary_transient_heap_evacuate(x, y) ((void)0)
60#define rb_obj_transient_heap_evacuate(x, y) ((void)0)
61#define rb_hash_transient_heap_evacuate(x, y) ((void)0)
62#define rb_struct_transient_heap_evacuate(x, y) ((void)0)