summaryrefslogtreecommitdiff
path: root/mjit_c.rb
diff options
context:
space:
mode:
Diffstat (limited to 'mjit_c.rb')
-rw-r--r--mjit_c.rb29
1 files changed, 25 insertions, 4 deletions
diff --git a/mjit_c.rb b/mjit_c.rb
index 283697ea6c..479c6d0abf 100644
--- a/mjit_c.rb
+++ b/mjit_c.rb
@@ -418,6 +418,18 @@ module RubyVM::MJIT # :nodoc: all
Primitive.cexpr! %q{ UINT2NUM(VM_ENV_FLAG_LOCAL) }
end
+ def C.VM_FRAME_FLAG_CFRAME
+ Primitive.cexpr! %q{ UINT2NUM(VM_FRAME_FLAG_CFRAME) }
+ end
+
+ def C.VM_FRAME_FLAG_CFRAME_KW
+ Primitive.cexpr! %q{ UINT2NUM(VM_FRAME_FLAG_CFRAME_KW) }
+ end
+
+ def C.VM_FRAME_MAGIC_CFUNC
+ Primitive.cexpr! %q{ UINT2NUM(VM_FRAME_MAGIC_CFUNC) }
+ end
+
def C.VM_FRAME_MAGIC_METHOD
Primitive.cexpr! %q{ UINT2NUM(VM_FRAME_MAGIC_METHOD) }
end
@@ -879,6 +891,15 @@ module RubyVM::MJIT # :nodoc: all
)
end
+ def C.rb_method_cfunc_t
+ @rb_method_cfunc_t ||= CType::Struct.new(
+ "rb_method_cfunc_struct", Primitive.cexpr!("SIZEOF(struct rb_method_cfunc_struct)"),
+ func: [CType::Immediate.parse("void *"), Primitive.cexpr!("OFFSETOF((*((struct rb_method_cfunc_struct *)NULL)), func)")],
+ invoker: [CType::Immediate.parse("void *"), Primitive.cexpr!("OFFSETOF((*((struct rb_method_cfunc_struct *)NULL)), invoker)")],
+ argc: [CType::Immediate.parse("int"), Primitive.cexpr!("OFFSETOF((*((struct rb_method_cfunc_struct *)NULL)), argc)")],
+ )
+ end
+
def C.rb_method_definition_struct
@rb_method_definition_struct ||= CType::Struct.new(
"rb_method_definition_struct", Primitive.cexpr!("SIZEOF(struct rb_method_definition_struct)"),
@@ -948,6 +969,10 @@ module RubyVM::MJIT # :nodoc: all
send_refined: [CType::Immediate.parse("size_t"), Primitive.cexpr!("OFFSETOF((*((struct rb_mjit_runtime_counters *)NULL)), send_refined)")],
send_stackoverflow: [CType::Immediate.parse("size_t"), Primitive.cexpr!("OFFSETOF((*((struct rb_mjit_runtime_counters *)NULL)), send_stackoverflow)")],
send_arity: [CType::Immediate.parse("size_t"), Primitive.cexpr!("OFFSETOF((*((struct rb_mjit_runtime_counters *)NULL)), send_arity)")],
+ send_iseq_not_simple: [CType::Immediate.parse("size_t"), Primitive.cexpr!("OFFSETOF((*((struct rb_mjit_runtime_counters *)NULL)), send_iseq_not_simple)")],
+ send_iseq_kw_splat: [CType::Immediate.parse("size_t"), Primitive.cexpr!("OFFSETOF((*((struct rb_mjit_runtime_counters *)NULL)), send_iseq_kw_splat)")],
+ send_cfunc_variadic: [CType::Immediate.parse("size_t"), Primitive.cexpr!("OFFSETOF((*((struct rb_mjit_runtime_counters *)NULL)), send_cfunc_variadic)")],
+ send_cfunc_too_many_args: [CType::Immediate.parse("size_t"), Primitive.cexpr!("OFFSETOF((*((struct rb_mjit_runtime_counters *)NULL)), send_cfunc_too_many_args)")],
send_ivar: [CType::Immediate.parse("size_t"), Primitive.cexpr!("OFFSETOF((*((struct rb_mjit_runtime_counters *)NULL)), send_ivar)")],
send_ivar_splat: [CType::Immediate.parse("size_t"), Primitive.cexpr!("OFFSETOF((*((struct rb_mjit_runtime_counters *)NULL)), send_ivar_splat)")],
send_ivar_opt_send: [CType::Immediate.parse("size_t"), Primitive.cexpr!("OFFSETOF((*((struct rb_mjit_runtime_counters *)NULL)), send_ivar_opt_send)")],
@@ -1105,10 +1130,6 @@ module RubyVM::MJIT # :nodoc: all
CType::Stub.new(:rb_event_flag_t)
end
- def C.rb_method_cfunc_t
- CType::Stub.new(:rb_method_cfunc_t)
- end
-
def C.rb_method_alias_t
CType::Stub.new(:rb_method_alias_t)
end