diff options
author | Takashi Kokubun <takashikkbn@gmail.com> | 2022-12-10 22:21:06 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-12-10 22:21:06 -0800 |
commit | 9d59d093bd99ca7f4266dec1e9b4cd8b5efbd2d4 (patch) | |
tree | 79b98a225e9451e280518f06c33d02d06cbcfbcb /mjit_c.rb | |
parent | 7055574cf9dbcabd9d440c364f3e7b7812527bde (diff) |
MJIT: Compile methods in batches (#6900)
* MJIT: Compile methods in batches
* MJIT: make mjit-bindgen
* MJIT: Fix RubyVM::MJIT tests
Notes
Notes:
Merged-By: k0kubun <takashikkbn@gmail.com>
Diffstat (limited to 'mjit_c.rb')
-rw-r--r-- | mjit_c.rb | 7 |
1 files changed, 6 insertions, 1 deletions
@@ -620,13 +620,14 @@ module RubyVM::MJIT "rb_mjit_unit", Primitive.cexpr!("SIZEOF(struct rb_mjit_unit)"), unode: [self.ccan_list_node, Primitive.cexpr!("OFFSETOF((*((struct rb_mjit_unit *)NULL)), unode)")], id: [CType::Immediate.parse("int"), Primitive.cexpr!("OFFSETOF((*((struct rb_mjit_unit *)NULL)), id)")], - handle: [CType::Pointer.new { CType::Immediate.parse("void") }, Primitive.cexpr!("OFFSETOF((*((struct rb_mjit_unit *)NULL)), handle)")], type: [self.rb_mjit_unit_type, Primitive.cexpr!("OFFSETOF((*((struct rb_mjit_unit *)NULL)), type)")], iseq: [CType::Pointer.new { self.rb_iseq_t }, Primitive.cexpr!("OFFSETOF((*((struct rb_mjit_unit *)NULL)), iseq)")], used_code_p: [self._Bool, Primitive.cexpr!("OFFSETOF((*((struct rb_mjit_unit *)NULL)), used_code_p)")], compile_info: [self.rb_mjit_compile_info, Primitive.cexpr!("OFFSETOF((*((struct rb_mjit_unit *)NULL)), compile_info)")], cc_entries: [CType::Pointer.new { CType::Pointer.new { self.rb_callcache } }, Primitive.cexpr!("OFFSETOF((*((struct rb_mjit_unit *)NULL)), cc_entries)")], cc_entries_size: [CType::Immediate.parse("unsigned int"), Primitive.cexpr!("OFFSETOF((*((struct rb_mjit_unit *)NULL)), cc_entries_size)")], + handle: [CType::Pointer.new { CType::Immediate.parse("void") }, Primitive.cexpr!("OFFSETOF((*((struct rb_mjit_unit *)NULL)), handle)")], + units: [self.rb_mjit_unit_list, Primitive.cexpr!("OFFSETOF((*((struct rb_mjit_unit *)NULL)), units)")], ) end @@ -787,5 +788,9 @@ module RubyVM::MJIT CType::Stub.new(:rb_mjit_unit_type) end + def C.rb_mjit_unit_list + CType::Stub.new(:rb_mjit_unit_list) + end + ### MJIT bindgen end ### end if RubyVM::MJIT.enabled? && RubyVM::MJIT.const_defined?(:C) # not defined for miniruby |