This causes a segfault seemingly only in release mode: name = "never_interned_#{rand(10**12)}" begin Object.new.singleton_method(name) rescue NameError => e STDERR.puts "rescued #{e.class}; e.name.class = #...tekknolagi (Maxwell Bernstein)
The following snippet causes a crash both on 3.4 and master: a = [7, begin; [(true || 2), (foo while true)]; rescue; 5; end, 6] p a def m = (begin; [(true || 2), (foo while true)]; rescue; 5; end) p m I think the...tekknolagi (Maxwell Bernstein)
The following code compiles a small loop with and without the peephole optimizer. It spawns a subprocess and waits 5 seconds before killing it to demonstrate the hang. SRC = "while true; if true then 1 end; end" pid = fork do...tekknolagi (Maxwell Bernstein)
For example, $a = Array.new(20) { "x" * 100 } o = Object.new def o.to_s = ($a.clear; GC.start; "o") $a[0] = o puts "%s %s %s" % $a This crashes for me with a segfault. `String#%` calls `rb_str_format_ary`...tekknolagi (Maxwell Bernstein)
For JITs, and in general anything with a slower cache invalidation path, I am interested in having "invalidate downward" be a possibility, even at the expense of more memory. I think ZJIT would especially benefit from opting in to using ...tekknolagi (Maxwell Bernstein)
While implementing this in ZJIT, @nirvdrum reported, and I investigated, a potential interpreter crash: module M; end C = Class.allocate C.include M C.superclass In a debug build, this crashes: plum% ./bui...tekknolagi (Maxwell Bernstein)
* [Misc #22272] Propose Kevin Menard (@nirvdrum) as a core committer (tekknolagi) * I am proposing we make Kevin Menard, a long-time and frequent contributor, a committer. * This will also help ZJIT: it would be nice if he could merg...tekknolagi (Maxwell Bernstein)
## Proposal I'd like to propose Kevin Menard (@nirvdrum) as a committer. He started full-time work on ZJIT about a year ago and has been doing excellent work since. For example, he wrote the function inliner, which is the single bigge...tekknolagi (Maxwell Bernstein)