The register allocator pops from the unhandled-intervals and unhandled-sync-points heaps. If two live intervals share the same start slot, then they can be popped in either order leading to differently generated code. So instead use one heap (unhandled-min-heap) and both the start and end slot as the heap key to resolve tie-breakers |
||
---|---|---|
.. | ||
allocation | ||
assignment | ||
debugger | ||
live-intervals | ||
numbering | ||
resolve | ||
linear-scan-docs.factor | ||
linear-scan-tests.factor | ||
linear-scan.factor | ||
summary.txt |