Ruby 4.1.0dev (2026-08-07 revision 3acc47d282230b3999b808578b8159c989953940)
zjit_fastpath.h
1#ifndef RUBY_GC_MMTK_ZJIT_FASTPATH_H
2#define RUBY_GC_MMTK_ZJIT_FASTPATH_H
3
4#include <stddef.h>
5#include <stdint.h>
6
7#include "gc/gc_impl.h"
9#include "ruby/ruby.h"
10
12 const void *objspace;
13 size_t objspace_total_allocated_objects_offset;
14 size_t ractor_cache_mutator_offset;
15 size_t ractor_cache_bump_pointer_offset;
16 size_t ractor_cache_obj_free_parallel_buf_offset;
17 size_t ractor_cache_obj_free_parallel_count_offset;
18 size_t bump_pointer_cursor_offset;
19 size_t bump_pointer_limit_offset;
20 size_t min_obj_align;
21 size_t payload_size;
22 size_t total_alloc_size;
23 uint32_t allocation_semantics_default;
24 uintptr_t gc_stress_p_func;
25 uintptr_t newobj_tracing_p_func;
26 uintptr_t post_alloc_func;
27 size_t obj_free_buf_capacity_minus_one;
28 size_t value_size_shift;
29 VALUE flags;
30 VALUE klass;
31};
32
33RBIMPL_STATIC_ASSERT(zjit_mmtk_fastpath_fits,
34 sizeof(struct rb_gc_zjit_mmtk_new_obj_fastpath) <= sizeof(union rb_gc_zjit_fastpath_data));
35
36#endif /* RUBY_GC_MMTK_ZJIT_FASTPATH_H */
Defines RBIMPL_STATIC_ASSERT.
#define RBIMPL_STATIC_ASSERT
Wraps (or simulates) static_assert
uintptr_t VALUE
Type that represents a Ruby object.
Definition value.h:40