summaryrefslogtreecommitdiff
path: root/tool
diff options
context:
space:
mode:
authorJemma Issroff <jemmaissroff@gmail.com>2022-10-03 11:14:32 -0400
committerAaron Patterson <tenderlove@ruby-lang.org>2022-10-11 08:40:56 -0700
commitad63b668e22e21c352b852f3119ae98a7acf99f1 (patch)
treecdaea65a9cae753a25f521c06d9d6a205085335f /tool
parent5ffbb2be187681a37f2722ce1d7db4ec5c128464 (diff)
Revert "Revert "This commit implements the Object Shapes technique in CRuby.""
This reverts commit 9a6803c90b817f70389cae10d60b50ad752da48f.
Diffstat (limited to 'tool')
-rwxr-xr-xtool/mjit/bindgen.rb10
1 files changed, 8 insertions, 2 deletions
diff --git a/tool/mjit/bindgen.rb b/tool/mjit/bindgen.rb
index d0f9bf527b..8c21d42449 100755
--- a/tool/mjit/bindgen.rb
+++ b/tool/mjit/bindgen.rb
@@ -341,12 +341,17 @@ generator = BindingGenerator.new(
VM_METHOD_TYPE_CFUNC
VM_METHOD_TYPE_ISEQ
],
+ ULONG: %w[
+ INVALID_SHAPE_ID
+ SHAPE_MASK
+ ],
},
types: %w[
CALL_DATA
IC
IVC
RB_BUILTIN
+ attr_index_t
compile_branch
compile_status
inlined_call_context
@@ -360,10 +365,10 @@ generator = BindingGenerator.new(
rb_callable_method_entry_struct
rb_callcache
rb_callinfo
- rb_cref_t
rb_control_frame_t
- rb_execution_context_t
+ rb_cref_t
rb_execution_context_struct
+ rb_execution_context_t
rb_iseq_constant_body
rb_iseq_location_t
rb_iseq_struct
@@ -378,6 +383,7 @@ generator = BindingGenerator.new(
],
dynamic_types: %w[
VALUE
+ shape_id_t
],
skip_fields: {
'rb_execution_context_struct.machine': %w[regs], # differs between macOS and Linux