Actions
Bug #19781
closedStack consistency error with tailcall and YJIT enabled
Description
src = <<-EOS
def apply_one_and_two(&block)
[1, p(1)]
end
def add_one_and_two
apply_one_and_two(&:+)
end
EOS
RubyVM::InstructionSequence.new(
"proc {|_|_.class_eval {#{src}}}",
__FILE__, __FILE__, 1,
tailcall_optimization: true,
trace_instruction: false,
).eval[self.singleton_class]
def entry
add_one_and_two
end
entry
This script causes "Stack consistency error" with ruby --yjit-call-threshold=1
on any YJIT-enabled build (3.1, 3.2, and master).
Actions
Like0
Like0Like0Like0