Commit Graph

9 Commits (1b1842f62d6b96669c577feb5604dc49ecdd9322)

Author SHA1 Message Date
Björn Lindqvist 349f99661d compiler.*: Remove the scrubbing part of the GC maps
Instead of generating GC maps which describe which stack locations that
are uninitialized, we emit ##clear instructions for those locations in
front of ##call-gc instructions. This makes the context root scanning
much simpler because the GC can assume that all stack slots are
initialized. It also removes the compiler.cfg.stacks.vacant pass and
seem to reduce the image size slightly because many fewer GC maps needs
to be emitted.
2016-09-11 20:34:44 +02:00
Björn Lindqvist 2f71e91dce compiler.cfg.stacks.*: rename trace-stack-state2 -> trace-stack-state 2016-09-09 08:06:02 +02:00
Björn Lindqvist 9ceea3c241 compiler.*: new cfg instruction ##clear, it makes it easier to see where
the compiler.cfg.stacks.clearing pass inserts extra instructions
2015-05-17 07:59:34 +02:00
Björn Lindqvist 6dd2fe31b6 compiler.cfg.stacks.*: new attempt at fixing the gc maps bugs
the padding vocab is inverted so that instead of trying to track which
locations are live, it tracks those which are dead which is much easier
to get right.
2015-05-17 07:59:34 +02:00
Björn Lindqvist ecf3829843 compiler.cfg.stacks.*: new vocab 'padding' to perform much more accurate
live analysis. it will replace the 'map' vocab
2015-05-09 20:04:22 -07:00
Björn Lindqvist a195e361df compiler.cfg.stacks.*: create-locs, word for creating stack locations
from a sequence
2015-05-09 20:04:21 -07:00
Björn Lindqvist 71b054cf39 compiler.cfg.stacks.*: updated tests to match 2015-01-22 12:17:21 -08:00
Björn Lindqvist d4493858da compiler.cfg.stacks.*: vacant-peek checking readded 2015-01-22 12:17:20 -08:00
Björn Lindqvist 640759ffed compiler.cfg.*: new step in finalization: clear-uninitialized
this step is supposed to analyze the cfg, find where there are peeks
that can cause stack underflow, and insert replace-imm instructions so
that there are no uninitialized stack locations if they do. could fix #1187
2015-01-22 12:17:20 -08:00