From 3df37259d81d9fc71f8b4f0b8d45dc9d0af81ab4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8D=9C=E9=83=A8=E6=98=8C=E5=B9=B3?= Date: Thu, 29 Aug 2019 11:47:20 +0900 Subject: drop-in type check for rb_define_singleton_method We can check the function pointer passed to rb_define_singleton_method like how we do so in rb_define_method. Doing so revealed many arity mismatches. --- vm.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'vm.c') diff --git a/vm.c b/vm.c index 2097dde434..157a43967e 100644 --- a/vm.c +++ b/vm.c @@ -2827,7 +2827,7 @@ core_hash_merge_kwd(VALUE hash, VALUE kw) /* Returns true if JIT is enabled */ static VALUE -mjit_enabled_p(void) +mjit_enabled_p(VALUE _) { return mjit_enabled ? Qtrue : Qfalse; } @@ -2849,6 +2849,12 @@ mjit_pause_m(int argc, VALUE *argv, RB_UNUSED_VAR(VALUE self)) return mjit_pause(RTEST(wait)); } +static VALUE +mjit_resume_m(VALUE _) +{ + return mjit_resume(); +} + extern VALUE *rb_gc_stack_start; extern size_t rb_gc_stack_maxsize; @@ -2974,7 +2980,7 @@ Init_VM(void) mjit = rb_define_module_under(rb_cRubyVM, "MJIT"); rb_define_singleton_method(mjit, "enabled?", mjit_enabled_p, 0); rb_define_singleton_method(mjit, "pause", mjit_pause_m, -1); - rb_define_singleton_method(mjit, "resume", mjit_resume, 0); + rb_define_singleton_method(mjit, "resume", mjit_resume_m, 0); /* * Document-class: Thread -- cgit v1.2.3