diff --git a/.github/workflows/rjit-bindgen.yml b/.github/workflows/rjit-bindgen.yml index e7a030f599..316918da4d 100644 --- a/.github/workflows/rjit-bindgen.yml +++ b/.github/workflows/rjit-bindgen.yml @@ -83,7 +83,7 @@ jobs: payload: | { "ci": "GitHub Actions", - "env": "${{ matrix.os }} / ${{ matrix.test_task }}${{ matrix.configure }}", + "env": "RJIT / bindgen", "url": "https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}", "commit": "${{ github.sha }}", "branch": "${{ github.ref_name }}" diff --git a/rjit_c.rb b/rjit_c.rb index e201cd51df..cf8284cd7b 100644 --- a/rjit_c.rb +++ b/rjit_c.rb @@ -962,7 +962,7 @@ module RubyVM::RJIT # :nodoc: all ), Primitive.cexpr!("OFFSETOF((*((struct rb_iseq_constant_body *)NULL)), mark_bits)")], outer_variables: [CType::Pointer.new { self.rb_id_table }, Primitive.cexpr!("OFFSETOF((*((struct rb_iseq_constant_body *)NULL)), outer_variables)")], mandatory_only_iseq: [CType::Pointer.new { self.rb_iseq_t }, Primitive.cexpr!("OFFSETOF((*((struct rb_iseq_constant_body *)NULL)), mandatory_only_iseq)")], - jit_func: [CType::Immediate.parse("void *"), Primitive.cexpr!("OFFSETOF((*((struct rb_iseq_constant_body *)NULL)), jit_func)")], + jit_func: [self.rb_jit_func_t, Primitive.cexpr!("OFFSETOF((*((struct rb_iseq_constant_body *)NULL)), jit_func)")], total_calls: [CType::Immediate.parse("unsigned long"), Primitive.cexpr!("OFFSETOF((*((struct rb_iseq_constant_body *)NULL)), total_calls)")], rjit_blocks: [self.VALUE, Primitive.cexpr!("OFFSETOF((*((struct rb_iseq_constant_body *)NULL)), rjit_blocks)"), true], ) @@ -1007,6 +1007,10 @@ module RubyVM::RJIT # :nodoc: all @rb_iseq_t ||= self.rb_iseq_struct end + def C.rb_jit_func_t + @rb_jit_func_t ||= CType::Immediate.parse("void *") + end + def C.rb_method_attr_t @rb_method_attr_t ||= CType::Struct.new( "rb_method_attr_struct", Primitive.cexpr!("SIZEOF(struct rb_method_attr_struct)"), diff --git a/tool/rjit/bindgen.rb b/tool/rjit/bindgen.rb index e201f3504e..292f7e4b9c 100755 --- a/tool/rjit/bindgen.rb +++ b/tool/rjit/bindgen.rb @@ -563,6 +563,7 @@ generator = BindingGenerator.new( rb_shape rb_shape_t rb_thread_struct + rb_jit_func_t rjit_options ], # #ifdef-dependent immediate types, which need Primitive.cexpr! for type detection