Doug Coleman
dccba5f9c3
compiler: d: and r: had too many spaces.
2017-08-31 21:21:14 -05:00
Doug Coleman
3aa096e2e5
docs: Update docs.
2017-08-31 21:21:14 -05:00
Doug Coleman
fbb5f871c4
compiler: r: d:
2017-08-31 21:21:13 -05:00
Björn Lindqvist
ab7e077b1d
Docs: fixing docs & comments to work with new stack clearing
2016-09-12 02:11:51 +02:00
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
Doug Coleman
ce046b77c8
compiler: rename D to D: because it wants a token. Same for R -> R:
2015-08-13 15:23:10 -07:00
John Benediktsson
a66bed77b3
compiler.cfg.stacks.clearing: fix help-lint.
2015-05-18 10:02:35 -07:00
John Benediktsson
c7ea419874
compiler.cfg.stacks.clearing: fix tests.
2015-05-17 09:32:44 -07: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
f9a6bb27f4
compiler.cfg.*: new test-case and setting leader-map to f is better
2015-05-09 20:10:27 -07: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
ded3760d46
compiler.*: merge of ##inc-r and ##inc-d into one instruction ##inc with a loc slot
...
this is nice because it leads to simpler code and matches how ##peek and ##replace instructions work
2015-04-29 09:31:53 -07:00
Doug Coleman
e4e6c0031a
compiler.cfg.stacks.clearing: Fix help-lint-all.
2015-01-22 12:30:49 -08:00
Björn Lindqvist
d2c0ae9fd9
compiler.cfg.stacks.*: more docs
2015-01-22 12:17:21 -08:00
Björn Lindqvist
71b054cf39
compiler.cfg.stacks.*: updated tests to match
2015-01-22 12:17:21 -08:00
Björn Lindqvist
d19869f906
compiler.cfg.stacks.*: many new and fixed tests
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