Commit Graph

1312 Commits (233c3dcebd576dbb2ebce3eaabf95f320d884ad9)

Author SHA1 Message Date
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