diff options
author | Alan Wu <[email protected]> | 2022-12-08 15:03:47 -0500 |
---|---|---|
committer | Alan Wu <[email protected]> | 2022-12-08 17:35:18 -0500 |
commit | e714907d82f486c13fc1ea5e3ad291dabf4e7fbe (patch) | |
tree | 2799323aba2dcbed34035dce5c3f00b15dc311bd /yjit/src | |
parent | 51ef991d8dabadf8fbd46ad02cd9fea3c4d06f62 (diff) |
YJIT: Upgrade bindgen to stabilize and reduce output
The new version has an option to merge everything into a big
`extern "C"` block and it's nicer.
More importantly, this upgrade fixes an issue where Ubuntu with Clang 12
and macOS with Clang 14 gave a one line diff for `rb_shape_t`. It was
slightly annoying because we use macOS locally.
Notes
Notes:
Merged: https://github.com/ruby/ruby/pull/6887
Diffstat (limited to 'yjit/src')
-rw-r--r-- | yjit/src/cruby_bindings.inc.rs | 577 |
1 files changed, 110 insertions, 467 deletions
diff --git a/yjit/src/cruby_bindings.inc.rs b/yjit/src/cruby_bindings.inc.rs index b57c235cec..3e00aa3689 100644 --- a/yjit/src/cruby_bindings.inc.rs +++ b/yjit/src/cruby_bindings.inc.rs @@ -1,4 +1,4 @@ -/* automatically generated by rust-bindgen 0.60.1 */ +/* automatically generated by rust-bindgen 0.63.0 */ #[repr(C)] #[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)] @@ -142,16 +142,7 @@ pub const VM_ENV_DATA_INDEX_SPECVAL: i32 = -1; pub const VM_ENV_DATA_INDEX_FLAGS: u32 = 0; pub const VM_BLOCK_HANDLER_NONE: u32 = 0; pub type ID = ::std::os::raw::c_ulong; -extern "C" { - pub fn rb_singleton_class(obj: VALUE) -> VALUE; -} pub type rb_alloc_func_t = ::std::option::Option<unsafe extern "C" fn(klass: VALUE) -> VALUE>; -extern "C" { - pub fn rb_get_alloc_func(klass: VALUE) -> rb_alloc_func_t; -} -extern "C" { - pub fn rb_method_basic_definition_p(klass: VALUE, mid: ID) -> ::std::os::raw::c_int; -} pub const RUBY_Qfalse: ruby_special_consts = 0; pub const RUBY_Qnil: ruby_special_consts = 4; pub const RUBY_Qtrue: ruby_special_consts = 20; @@ -248,9 +239,6 @@ pub type st_foreach_callback_func = ::std::option::Option< arg3: st_data_t, ) -> ::std::os::raw::c_int, >; -extern "C" { - pub fn rb_gc_writebarrier(old: VALUE, young: VALUE); -} pub const RARRAY_EMBED_FLAG: ruby_rarray_flags = 8192; pub const RARRAY_EMBED_LEN_MASK: ruby_rarray_flags = 4161536; pub const RARRAY_TRANSIENT_FLAG: ruby_rarray_flags = 33554432; @@ -259,53 +247,11 @@ pub const RARRAY_EMBED_LEN_SHIFT: ruby_rarray_consts = 15; pub type ruby_rarray_consts = u32; pub const RMODULE_IS_REFINEMENT: ruby_rmodule_flags = 32768; pub type ruby_rmodule_flags = u32; -extern "C" { - pub fn rb_class_get_superclass(klass: VALUE) -> VALUE; -} pub const ROBJECT_EMBED: ruby_robject_flags = 8192; pub type ruby_robject_flags = u32; pub const ROBJECT_OFFSET_AS_HEAP_IVPTR: i32 = 16; pub const ROBJECT_OFFSET_AS_HEAP_IV_INDEX_TBL: i32 = 24; pub const ROBJECT_OFFSET_AS_ARY: i32 = 16; -extern "C" { - pub static mut rb_mKernel: VALUE; -} -extern "C" { - pub static mut rb_cBasicObject: VALUE; -} -extern "C" { - pub static mut rb_cArray: VALUE; -} -extern "C" { - pub static mut rb_cFalseClass: VALUE; -} -extern "C" { - pub static mut rb_cFloat: VALUE; -} -extern "C" { - pub static mut rb_cHash: VALUE; -} -extern "C" { - pub static mut rb_cInteger: VALUE; -} -extern "C" { - pub static mut rb_cModule: VALUE; -} -extern "C" { - pub static mut rb_cNilClass: VALUE; -} -extern "C" { - pub static mut rb_cString: VALUE; -} -extern "C" { - pub static mut rb_cSymbol: VALUE; -} -extern "C" { - pub static mut rb_cThread: VALUE; -} -extern "C" { - pub static mut rb_cTrueClass: VALUE; -} pub type rb_block_call_func = ::std::option::Option< unsafe extern "C" fn( yielded_arg: VALUE, @@ -316,96 +262,6 @@ pub type rb_block_call_func = ::std::option::Option< ) -> VALUE, >; pub type rb_block_call_func_t = rb_block_call_func; -extern "C" { - pub fn rb_ary_new_capa(capa: ::std::os::raw::c_long) -> VALUE; -} -extern "C" { - pub fn rb_ary_store(ary: VALUE, key: ::std::os::raw::c_long, val: VALUE); -} -extern "C" { - pub fn rb_ary_resurrect(ary: VALUE) -> VALUE; -} -extern "C" { - pub fn rb_ary_clear(ary: VALUE) -> VALUE; -} -extern "C" { - pub fn rb_hash_new() -> VALUE; -} -extern "C" { - pub fn rb_hash_aref(hash: VALUE, key: VALUE) -> VALUE; -} -extern "C" { - pub fn rb_hash_aset(hash: VALUE, key: VALUE, val: VALUE) -> VALUE; -} -extern "C" { - pub fn rb_hash_bulk_insert(argc: ::std::os::raw::c_long, argv: *const VALUE, hash: VALUE); -} -extern "C" { - pub fn rb_sym2id(obj: VALUE) -> ID; -} -extern "C" { - pub fn rb_id2sym(id: ID) -> VALUE; -} -extern "C" { - pub fn rb_intern(name: *const ::std::os::raw::c_char) -> ID; -} -extern "C" { - pub fn rb_gc_mark(obj: VALUE); -} -extern "C" { - pub fn rb_gc_mark_movable(obj: VALUE); -} -extern "C" { - pub fn rb_gc_location(obj: VALUE) -> VALUE; -} -extern "C" { - pub fn rb_obj_is_kind_of(obj: VALUE, klass: VALUE) -> VALUE; -} -extern "C" { - pub fn rb_obj_frozen_p(obj: VALUE) -> VALUE; -} -extern "C" { - pub fn rb_backref_get() -> VALUE; -} -extern "C" { - pub fn rb_range_new(beg: VALUE, end: VALUE, excl: ::std::os::raw::c_int) -> VALUE; -} -extern "C" { - pub fn rb_reg_nth_match(n: ::std::os::raw::c_int, md: VALUE) -> VALUE; -} -extern "C" { - pub fn rb_reg_last_match(md: VALUE) -> VALUE; -} -extern "C" { - pub fn rb_reg_match_pre(md: VALUE) -> VALUE; -} -extern "C" { - pub fn rb_reg_match_post(md: VALUE) -> VALUE; -} -extern "C" { - pub fn rb_reg_match_last(md: VALUE) -> VALUE; -} -extern "C" { - pub fn rb_utf8_str_new( - ptr: *const ::std::os::raw::c_char, - len: ::std::os::raw::c_long, - ) -> VALUE; -} -extern "C" { - pub fn rb_str_buf_append(dst: VALUE, src: VALUE) -> VALUE; -} -extern "C" { - pub fn rb_str_dup(str_: VALUE) -> VALUE; -} -extern "C" { - pub fn rb_str_intern(str_: VALUE) -> VALUE; -} -extern "C" { - pub fn rb_ivar_get(obj: VALUE, name: ID) -> VALUE; -} -extern "C" { - pub fn rb_attr_get(obj: VALUE, name: ID) -> VALUE; -} pub const RUBY_ENCODING_INLINE_MAX: ruby_encoding_consts = 127; pub const RUBY_ENCODING_SHIFT: ruby_encoding_consts = 22; pub const RUBY_ENCODING_MASK: ruby_encoding_consts = 532676608; @@ -425,15 +281,10 @@ pub const RUBY_ENCINDEX_EUC_JP: ruby_preserved_encindex = 10; pub const RUBY_ENCINDEX_Windows_31J: ruby_preserved_encindex = 11; pub const RUBY_ENCINDEX_BUILTIN_MAX: ruby_preserved_encindex = 12; pub type ruby_preserved_encindex = u32; -extern "C" { - pub fn rb_obj_info_dump(obj: VALUE); -} -extern "C" { - pub fn rb_reg_new_ary(ary: VALUE, options: ::std::os::raw::c_int) -> VALUE; -} pub type attr_index_t = u32; pub type shape_id_t = u32; #[repr(C)] +#[derive(Debug, Copy, Clone)] pub struct rb_shape { pub edges: *mut rb_id_table, pub edge_name: ID, @@ -444,30 +295,6 @@ pub struct rb_shape { pub parent_id: shape_id_t, } pub type rb_shape_t = rb_shape; -extern "C" { - pub fn rb_shape_id_offset() -> i32; -} -extern "C" { - pub fn rb_shape_get_shape_by_id(shape_id: shape_id_t) -> *mut rb_shape_t; -} -extern "C" { - pub fn rb_shape_get_shape_id(obj: VALUE) -> shape_id_t; -} -extern "C" { - pub fn rb_shape_transition_shape_capa( - shape: *mut rb_shape_t, - new_capacity: u32, - ) -> *mut rb_shape_t; -} -extern "C" { - pub fn rb_shape_get_next(shape: *mut rb_shape_t, obj: VALUE, id: ID) -> *mut rb_shape_t; -} -extern "C" { - pub fn rb_shape_get_iv_index(shape: *mut rb_shape_t, id: ID, value: *mut attr_index_t) -> bool; -} -extern "C" { - pub fn rb_shape_id(shape: *mut rb_shape_t) -> shape_id_t; -} pub const idDot2: ruby_method_ids = 128; pub const idDot3: ruby_method_ids = 129; pub const idUPlus: ruby_method_ids = 132; @@ -679,20 +506,6 @@ pub const idERROR_INFO: ruby_method_ids = 3847; pub const tLAST_OP_ID: ruby_method_ids = 169; pub const idLAST_OP_ID: ruby_method_ids = 10; pub type ruby_method_ids = u32; -extern "C" { - pub fn rb_ary_tmp_new_from_values( - arg1: VALUE, - arg2: ::std::os::raw::c_long, - arg3: *const VALUE, - ) -> VALUE; -} -extern "C" { - pub fn rb_ec_ary_new_from_values( - ec: *mut rb_execution_context_struct, - n: ::std::os::raw::c_long, - elts: *const VALUE, - ) -> VALUE; -} pub const BOP_PLUS: ruby_basic_operators = 0; pub const BOP_MINUS: ruby_basic_operators = 1; pub const BOP_MULT: ruby_basic_operators = 2; @@ -726,12 +539,6 @@ pub const BOP_CMP: ruby_basic_operators = 29; pub const BOP_LAST_: ruby_basic_operators = 30; pub type ruby_basic_operators = u32; pub type rb_serial_t = ::std::os::raw::c_ulonglong; -extern "C" { - pub fn rb_class_allocate_instance(klass: VALUE) -> VALUE; -} -extern "C" { - pub fn rb_obj_info(obj: VALUE) -> *const ::std::os::raw::c_char; -} pub const imemo_env: imemo_type = 0; pub const imemo_cref: imemo_type = 1; pub const imemo_svar: imemo_type = 2; @@ -824,18 +631,6 @@ pub type method_optimized_type = u32; pub struct rb_id_table { _unused: [u8; 0], } -extern "C" { - pub fn rb_method_entry_at(obj: VALUE, id: ID) -> *const rb_method_entry_t; -} -extern "C" { - pub fn rb_callable_method_entry(klass: VALUE, id: ID) -> *const rb_callable_method_entry_t; -} -extern "C" { - pub fn rb_callable_method_entry_or_negative( - klass: VALUE, - id: ID, - ) -> *const rb_callable_method_entry_t; -} pub type rb_num_t = ::std::os::raw::c_ulong; #[repr(C)] pub struct iseq_inline_constant_cache_entry { @@ -903,12 +698,6 @@ pub struct rb_block__bindgen_ty_1 { pub bindgen_union_field: [u64; 3usize], } pub type rb_control_frame_t = rb_control_frame_struct; -extern "C" { - pub static mut rb_mRubyVMFrozenCore: VALUE; -} -extern "C" { - pub static mut rb_block_param_proxy: VALUE; -} #[repr(C)] pub struct rb_proc_t { pub block: rb_block, @@ -1001,20 +790,6 @@ pub const VM_ENV_FLAG_ESCAPED: vm_frame_env_flags = 4; pub const VM_ENV_FLAG_WB_REQUIRED: vm_frame_env_flags = 8; pub const VM_ENV_FLAG_ISOLATED: vm_frame_env_flags = 16; pub type vm_frame_env_flags = u32; -extern "C" { - pub fn rb_vm_ep_local_ep(ep: *const VALUE) -> *const VALUE; -} -extern "C" { - pub fn rb_iseq_path(iseq: *const rb_iseq_t) -> VALUE; -} -extern "C" { - pub fn rb_vm_bh_to_procval(ec: *const rb_execution_context_t, block_handler: VALUE) -> VALUE; -} -extern "C" { - pub fn rb_vm_frame_method_entry( - cfp: *const rb_control_frame_t, - ) -> *const rb_callable_method_entry_t; -} #[repr(C)] pub struct rb_cvar_class_tbl_entry { pub index: u32, @@ -1050,47 +825,6 @@ pub struct rb_call_data { pub ci: *const rb_callinfo, pub cc: *const rb_callcache, } -extern "C" { - pub fn rb_obj_as_string_result(str_: VALUE, obj: VALUE) -> VALUE; -} -extern "C" { - pub fn rb_str_concat_literals(num: size_t, strary: *const VALUE) -> VALUE; -} -extern "C" { - pub fn rb_ec_str_resurrect(ec: *mut rb_execution_context_struct, str_: VALUE) -> VALUE; -} -extern "C" { - pub fn rb_hash_stlike_foreach( - hash: VALUE, - func: st_foreach_callback_func, - arg: st_data_t, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn rb_hash_new_with_size(size: st_index_t) -> VALUE; -} -extern "C" { - pub fn rb_hash_resurrect(hash: VALUE) -> VALUE; -} -extern "C" { - pub fn rb_hash_stlike_lookup( - hash: VALUE, - key: st_data_t, - pval: *mut st_data_t, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn rb_gvar_get(arg1: ID) -> VALUE; -} -extern "C" { - pub fn rb_gvar_set(arg1: ID, arg2: VALUE) -> VALUE; -} -extern "C" { - pub fn rb_ensure_iv_list_size(obj: VALUE, len: u32, newsize: u32); -} -extern "C" { - pub fn rb_vm_insn_decode(encoded: VALUE) -> ::std::os::raw::c_int; -} #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct rb_builtin_function { @@ -1314,226 +1048,203 @@ pub type ruby_vminsn_type = u32; pub type rb_iseq_callback = ::std::option::Option< unsafe extern "C" fn(arg1: *const rb_iseq_t, arg2: *mut ::std::os::raw::c_void), >; +pub type rb_seq_param_keyword_struct = rb_iseq_constant_body__bindgen_ty_1_rb_iseq_param_keyword; extern "C" { + pub fn rb_singleton_class(obj: VALUE) -> VALUE; + pub fn rb_get_alloc_func(klass: VALUE) -> rb_alloc_func_t; + pub fn rb_method_basic_definition_p(klass: VALUE, mid: ID) -> ::std::os::raw::c_int; + pub fn rb_gc_writebarrier(old: VALUE, young: VALUE); + pub fn rb_class_get_superclass(klass: VALUE) -> VALUE; + pub static mut rb_mKernel: VALUE; + pub static mut rb_cBasicObject: VALUE; + pub static mut rb_cArray: VALUE; + pub static mut rb_cFalseClass: VALUE; + pub static mut rb_cFloat: VALUE; + pub static mut rb_cHash: VALUE; + pub static mut rb_cInteger: VALUE; + pub static mut rb_cModule: VALUE; + pub static mut rb_cNilClass: VALUE; + pub static mut rb_cString: VALUE; + pub static mut rb_cSymbol: VALUE; + pub static mut rb_cThread: VALUE; + pub static mut rb_cTrueClass: VALUE; + pub fn rb_ary_new_capa(capa: ::std::os::raw::c_long) -> VALUE; + pub fn rb_ary_store(ary: VALUE, key: ::std::os::raw::c_long, val: VALUE); + pub fn rb_ary_resurrect(ary: VALUE) -> VALUE; + pub fn rb_ary_clear(ary: VALUE) -> VALUE; + pub fn rb_hash_new() -> VALUE; + pub fn rb_hash_aref(hash: VALUE, key: VALUE) -> VALUE; + pub fn rb_hash_aset(hash: VALUE, key: VALUE, val: VALUE) -> VALUE; + pub fn rb_hash_bulk_insert(argc: ::std::os::raw::c_long, argv: *const VALUE, hash: VALUE); + pub fn rb_sym2id(obj: VALUE) -> ID; + pub fn rb_id2sym(id: ID) -> VALUE; + pub fn rb_intern(name: *const ::std::os::raw::c_char) -> ID; + pub fn rb_gc_mark(obj: VALUE); + pub fn rb_gc_mark_movable(obj: VALUE); + pub fn rb_gc_location(obj: VALUE) -> VALUE; + pub fn rb_obj_is_kind_of(obj: VALUE, klass: VALUE) -> VALUE; + pub fn rb_obj_frozen_p(obj: VALUE) -> VALUE; + pub fn rb_backref_get() -> VALUE; + pub fn rb_range_new(beg: VALUE, end: VALUE, excl: ::std::os::raw::c_int) -> VALUE; + pub fn rb_reg_nth_match(n: ::std::os::raw::c_int, md: VALUE) -> VALUE; + pub fn rb_reg_last_match(md: VALUE) -> VALUE; + pub fn rb_reg_match_pre(md: VALUE) -> VALUE; + pub fn rb_reg_match_post(md: VALUE) -> VALUE; + pub fn rb_reg_match_last(md: VALUE) -> VALUE; + pub fn rb_utf8_str_new( + ptr: *const ::std::os::raw::c_char, + len: ::std::os::raw::c_long, + ) -> VALUE; + pub fn rb_str_buf_append(dst: VALUE, src: VALUE) -> VALUE; + pub fn rb_str_dup(str_: VALUE) -> VALUE; + pub fn rb_str_intern(str_: VALUE) -> VALUE; + pub fn rb_ivar_get(obj: VALUE, name: ID) -> VALUE; + pub fn rb_attr_get(obj: VALUE, name: ID) -> VALUE; + pub fn rb_obj_info_dump(obj: VALUE); + pub fn rb_reg_new_ary(ary: VALUE, options: ::std::os::raw::c_int) -> VALUE; + pub fn rb_shape_id_offset() -> i32; + pub fn rb_shape_get_shape_by_id(shape_id: shape_id_t) -> *mut rb_shape_t; + pub fn rb_shape_get_shape_id(obj: VALUE) -> shape_id_t; + pub fn rb_shape_transition_shape_capa( + shape: *mut rb_shape_t, + new_capacity: u32, + ) -> *mut rb_shape_t; + pub fn rb_shape_get_next(shape: *mut rb_shape_t, obj: VALUE, id: ID) -> *mut rb_shape_t; + pub fn rb_shape_get_iv_index(shape: *mut rb_shape_t, id: ID, value: *mut attr_index_t) -> bool; + pub fn rb_shape_id(shape: *mut rb_shape_t) -> shape_id_t; + pub fn rb_ary_tmp_new_from_values( + arg1: VALUE, + arg2: ::std::os::raw::c_long, + arg3: *const VALUE, + ) -> VALUE; + pub fn rb_ec_ary_new_from_values( + ec: *mut rb_execution_context_struct, + n: ::std::os::raw::c_long, + elts: *const VALUE, + ) -> VALUE; + pub fn rb_class_allocate_instance(klass: VALUE) -> VALUE; + pub fn rb_obj_info(obj: VALUE) -> *const ::std::os::raw::c_char; + pub fn rb_method_entry_at(obj: VALUE, id: ID) -> *const rb_method_entry_t; + pub fn rb_callable_method_entry(klass: VALUE, id: ID) -> *const rb_callable_method_entry_t; + pub fn rb_callable_method_entry_or_negative( + klass: VALUE, + id: ID, + ) -> *const rb_callable_method_entry_t; + pub static mut rb_mRubyVMFrozenCore: VALUE; + pub static mut rb_block_param_proxy: VALUE; + pub fn rb_vm_ep_local_ep(ep: *const VALUE) -> *const VALUE; + pub fn rb_iseq_path(iseq: *const rb_iseq_t) -> VALUE; + pub fn rb_vm_bh_to_procval(ec: *const rb_execution_context_t, block_handler: VALUE) -> VALUE; + pub fn rb_vm_frame_method_entry( + cfp: *const rb_control_frame_t, + ) -> *const rb_callable_method_entry_t; + pub fn rb_obj_as_string_result(str_: VALUE, obj: VALUE) -> VALUE; + pub fn rb_str_concat_literals(num: usize, strary: *const VALUE) -> VALUE; + pub fn rb_ec_str_resurrect(ec: *mut rb_execution_context_struct, str_: VALUE) -> VALUE; + pub fn rb_hash_stlike_foreach( + hash: VALUE, + func: st_foreach_callback_func, + arg: st_data_t, + ) -> ::std::os::raw::c_int; + pub fn rb_hash_new_with_size(size: st_index_t) -> VALUE; + pub fn rb_hash_resurrect(hash: VALUE) -> VALUE; + pub fn rb_hash_stlike_lookup( + hash: VALUE, + key: st_data_t, + pval: *mut st_data_t, + ) -> ::std::os::raw::c_int; + pub fn rb_gvar_get(arg1: ID) -> VALUE; + pub fn rb_gvar_set(arg1: ID, arg2: VALUE) -> VALUE; + pub fn rb_ensure_iv_list_size(obj: VALUE, len: u32, newsize: u32); + pub fn rb_vm_insn_decode(encoded: VALUE) -> ::std::os::raw::c_int; pub fn rb_vm_insn_addr2opcode(addr: *const ::std::os::raw::c_void) -> ::std::os::raw::c_int; -} -extern "C" { pub fn rb_iseqw_to_iseq(iseqw: VALUE) -> *const rb_iseq_t; -} -extern "C" { pub fn rb_iseq_method_name(iseq: *const rb_iseq_t) -> VALUE; -} -extern "C" { pub fn rb_vm_barrier(); -} -extern "C" { pub fn rb_profile_frames( start: ::std::os::raw::c_int, limit: ::std::os::raw::c_int, buff: *mut VALUE, lines: *mut ::std::os::raw::c_int, ) -> ::std::os::raw::c_int; -} -extern "C" { pub fn rb_jit_cont_each_iseq(callback: rb_iseq_callback, data: *mut ::std::os::raw::c_void); -} -extern "C" { pub fn rb_yjit_mark_writable(mem_block: *mut ::std::os::raw::c_void, mem_size: u32) -> bool; -} -extern "C" { pub fn rb_yjit_mark_executable(mem_block: *mut ::std::os::raw::c_void, mem_size: u32); -} -extern "C" { pub fn rb_yjit_mark_unused(mem_block: *mut ::std::os::raw::c_void, mem_size: u32) -> bool; -} -extern "C" { pub fn rb_yjit_icache_invalidate( start: *mut ::std::os::raw::c_void, end: *mut ::std::os::raw::c_void, ); -} -extern "C" { pub fn rb_yjit_exit_locations_dict( yjit_raw_samples: *mut VALUE, yjit_line_samples: *mut ::std::os::raw::c_int, samples_len: ::std::os::raw::c_int, ) -> VALUE; -} -extern "C" { pub fn rb_yjit_get_page_size() -> u32; -} -extern "C" { pub fn rb_yjit_reserve_addr_space(mem_size: u32) -> *mut u8; -} -extern "C" { pub fn rb_c_method_tracing_currently_enabled(ec: *mut rb_execution_context_t) -> bool; -} -extern "C" { pub fn rb_full_cfunc_return(ec: *mut rb_execution_context_t, return_value: VALUE); -} -extern "C" { pub fn rb_iseq_encoded_size(iseq: *const rb_iseq_t) -> ::std::os::raw::c_uint; -} -extern "C" { pub fn rb_iseq_get_yjit_payload(iseq: *const rb_iseq_t) -> *mut ::std::os::raw::c_void; -} -extern "C" { pub fn rb_iseq_set_yjit_payload(iseq: *const rb_iseq_t, payload: *mut ::std::os::raw::c_void); -} -extern "C" { pub fn rb_iseq_reset_jit_func(iseq: *const rb_iseq_t); -} -extern "C" { pub fn rb_iseq_pc_at_idx(iseq: *const rb_iseq_t, insn_idx: u32) -> *mut VALUE; -} -extern "C" { pub fn rb_iseq_opcode_at_pc(iseq: *const rb_iseq_t, pc: *const VALUE) -> ::std::os::raw::c_int; -} -extern "C" { pub fn rb_RSTRING_LEN(str_: VALUE) -> ::std::os::raw::c_ulong; -} -extern "C" { pub fn rb_RSTRING_PTR(str_: VALUE) -> *mut ::std::os::raw::c_char; -} -extern "C" { pub fn rb_yjit_get_proc_ptr(procv: VALUE) -> *mut rb_proc_t; -} -pub type rb_seq_param_keyword_struct = rb_iseq_constant_body__bindgen_ty_1_rb_iseq_param_keyword; -extern "C" { pub fn rb_insn_name(insn: VALUE) -> *const ::std::os::raw::c_char; -} -extern "C" { pub fn rb_insn_len(insn: VALUE) -> ::std::os::raw::c_int; -} -extern "C" { pub fn rb_vm_ci_argc(ci: *const rb_callinfo) -> ::std::os::raw::c_uint; -} -extern "C" { pub fn rb_vm_ci_mid(ci: *const rb_callinfo) -> ID; -} -extern "C" { pub fn rb_vm_ci_flag(ci: *const rb_callinfo) -> ::std::os::raw::c_uint; -} -extern "C" { pub fn rb_vm_ci_kwarg(ci: *const rb_callinfo) -> *const rb_callinfo_kwarg; -} -extern "C" { pub fn rb_get_cikw_keyword_len(cikw: *const rb_callinfo_kwarg) -> ::std::os::raw::c_int; -} -extern "C" { pub fn rb_get_cikw_keywords_idx( cikw: *const rb_callinfo_kwarg, idx: ::std::os::raw::c_int, ) -> VALUE; -} -extern "C" { pub fn rb_METHOD_ENTRY_VISI(me: *const rb_callable_method_entry_t) -> rb_method_visibility_t; -} -extern "C" { pub fn rb_get_cme_def_type(cme: *const rb_callable_method_entry_t) -> rb_method_type_t; -} -extern "C" { pub fn rb_get_cme_def_body_attr_id(cme: *const rb_callable_method_entry_t) -> ID; -} -extern "C" { pub fn rb_get_symbol_id(namep: VALUE) -> ID; -} -extern "C" { pub fn rb_get_cme_def_body_optimized_type( cme: *const rb_callable_method_entry_t, ) -> method_optimized_type; -} -extern "C" { pub fn rb_get_cme_def_body_optimized_index( cme: *const rb_callable_method_entry_t, ) -> ::std::os::raw::c_uint; -} -extern "C" { pub fn rb_get_cme_def_body_cfunc( cme: *const rb_callable_method_entry_t, ) -> *mut rb_method_cfunc_t; -} -extern "C" { pub fn rb_get_def_method_serial(def: *const rb_method_definition_t) -> usize; -} -extern "C" { pub fn rb_get_def_original_id(def: *const rb_method_definition_t) -> ID; -} -extern "C" { pub fn rb_get_mct_argc(mct: *const rb_method_cfunc_t) -> ::std::os::raw::c_int; -} -extern "C" { pub fn rb_get_mct_func(mct: *const rb_method_cfunc_t) -> *mut ::std::os::raw::c_void; -} -extern "C" { pub fn rb_get_def_iseq_ptr(def: *mut rb_method_definition_t) -> *const rb_iseq_t; -} -extern "C" { pub fn rb_get_def_bmethod_proc(def: *mut rb_method_definition_t) -> VALUE; -} -extern "C" { pub fn rb_get_iseq_body_local_iseq(iseq: *const rb_iseq_t) -> *const rb_iseq_t; -} -extern "C" { pub fn rb_get_iseq_body_parent_iseq(iseq: *const rb_iseq_t) -> *const rb_iseq_t; -} -extern "C" { pub fn rb_get_iseq_body_local_table_size(iseq: *const rb_iseq_t) -> ::std::os::raw::c_uint; -} -extern "C" { pub fn rb_get_iseq_body_iseq_encoded(iseq: *const rb_iseq_t) -> *mut VALUE; -} -extern "C" { pub fn rb_get_iseq_body_stack_max(iseq: *const rb_iseq_t) -> ::std::os::raw::c_uint; -} -extern "C" { pub fn rb_get_iseq_flags_has_lead(iseq: *const rb_iseq_t) -> bool; -} -extern "C" { pub fn rb_get_iseq_flags_has_opt(iseq: *const rb_iseq_t) -> bool; -} -extern "C" { pub fn rb_get_iseq_flags_has_kw(iseq: *const rb_iseq_t) -> bool; -} -extern "C" { pub fn rb_get_iseq_flags_has_post(iseq: *const rb_iseq_t) -> bool; -} -extern "C" { pub fn rb_get_iseq_flags_has_kwrest(iseq: *const rb_iseq_t) -> bool; -} -extern "C" { pub fn rb_get_iseq_flags_has_rest(iseq: *const rb_iseq_t) -> bool; -} -extern "C" { pub fn rb_get_iseq_flags_ruby2_keywords(iseq: *const rb_iseq_t) -> bool; -} -extern "C" { pub fn rb_get_iseq_flags_has_block(iseq: *const rb_iseq_t) -> bool; -} -extern "C" { pub fn rb_get_iseq_flags_ambiguous_param0(iseq: *const rb_iseq_t) -> bool; -} -extern "C" { pub fn rb_get_iseq_flags_accepts_no_kwarg(iseq: *const rb_iseq_t) -> bool; -} -extern "C" { pub fn rb_get_iseq_body_param_keyword( iseq: *const rb_iseq_t, ) -> *const rb_seq_param_keyword_struct; -} -extern "C" { pub fn rb_get_iseq_body_param_size(iseq: *const rb_iseq_t) -> ::std::os::raw::c_uint; -} -extern "C" { pub fn rb_get_iseq_body_param_lead_num(iseq: *const rb_iseq_t) -> ::std::os::raw::c_int; -} -extern "C" { pub fn rb_get_iseq_body_param_opt_num(iseq: *const rb_iseq_t) -> ::std::os::raw::c_int; -} -extern "C" { pub fn rb_get_iseq_body_param_opt_table(iseq: *const rb_iseq_t) -> *const VALUE; -} -extern "C" { pub fn rb_optimized_call( recv: *mut VALUE, ec: *mut rb_execution_context_t, @@ -1542,116 +1253,48 @@ extern "C" { kw_splat: ::std::os::raw::c_int, block_handler: VALUE, ) -> VALUE; -} -extern "C" { pub fn rb_leaf_invokebuiltin_iseq_p(iseq: *const rb_iseq_t) -> bool; -} -extern "C" { pub fn rb_leaf_builtin_function(iseq: *const rb_iseq_t) -> *const rb_builtin_function; -} -extern "C" { pub fn rb_yjit_str_simple_append(str1: VALUE, str2: VALUE) -> VALUE; -} -extern "C" { pub fn rb_get_ec_cfp(ec: *const rb_execution_context_t) -> *mut rb_control_frame_struct; -} -extern "C" { pub fn rb_get_cfp_pc(cfp: *mut rb_control_frame_struct) -> *mut VALUE; -} -extern "C" { pub fn rb_get_cfp_sp(cfp: *mut rb_control_frame_struct) -> *mut VALUE; -} -extern "C" { pub fn rb_set_cfp_pc(cfp: *mut rb_control_frame_struct, pc: *const VALUE); -} -extern "C" { pub fn rb_set_cfp_sp(cfp: *mut rb_control_frame_struct, sp: *mut VALUE); -} -extern "C" { pub fn rb_cfp_get_iseq(cfp: *mut rb_control_frame_struct) -> *mut rb_iseq_t; -} -extern "C" { pub fn rb_get_cfp_self(cfp: *mut rb_control_frame_struct) -> VALUE; -} -extern "C" { pub fn rb_get_cfp_ep(cfp: *mut rb_control_frame_struct) -> *mut VALUE; -} -extern "C" { pub fn rb_get_cfp_ep_level(cfp: *mut rb_control_frame_struct, lv: u32) -> *const VALUE; -} -extern "C" { pub fn rb_yarv_class_of(obj: VALUE) -> VALUE; -} -extern "C" { pub fn rb_yarv_str_eql_internal(str1: VALUE, str2: VALUE) -> VALUE; -} -extern "C" { pub fn rb_yarv_ary_entry_internal(ary: VALUE, offset: ::std::os::raw::c_long) -> VALUE; -} -extern "C" { pub fn rb_yarv_fix_mod_fix(recv: VALUE, obj: VALUE) -> VALUE; -} -extern "C" { pub fn rb_yjit_dump_iseq_loc(iseq: *const rb_iseq_t, insn_idx: u32); -} -extern "C" { pub fn rb_FL_TEST(obj: VALUE, flags: VALUE) -> VALUE; -} -extern "C" { pub fn rb_FL_TEST_RAW(obj: VALUE, flags: VALUE) -> VALUE; -} -extern "C" { pub fn rb_RB_TYPE_P(obj: VALUE, t: ruby_value_type) -> bool; -} -extern "C" { pub fn rb_RSTRUCT_LEN(st: VALUE) -> ::std::os::raw::c_long; -} -extern "C" { pub fn rb_RSTRUCT_SET(st: VALUE, k: ::std::os::raw::c_int, v: VALUE); -} -extern "C" { pub fn rb_get_call_data_ci(cd: *const rb_call_data) -> *const rb_callinfo; -} -extern "C" { pub fn rb_BASIC_OP_UNREDEFINED_P(bop: ruby_basic_operators, klass: u32) -> bool; -} -extern "C" { pub fn rb_RCLASS_ORIGIN(c: VALUE) -> VALUE; -} -extern "C" { pub fn rb_ENCODING_GET(obj: VALUE) -> ::std::os::raw::c_int; -} -extern "C" { pub fn rb_yjit_multi_ractor_p() -> bool; -} -extern "C" { pub fn rb_assert_iseq_handle(handle: VALUE); -} -extern "C" { pub fn rb_IMEMO_TYPE_P(imemo: VALUE, imemo_type: imemo_type) -> ::std::os::raw::c_int; -} -extern "C" { pub fn rb_assert_cme_handle(handle: VALUE); -} -extern "C" { pub fn rb_yjit_for_each_iseq(callback: rb_iseq_callback, data: *mut ::std::os::raw::c_void); -} -extern "C" { pub fn rb_yjit_obj_written( old: VALUE, young: VALUE, file: *const ::std::os::raw::c_char, line: ::std::os::raw::c_int, ); -} -extern "C" { pub fn rb_yjit_vm_lock_then_barrier( recursive_lock_level: *mut ::std::os::raw::c_uint, file: *const ::std::os::raw::c_char, line: ::std::os::raw::c_int, ); -} -extern "C" { pub fn rb_yjit_vm_unlock( recursive_lock_level: *mut ::std::os::raw::c_uint, file: *const ::std::os::raw::c_char, |