diff options
author | Yuta Saito <kateinoigakukun@gmail.com> | 2022-02-25 02:08:45 +0000 |
---|---|---|
committer | Yuta Saito <kateinoigakukun@gmail.com> | 2022-03-02 17:13:40 +0900 |
commit | 2b5097b890161ddcb1ae9619699126f95a783bbd (patch) | |
tree | 8d220b387efeca82435323e18d2b737104930022 /mjit_worker.c | |
parent | fd2e1d3c4a0e248f710bc8f3abe94f343552026d (diff) | |
download | ruby-2b5097b890161ddcb1ae9619699126f95a783bbd.tar.gz |
vm_method.c: avoid signature mismatch in rb_f_notimplement call
`rb_f_notimplement` has a similar signature with arity=-1, but it has an
extra marker argument to distinguish it from other methods in
compile-time type check in rb_define_method.
This trick is introduced to override a given arity to be -1 since
https://github.com/ruby/ruby/commit/9ef51b0b89a10c8c401cb9f2337e47a25be72cbe
However, the trailing extra argument introduces a signature mismatch
between caller and callee expectation.
This patch adds rb_f_notimplement_internal, which has canonical arity=-1
signature, and makes rb_define_method family to inserts a method entry
with rb_f_notimplement_internal instead of rb_f_notimplement.
Diffstat (limited to 'mjit_worker.c')
0 files changed, 0 insertions, 0 deletions