summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authornagachika <nagachika@ruby-lang.org>2023-07-17 13:59:25 +0900
committernagachika <nagachika@ruby-lang.org>2023-07-17 13:59:25 +0900
commit8852b4b2deea20f488208dc4730ef149f67d7594 (patch)
tree8610de40bf2018fb43c60c59cfbbd14929291589 /test
parent9d8d0585ec35070099e4fdeef5ee18f6fbf339b6 (diff)
merge revision(s) 0ce2bdc76dd17aa3d42a352a6244c87a51e7606d: [Backport #19595]
YJIT: Fix missing argc check in known cfuncs Previously we were missing a compile-time check that the known cfuncs receive the correct number of arguments. We noticied this because in particular when using ARGS_SPLAT, which also wasn't checked, YJIT would crash on code which was otherwise correct (didn't raise exceptions in the VM). This still supports vararg (argc == -1) cfuncs. I added an additional assertion that when we use the specialized codegen for one of these known functions that the argc are popped off the stack correctly, which should help ensure they're implemented correctly (previously the crash was usually observed on a future `leave` insn). [Bug #19595] --- bootstraptest/test_yjit.rb | 32 ++++++++++++++++++++++++++++++++ yjit/src/codegen.rs | 4 +++- 2 files changed, 35 insertions(+), 1 deletion(-)
Diffstat (limited to 'test')
0 files changed, 0 insertions, 0 deletions