Project

General

Profile

Feature #21539 » exported.patch

base - simple export results in material machine code changes - dalehamel (Dale Hamel), 10/15/2026 12:25 PM

View differences:

vm.c
VALUE rb_str_concat_literals(size_t, const VALUE*);
VALUE vm_exec(rb_execution_context_t *);
RUBY_FUNC_EXPORTED VALUE vm_exec(rb_execution_context_t *);
extern const char *const rb_debug_counter_names[];
......
bool ruby_vm_keep_script_lines;
#ifdef RB_THREAD_LOCAL_SPECIFIER
RUBY_SYMBOL_EXPORT_BEGIN
RB_THREAD_LOCAL_SPECIFIER rb_execution_context_t *ruby_current_ec;
RUBY_SYMBOL_EXPORT_END
#ifdef RUBY_NT_SERIAL
RB_THREAD_LOCAL_SPECIFIER rb_atomic_t ruby_nt_serial;
-- a/thread_pthread.h
++ b/thread_pthread.h
......
# ifdef RB_THREAD_CURRENT_EC_NOINLINE
NOINLINE(struct rb_execution_context_struct *rb_current_ec(void));
# else
RUBY_SYMBOL_EXPORT_BEGIN
RUBY_EXTERN RB_THREAD_LOCAL_SPECIFIER struct rb_execution_context_struct *ruby_current_ec;
RUBY_SYMBOL_EXPORT_END
// for RUBY_DEBUG_LOG()
RUBY_EXTERN RB_THREAD_LOCAL_SPECIFIER rb_atomic_t ruby_nt_serial;
-- a/symbol.c
++ b/symbol.c
......
VALUE ids;
} rb_symbols_t;
RUBY_SYMBOL_EXPORT_BEGIN
rb_symbols_t ruby_global_symbols = {
.next_id = tNEXT_ID,
};
RUBY_SYMBOL_EXPORT_END
struct sym_set_static_sym_entry {
VALUE sym;
(2-2/2)