1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

add rb_control_frame_t

This commit is contained in:
Aaron Patterson 2022-09-21 08:58:19 -07:00 committed by Aaron Patterson
parent 9058ba218c
commit 083b4bb655
Notes: git 2022-09-22 14:21:02 +09:00
3 changed files with 29 additions and 0 deletions

View file

@ -191,6 +191,20 @@ module RubyVM::MJIT
)
end
def C.rb_control_frame_t
@rb_control_frame_t ||= CType::Struct.new(
"rb_control_frame_struct", 32,
pc: [0, CType::Pointer.new { self.VALUE }],
sp: [32, CType::Pointer.new { self.VALUE }],
iseq: [64, CType::Pointer.new { self.rb_iseq_t }],
self: [96, self.VALUE],
ep: [128, CType::Pointer.new { self.VALUE }],
block_code: [160, CType::Pointer.new { CType::Immediate.new(0) }],
__bp__: [192, CType::Pointer.new { self.VALUE }],
jit_return: [224, CType::Pointer.new { CType::Immediate.new(0) }],
)
end
def C.rb_cref_t
@rb_cref_t ||= CType::Struct.new(
"rb_cref_struct", 20,

View file

@ -191,6 +191,20 @@ module RubyVM::MJIT
)
end
def C.rb_control_frame_t
@rb_control_frame_t ||= CType::Struct.new(
"rb_control_frame_struct", 64,
pc: [0, CType::Pointer.new { self.VALUE }],
sp: [64, CType::Pointer.new { self.VALUE }],
iseq: [128, CType::Pointer.new { self.rb_iseq_t }],
self: [192, self.VALUE],
ep: [256, CType::Pointer.new { self.VALUE }],
block_code: [320, CType::Pointer.new { CType::Immediate.new(0) }],
__bp__: [384, CType::Pointer.new { self.VALUE }],
jit_return: [448, CType::Pointer.new { CType::Immediate.new(0) }],
)
end
def C.rb_cref_t
@rb_cref_t ||= CType::Struct.new(
"rb_cref_struct", 40,

View file

@ -565,6 +565,7 @@ generator = BindingGenerator.new(
rb_callcache
rb_callinfo
rb_cref_t
rb_control_frame_t
rb_iseq_constant_body
rb_iseq_location_t
rb_iseq_struct