diff options
author | Noah Gibbs <noah.gibbs@shopify.com> | 2022-06-06 18:47:24 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-06-06 13:47:24 -0400 |
commit | 653e517eefaa0c4f2710b30b4dff9a9dad7b9d6a (patch) | |
tree | aed944b278b9ac89637538f66fad2d0fcf57e30b /yjit/src/cruby_bindings.inc.rs | |
parent | c5475f42694eff35465c3332e0182c0611ca5918 (diff) | |
download | ruby-653e517eefaa0c4f2710b30b4dff9a9dad7b9d6a.tar.gz |
Use bindgen to import Ruby constants wherever possible. (#5943)
Constants that can't be imported via bindgen should have
a comment saying why not.
Diffstat (limited to 'yjit/src/cruby_bindings.inc.rs')
-rw-r--r-- | yjit/src/cruby_bindings.inc.rs | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/yjit/src/cruby_bindings.inc.rs b/yjit/src/cruby_bindings.inc.rs index d68605bf2e..0bd18ea68c 100644 --- a/yjit/src/cruby_bindings.inc.rs +++ b/yjit/src/cruby_bindings.inc.rs @@ -12,7 +12,10 @@ pub const NIL_REDEFINED_OP_FLAG: u32 = 512; pub const TRUE_REDEFINED_OP_FLAG: u32 = 1024; pub const FALSE_REDEFINED_OP_FLAG: u32 = 2048; pub const PROC_REDEFINED_OP_FLAG: u32 = 4096; +pub const VM_ENV_DATA_SIZE: u32 = 3; pub const VM_ENV_DATA_INDEX_ME_CREF: i32 = -2; +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" { @@ -56,11 +59,59 @@ pub const RUBY_T_ZOMBIE: ruby_value_type = 29; pub const RUBY_T_MOVED: ruby_value_type = 30; pub const RUBY_T_MASK: ruby_value_type = 31; pub type ruby_value_type = u32; +pub const RUBY_FL_USHIFT: ruby_fl_ushift = 12; +pub type ruby_fl_ushift = u32; +pub const RUBY_FL_WB_PROTECTED: ruby_fl_type = 32; +pub const RUBY_FL_PROMOTED0: ruby_fl_type = 32; +pub const RUBY_FL_PROMOTED1: ruby_fl_type = 64; +pub const RUBY_FL_PROMOTED: ruby_fl_type = 96; +pub const RUBY_FL_FINALIZE: ruby_fl_type = 128; +pub const RUBY_FL_TAINT: ruby_fl_type = 256; +pub const RUBY_FL_SHAREABLE: ruby_fl_type = 256; +pub const RUBY_FL_UNTRUSTED: ruby_fl_type = 256; +pub const RUBY_FL_SEEN_OBJ_ID: ruby_fl_type = 512; +pub const RUBY_FL_EXIVAR: ruby_fl_type = 1024; +pub const RUBY_FL_FREEZE: ruby_fl_type = 2048; +pub const RUBY_FL_USER0: ruby_fl_type = 4096; +pub const RUBY_FL_USER1: ruby_fl_type = 8192; +pub const RUBY_FL_USER2: ruby_fl_type = 16384; +pub const RUBY_FL_USER3: ruby_fl_type = 32768; +pub const RUBY_FL_USER4: ruby_fl_type = 65536; +pub const RUBY_FL_USER5: ruby_fl_type = 131072; +pub const RUBY_FL_USER6: ruby_fl_type = 262144; +pub const RUBY_FL_USER7: ruby_fl_type = 524288; +pub const RUBY_FL_USER8: ruby_fl_type = 1048576; +pub const RUBY_FL_USER9: ruby_fl_type = 2097152; +pub const RUBY_FL_USER10: ruby_fl_type = 4194304; +pub const RUBY_FL_USER11: ruby_fl_type = 8388608; +pub const RUBY_FL_USER12: ruby_fl_type = 16777216; +pub const RUBY_FL_USER13: ruby_fl_type = 33554432; +pub const RUBY_FL_USER14: ruby_fl_type = 67108864; +pub const RUBY_FL_USER15: ruby_fl_type = 134217728; +pub const RUBY_FL_USER16: ruby_fl_type = 268435456; +pub const RUBY_FL_USER17: ruby_fl_type = 536870912; +pub const RUBY_FL_USER18: ruby_fl_type = 1073741824; +pub const RUBY_FL_USER19: ruby_fl_type = -2147483648; +pub const RUBY_ELTS_SHARED: ruby_fl_type = 16384; +pub const RUBY_FL_SINGLETON: ruby_fl_type = 4096; +pub type ruby_fl_type = i32; pub type st_data_t = ::std::os::raw::c_ulong; pub type st_index_t = st_data_t; +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; +pub type ruby_rarray_flags = u32; +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_EMBED_LEN_MAX: ruby_robject_consts = 3; +pub type ruby_robject_consts = u32; extern "C" { pub static mut rb_mKernel: VALUE; } @@ -563,6 +614,10 @@ extern "C" { extern "C" { pub static mut rb_block_param_proxy: VALUE; } +pub const VM_SPECIAL_OBJECT_VMCORE: vm_special_object_type = 1; +pub const VM_SPECIAL_OBJECT_CBASE: vm_special_object_type = 2; +pub const VM_SPECIAL_OBJECT_CONST_BASE: vm_special_object_type = 3; +pub type vm_special_object_type = u32; pub type IC = *mut iseq_inline_constant_cache; pub type IVC = *mut iseq_inline_iv_cache_entry; pub type ICVARC = *mut iseq_inline_cvar_cache_entry; |