Doug Coleman
7ccaf78071
removed: redadd these.
2017-12-28 16:03:25 -08:00
Doug Coleman
1ca1a9b6b3
compiler: move simd for now
2017-12-26 12:03:50 -08:00
Doug Coleman
8a07105d9d
factor: Fix spacing found by ``all-factor-paths [ ] rewrite-paths``
2017-12-03 19:23:37 -06:00
Doug Coleman
dbfeeebe38
compiler: Ghetto functor hack for now.
...
Quotations are strings temporarily. This is because unparse is not in core, so you can't just interpolate a quotation text into a template.
2017-12-02 19:54:11 -06:00
Doug Coleman
8e8b5f59f5
factor: update sorting functor by adding a name type to functors2.
2017-12-02 19:05:25 -06:00
Doug Coleman
3964553ed5
functors: use in compiler.
2017-12-02 18:07:34 -06:00
Doug Coleman
815591e10c
factor: m: { a b } -> M\\ a b
2017-10-12 21:22:41 -05:00
Doug Coleman
cada003d7f
factor: Rename ``M\ array generic`` to ``m: { array generic }``.
...
The problem with M\ is that it has an arity of 1 where we need it to have arity 2. Also, for multimethods, the \ disables parsing of the array that follows, e.g. ``M\ { string string } multimethod-name`` parses as ``M\ {`` and leaves the rest unparsed. This is obviously wrong.
An alternative syntax that should be implement and looks ok is ``m{ array generic }``
2017-10-01 09:51:31 -05:00
Doug Coleman
ff93f58304
Merge branch 'master' into modern-harvey
2017-09-11 17:59:01 -05:00
Alexander Iljin
504c9959a1
Update some copyright headers to follow the current convention
...
Had to look through the history to find years for some headers. Added
authors to some files as well.
2017-09-11 15:43:03 -07: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
15a7484b6f
factor: STRING: foo ; to CONSTANT: foo [[ ]]
2017-08-31 21:21:14 -05:00
Doug Coleman
5507c2b676
factor: [let to let[, [| to |[
2017-08-31 21:21:13 -05:00
Doug Coleman
147ae66ab5
factor: SYNTAX: \foo
2017-08-31 21:21:13 -05:00
Doug Coleman
fbb5f871c4
compiler: r: d:
2017-08-31 21:21:13 -05:00
Doug Coleman
c436f6dbad
factor: char: postpone: color: hexcolor: flexhexcolor: decimal:
2017-08-31 21:21:13 -05:00
Doug Coleman
2920d2ee71
factor: Rename [curry] -> currier, remove some [foo] words.
...
The [foo] convention is not descriptive and looks like special syntax.
2017-08-06 00:20:35 -05:00
Doug Coleman
27b3c4cccf
functors: FUNCTOR: ;FUNCTOR -> <FUNCTOR: ;FUNCTOR>
...
Functors contain nested definitions, much like <PRIVATE PRIVATE> blocks.
A new parser will be able to parse nested definitions unambigiously without
knowledge of the definition of <FUNCTOR: itself, which is not the case if
it looks like FUNCTOR: instead.
2017-08-05 20:41:19 -05:00
Björn Lindqvist
aab79a655c
compiler.*: more docs
2017-07-05 00:51:26 +02: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
Doug Coleman
7c7bb93c55
factor: Rename GENERIC# to GENERIC#:.
...
Fixes #1670 .
2017-06-01 13:58:58 -05:00
John Benediktsson
f4ccfa0f71
sets: moving unique/conjoin/conjoin-at to compiler.utilities.
2017-02-07 18:54:24 -08:00
Jon Harper
dc3ee923ca
compiler.cfg: add peephole opt to never untag the input of ##bit-count. fixes #1764
2017-01-04 07:29:08 -08:00
Björn Lindqvist
4d5b83c3f5
compiler.cfg.builder.alien.tests: fix test that broke windows
2016-12-01 19:52:02 +01:00
Björn Lindqvist
75b6b12d0e
compiler.cfg.*,compiler.tree.*: more docs and tests
2016-11-30 16:36:25 +01:00
Björn Lindqvist
79dcce8f39
compiler.cfg.debugger: also print the instruction number
...
it's useful to see when debugging some compiler passes
2016-11-23 18:56:03 +01:00
Björn Lindqvist
b89a305ef7
compiler.cfg.linear-scan.assignment: correct representation used when spilling
...
Previously the rep-of word was used. But as the vregs representation can
change, you need to instead use the representation it uas as the spill
point.
2016-11-15 03:49:46 +01:00
Björn Lindqvist
b1ac5ae7ca
compiler.cfg.linear-scan: more tests
2016-11-15 03:49:46 +01:00
Björn Lindqvist
ffef75f8a7
compiler.cfg.*: more docs
2016-11-15 03:49:46 +01:00
Björn Lindqvist
4d9367249b
compiler.cfg.linear-scan.*: more tests
2016-11-15 03:49:46 +01:00
Björn Lindqvist
7053c72aa1
compiler.cfg.linear-scan.allocation.spilling: <linked-hash>
2016-11-15 03:49:46 +01: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
367bff6339
compiler.cfg.builder: simplification of the shuffling logic
2016-09-04 06:22:54 +02:00
Björn Lindqvist
af7e4903a2
compiler.cfg.debugger: print -> write to not add stray newlines
2016-09-01 09:59:15 +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
c26379ea7e
compiler.cfg.debugger: better code for outputting using the formatting vocab
2016-08-30 04:04:21 +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