Doug Coleman
2114b7efc5
factor: ALIEN: to alien:
2017-08-31 21:21:13 -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
15b13870ae
peg.ebnf: Clean up EBNF: syntax.
...
The syntax for an EBNF parser is now ``EBNF: identifier string``. The
inline syntax went from [EBNF ... EBNF] to EBNF[[ ]], EBNF[=[ ]=], etc.
<EBNF looked for a main word, but this functionality is just EBNF[[ ]]
now.
2017-08-05 22:23:57 -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
178701f117
compiler.crossref: stray char broke bootstrap, sorry
2017-07-05 11:56:03 +02:00
Björn Lindqvist
aab79a655c
compiler.*: more docs
2017-07-05 00:51:26 +02:00
Doug Coleman
01aab7c884
Factor: Rename <enum> to <enumerated> to not confuse with ENUM:s
2017-07-03 12:47:19 -07: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
72eaa9d466
compiler.tree.propagation.call-effect: I deleted an important method on compose on accident.
2017-06-02 23:31:35 -05:00
Doug Coleman
32710df620
core/basis: Rename tuples kernel:curry -> curried, kernel:compose -> composed.
...
Also rename the stack-checker curried -> curried-effect, composed -> composed-effect.
2017-06-02 17:39:20 -05: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
42a7a8e572
compiler: Rename start -> start-compilation, finish -> finish-compilation.
...
These start/finish are cute names, but ``finish`` is pretty vague even in the same file in the ``deoptimize-with`` word.
2017-06-01 14:51:18 -05:00
Doug Coleman
7c7bb93c55
factor: Rename GENERIC# to GENERIC#:.
...
Fixes #1670 .
2017-06-01 13:58:58 -05:00
John Benediktsson
3a6eefcc8e
using ignore-errors instead of [ drop ] recover.
2017-02-09 15:50:33 -08:00
John Benediktsson
a8b66764d5
compiler.utilities: move conjoin-at tests.
2017-02-08 11:16:00 -08: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
Jon Harper
ccbf1c1429
core layouts, remove hardcoded tag width
...
109aa88b06 showed the places were it was hardcoded
2017-01-04 07:29:08 -08:00
Björn Lindqvist
aa5334420c
stack-checker.dependencies: moving the add-depends-on-class word + new docs
2016-12-09 11:28:18 +01:00
Björn Lindqvist
1f3394af26
compiler.*: places where filter-word-defs can be used
2016-12-06 09:00:01 +01:00
Björn Lindqvist
5c7627a777
stack-checker.dependencies: removing the add-depends-on-<blah> words
2016-12-03 15:50:55 +01: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
b42668ebeb
compiler,stack-checker.dependencies: init-dependencies isn't needed
2016-11-30 07:29:10 +01:00
Björn Lindqvist
e629f7b289
compiler.crossref: changes the way in which dependencies are stored on words
...
Previosly, they were stored in three sequences in the properties
"conditional-dependencies" "effect-dependencies" and
"definition-dependencies". It seem to better to store all three
types in one big property called "dependencies".
2016-11-30 07:29:10 +01:00
Björn Lindqvist
d6eb6f2c76
compiler.crossref: better way to store the dependencies on words
2016-11-28 04:13:58 +01:00
Björn Lindqvist
14e8688112
stack-checker.dependencies: changes the names of the dependency constants
...
Now named using the +blah+ convention which we're using elsewhere for
symbolic constants.
2016-11-28 02:04:28 +01:00
Björn Lindqvist
99653bab91
compiler.crossref: better code for getting dependencies-of + tests
2016-11-28 02:04:28 +01:00
Björn Lindqvist
6c73529525
compiler.codegen: we don't need the init-fixup word
2016-11-28 02:04:28 +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
00d4572e6c
basis,extra: refactorings to use the ignore-error and ignore-error/f words
2016-11-18 23:41:36 +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
Björn Lindqvist
e9f9903393
Revert "compiler.tree.dead-code.simple: undo e1b22e0af4 ( #1513 )"
...
This reverts commit 5a0e583279 .
2016-11-11 13:18:10 +01:00
Björn Lindqvist
5a0e583279
compiler.tree.dead-code.simple: undo e1b22e0af4 ( #1513 )
...
This will likely cause some test failures. mac32 hopefully won't crash.
2016-11-11 00:21:35 +01:00
Björn Lindqvist
eabf237863
compiler.tree.propagation.recursive: redoing
...
097b40ce41 (#1513 )
2016-11-06 19:08:35 +01:00
Björn Lindqvist
b31c0b8857
Docs: bunch of random doc updates
2016-10-31 11:46:39 +01:00
Björn Lindqvist
13cd2c4e75
compiler.tree.propagation.recursive: undoing 097b40ce41 ( #1513 )
2016-10-31 11:27:05 +01:00
Björn Lindqvist
65f1fbe90a
compiler.tree.propagation.info: redoing a3be724f5a ( #1513 )
2016-10-31 07:29:00 +01:00
Alexander Iljin
eeeb65d7d8
compiler.cfg.stacks-docs: fix a typo
2016-10-30 14:18:53 -07:00
Alexander Iljin
47cd2861fb
compiler.tree.debugger-docs: fix a typo
2016-10-30 14:18:53 -07:00
Björn Lindqvist
c74a669dad
compiler.tree.propagation.info: undid a3be724f5a to see if it solves #1513
2016-10-30 19:00:38 +01:00
Björn Lindqvist
46105b62f6
VM: change callstack>array primitive so it doesn't reverse anymore
...
This fixes one part of the #452 bug.
2016-10-13 01:34:55 +02:00
Björn Lindqvist
a102f7ad5d
compiler.cfg.*: bunch of doc updates
2016-10-08 07:08:00 +02:00
Björn Lindqvist
9eab4b5652
VM: make visit_instruction_operands() skip over uninitialized blocks
...
It will crash otherwise when compacting the code heap.
2016-09-29 06:35:35 +02:00
Björn Lindqvist
9e4a520862
compiler.test: this word is not used
2016-09-29 03:29:14 +02:00
Björn Lindqvist
409cf9bd3e
compiler.codegen: removing the insn-counts global
...
It created a histogram of instructins for debugging, but it is not so
useful...
2016-09-14 14:54:43 +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
faaa898975
compiler.codegen.*: removing the init-gc-maps word
2016-09-09 18:57:57 +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
a36ac6e435
compiler.tree: these constructor words aren't needed
2016-09-04 06:23:50 +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
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
2a19e00ff3
compiler.cfg.test-words: vocab is unused so we can remove it
2016-08-12 14:06:19 +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
ddc5ece757
alien.*: frontend varargs support! #1677
...
alien-invoke gets an extra parameter indicating if the call uses varargs
or not. In 99.9% of the cases, the parameter should be f, but is t if
varargs are indicated. E.g
: do-printf ( fmt d -- st ) int f "printf" { c-string double } t alien-invoke ;
2016-08-10 21:34:37 +02:00
Björn Lindqvist
7ab3ebfdd5
compiler.cfg.builder.alien: simpler caller-stack-frame word
2016-08-10 21:34:37 +02:00
Björn Lindqvist
24a02a1c8f
compiler.*: Backend implementation of varargs
...
It is turned off by default. Support for using it coming soon. :)
2016-08-08 12:02:19 +02:00
Björn Lindqvist
a79309680c
compiler.*, stack-checker.*: fixes to make the tests work on 32bit too
2016-08-05 16:44:19 +02:00
Björn Lindqvist
1b08ef3593
compiler.cfg.builder.*: fix for tests that broke on windows
2016-08-05 01:01:25 +02:00
Björn Lindqvist
e67745aaba
stack-checker.*: removes the in-d and out-d slots from the alien-node-params tuple
...
That data is already on the #alien-node tuple so it doesn't need to be
stored twice.
2016-08-04 20:30:58 +02:00
Björn Lindqvist
00d15b66a6
compiler.tests.alien: tests for varargs calls
2016-08-02 23:36:02 +02:00
Björn Lindqvist
5794ca6834
compiler.cfg.builder.alien.tests: fix for the test case i broke
2016-08-02 01:29:19 +02:00
Björn Lindqvist
af62d33ba9
compiler.cfg.*: lots of new tests
2016-08-01 21:52:06 +02:00
Björn Lindqvist
2e332f73b5
compiler.*: new docs
2016-08-01 21:52:05 +02:00
Björn Lindqvist
e359f3fca4
compiler.cfg.builder.alien.params: refactors the next-reg-param and reg-class-full? words
2016-08-01 21:52:05 +02:00
Björn Lindqvist
8aef16bed2
compiler.cfg.builder.alien.*: merge of with-param-regs and with-param-regs*
2016-08-01 21:52:05 +02:00
Alexander Iljin
2fd5654473
Add EOL at EOF for all authors.txt files for consistency
...
In some instances replaced CR/LF with LF.
2016-07-30 09:25:30 -07:00
Björn Lindqvist
75a3e191b2
compiler.*: a bunch of random doc additions
2016-06-21 23:15:20 +02:00
Björn Lindqvist
2fe26444aa
compiler.cfg.builder.*: docs and tests
2016-05-24 17:22:38 +02:00
Björn Lindqvist
249483fc4f
compiler.cfg.value-numbering.*: new docs
2016-05-24 17:21:27 +02:00
Björn Lindqvist
0cbd0552b0
bootstrap.image.primitives: resize-byte-array can also use integer-array-capacity
2016-05-24 14:20:46 +02:00
Björn Lindqvist
e60d45a169
Docs: fixing help-lint failures
2016-05-20 13:35:08 +02:00
Björn Lindqvist
9f0cd740c8
compiler.constants: docs
2016-05-19 21:49:51 +02:00
Björn Lindqvist
27f9613694
compiler.cfg.value-numbering.comparisons: some duplicated words that can
...
be removed
2016-05-19 16:15:36 +02:00
Björn Lindqvist
3810889f91
compiler.cfg.value-numbering.graph: docs and test
2016-05-19 16:10:06 +02:00
Björn Lindqvist
1eaa151a3c
compiler.cfg.value-numbering.comparisons: docs and tests
2016-05-19 14:04:23 +02:00
Björn Lindqvist
05de15bdc1
compiler.cfg.utilities: rewrite apply-passes as a macro
...
It makes for more detailed callstacks when profiling.
2016-05-18 23:49:03 +02:00