Commit Graph

175 Commits (aa47ba1df703c2e1fb2cad892b3458debf30a4a4)

Author SHA1 Message Date
Doug Coleman 4bcae2590c factor: Rename all #foo words except # so # can be a sigil. 2018-08-10 13:15:25 -05:00
Doug Coleman 924b434336 Revert "factor: vocab:word -> vocab::word"
This reverts commit 354f1cbd34.
2018-08-02 08:21:52 -04:00
Doug Coleman 7730fc5c64 Merge remote-tracking branch 'origin/master' into modern-harvey2 2018-08-02 07:57:42 -04:00
Doug Coleman 4e9d383fe5 docs: Fix help-lint-all mistakes. 2018-07-07 01:13:19 -05:00
Doug Coleman 53b1a81049 Merge branch 'master' into modern-harvey2 2018-06-20 00:26:12 -05:00
Doug Coleman 9f213f96f6 core: Add the shuffler words but without primitives.
The nipd branch slowed bootstrap by a minute, this patch does not.

sorry about changing the fjsc line endings...
2018-06-19 22:52:58 -05:00
Doug Coleman a2e8fb9050 Merge remote-tracking branch 'origin/master' into modern-harvey2 2018-02-18 11:29:09 -06:00
John Benediktsson 7d628b833d fix some typos in docs. 2018-02-12 16:22:49 -08:00
Doug Coleman 354f1cbd34 factor: vocab:word -> vocab::word 2017-12-29 00:43:25 -08:00
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
Alexander Iljin 2ffa446f5b *-docs: replace double spaces with single spaces
Code examples and other places where multiple spaces were used to align
text were left intact.
2017-06-05 13:16:07 -07:00
Doug Coleman e189954ecc core: Rename iota to <iota> so we can have TUPLE: iota ... ; instead of TUPLE: iota-tuple ... ; 2017-06-02 11:57:05 -05:00
Alexander Iljin eeeb65d7d8 compiler.cfg.stacks-docs: fix a typo 2016-10-30 14:18:53 -07:00
Björn Lindqvist a102f7ad5d compiler.cfg.*: bunch of doc updates 2016-10-08 07:08:00 +02: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
Björn Lindqvist 9decb6a91e compiler.cfg.*: better way to store the block height
It is stored as a height-state instance on the height slot of the
basic-block. It will make better analysis possible because you see how
much the height increased or decreased in the block.
2016-09-08 04:01:25 +02:00
Björn Lindqvist 670d2c344e compiler.cfg.stacks.*: new word local-loc>global, replacing untranslate-loc 2016-09-08 04:01:25 +02:00
Björn Lindqvist 6f06b51443 compiler.cfg.stacks.local: simplified code for getting kill locations 2016-09-08 04:01:25 +02:00
Björn Lindqvist c640e3b8c1 compiler.cfg.*: changing height-state from a 2-el array to a tuple
This way, it is a little easier to see what is going on in the local
analysis phase.
2016-09-08 04:01:25 +02:00
Björn Lindqvist 2edda80b5e compiler.cfg.*: removing the adjust-d word
inc-stack can be used in emit-call-block if we check if the block is a
kill block in end-local-analysis
2016-09-05 12:12:01 +02:00
Björn Lindqvist ee5c28f470 compiler.cfg.stacks.*: removing the adjust word which wasn't useful 2016-09-05 10:37:29 +02:00
Björn Lindqvist 26d53f9019 compiler.cfg.*: compiler doc updates 2016-09-01 02:16:30 +02:00
Björn Lindqvist f7542e95a9 compiler.cfg.stacks.finalize: only insert blocks if they aren't empty
Previously, a lot of empty blocks were added too.
2016-09-01 01:54:11 +02:00
Björn Lindqvist b82ea14af0 sets,compiler.cfg.stacks.global: putting the refine word in sets 2016-08-30 02:34:37 +02:00
Björn Lindqvist 6c88577ee7 compiler.cfg.*: replacing the peek/replace/kill-sets with slots
So instead of storing the info in variables, it is stored in slots on
the basic-block tuple which is much nicer.
2016-08-29 12:07:47 +02:00
Björn Lindqvist e8e1811542 compiler.cfg.stacks.height: removing vocab
It was so small so better to put the words it contained in the vocabs
where they are used.
2016-08-26 11:06:17 +02:00
Björn Lindqvist f0834e7b36 compiler.prettyprint: new vocab for prettyprinting compiler types
The require-when ensures that the prettyprint methods are loaded when
both the compiler and prettyprint is loaded.
2016-08-15 15:16:41 +02:00
Björn Lindqvist a36c0cb5ac compiler.*: moving all words only relevant for testing to compiler.test 2016-08-12 15:13:51 +02:00
Björn Lindqvist 435a4e29b9 compiler.cfg.stacks.local: using compiler.cfg.debugger to ensure consistent prettyprint output 2016-08-12 13:55:10 +02:00
Björn Lindqvist af62d33ba9 compiler.cfg.*: lots of new tests 2016-08-01 21:52:06 +02:00
Björn Lindqvist 75a3e191b2 compiler.*: a bunch of random doc additions 2016-06-21 23:15:20 +02:00
Björn Lindqvist 30451ebf5a compiler.cfg.*: new slots ds-height and rs-height
They are used when recording the blocks stacks height instead of the
ds-heights and rs-heights variables. It makes the code a bit simpler.
2016-05-03 01:16:50 +02:00
John Benediktsson 71ef8a22c2 disambiguate namespaces:set and sets:set. 2016-03-29 17:14:42 -07:00
Björn Lindqvist 707bc801a4 compiler.cfg.stacks.local: replace-sets values must be hash-sets (#1507)
The compiler hang was because { D: 3 D: 2 } was unequal to { D: 2 D: 3
}, so using a set should fix that.
2016-03-16 16:32:50 +01:00
Björn Lindqvist db9093dd5c compiler.cfg.stacks.*: new docs
Mostly from making comments into doc definitions
2016-03-16 15:21:42 +01:00
Björn Lindqvist f80513cd99 compiler.cfg.dataflow-analysis: removes the -analysis from the dfa token
It makes the FORWARD-ANALYSIS: and BACKWARD-ANALYSIS: functors less
magical if the generated singletons name is the same as in the syntax.
2016-03-16 14:40:58 +01:00
Björn Lindqvist 3a9b297b3b compiler.cfg.*: better stack effect for end-stack-analysis 2016-03-16 10:53:33 +01:00
Björn Lindqvist 5663d39a76 compiler.*: more docs 2016-02-28 01:01:38 +01:00
John Benediktsson ceb75057da change ERROR: words from throw-foo back to foo. 2015-08-13 16:13:05 -07: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
Doug Coleman b6be8685c3 basis: ERROR: changes. 2015-08-13 03:20:39 -07:00
Doug Coleman e0d1b14e5c factor: don't need FROM: namespaces => set or namespaces:set anymore 2015-08-12 11:25:57 -05:00
Doug Coleman 43fb73fae6 factor: Rename I[ ]I to [I I]. Fix places where we do "string"token without whitespace. 2015-08-06 17:05:12 -05:00
Björn Lindqvist eba939c0f2 compiler.cfg.stacks.map: this vocab is subsumed by
compiler.cfg.stacks.padding which works much better
2015-07-21 13:36:11 +02:00
John Benediktsson 3ea9f09f6a fix some sets:members. 2015-07-20 09:32:31 -07:00
John Benediktsson a66bed77b3 compiler.cfg.stacks.clearing: fix help-lint. 2015-05-18 10:02:35 -07:00