Open ysbaddaden opened 4 days ago
AArch64 CI is failing with "fork not implemented" :raised_eyebrow:
EDIT: the issue is the legacy crystal compiler in the images (1.0.0 by default :scream:) that doesn't support the has_method?
macro outside of methods, so we can't generate different method implementations :face_exhaling:
Actually, I prefer the version with a single def
and different bodies, instead of different defs.
A small refactor that extracts a few methods from
#codegen_many_units
:#sequential_codegen(units)
#parallel_codegen(units, n_threads)
#wants_stats_or_progress?
Also fixes the behavior of stats vs progress: we only need to collect reused modules for compilation stats (not for progress). Sequential compilation now correctly increments progress in sequential mode (progress was stuck at 0 when threads=1 which is always true on Windows).Extracted as #14763.TODO:
#codegen
since it doesn't need to take care of theunits.size == 1
case anymore; maybe even merge#codegen_many_units
into#codegen
:thinking:Extracted from #14748.