John Benediktsson
e7a42b1dc4
sets: rename unordered-set back to set.
2016-03-29 15:46:29 -07:00
John Benediktsson
3f18b71d07
cleanup some QUALIFIED: that are no longer needed.
2016-03-29 10:20:16 -07:00
Björn Lindqvist
ff99f69f02
compiler.cfg.save-contexts: fix $link markup
2016-03-27 23:47:08 +02:00
Björn Lindqvist
07aee7525f
compiler.cfg.save-contexts: ##save-context isn't need in front of ##call-gc
...
The reason is because the minor-gc primitive itself saves the
context. Not inlining context saves, saves 20 bytes/call site.
2016-03-27 19:21:50 +02:00
Björn Lindqvist
63ef600aa3
compiler.cfg.*: indentation fixes
2016-03-27 19:21:50 +02:00
Doug Coleman
d3bc2035a2
factor: remove rest of double paren words.
2016-03-25 03:13:27 -07:00
John Benediktsson
6e035c3640
compiler.tests: fix a few KERNEL-ERROR.
2016-03-22 15:22:15 -07:00
John Benediktsson
9cc73c9492
graphs: move to core and simplify.
...
1. remove add-vertex* and remove-vertex* that contradicted the documentation.
2. graphs use hash-sets of edges instead of hashtables of {edge,edge} pairs.
3. make graphs:closure work like classes:closure, use in classes.
2016-03-21 10:20:38 -07:00
Björn Lindqvist
bce3a88287
stack-checker.known-words: fix input class declaration for <string>
...
it should be { integer-array-capacity integer } ofcourse
2016-03-19 18:59:19 +01:00
Björn Lindqvist
6f9ff8813e
compiler.*, stack-checker.known-words: adds the integer-array-capacity
...
This commit adds the integer-array-capacity declaration on a few
words. It should make loopy code compile faster and fix #1339
2016-03-18 20:46:41 +01:00
Björn Lindqvist
be4484d708
compiler.tree.*: fixes the propagation and dead-code removal logic so it
...
becomes aware of integer-array-capacity
2016-03-18 20:39:28 +01:00
Björn Lindqvist
a3ce61f8da
compiler.tree.cleanup: more docs and a test
2016-03-18 19:21:31 +01:00
Björn Lindqvist
6576660069
compiler.tree.dead-code.simple: tests and more docs
2016-03-18 19:21:31 +01: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
4a472d7882
compiler.cfg.builder.blocks: return the slots, they are absolutely
...
needed for bootstrap
2016-03-16 14:08:49 +01:00
Björn Lindqvist
f906f1c282
compiler.cfg.*: the make-kill-block word is not needed
2016-03-16 12:26:03 +01:00
Björn Lindqvist
5ca571e304
compiler.cfg.builder.blocks: some cleanup
2016-03-16 11:48:31 +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
d62240a0a2
compiler.codegen.relocation.tests: fix test so it works on windows too
2016-03-13 07:37:49 +01:00
Björn Lindqvist
db4c4665f3
Docs: doc updates
2016-03-13 07:37:20 +01:00
Björn Lindqvist
076abf04ce
compiler.*: new tests
2016-03-09 23:24:43 +01:00
Björn Lindqvist
b51bd79819
compiler.cfg.*: new doc files
2016-03-09 23:24:43 +01:00
Björn Lindqvist
442827ade9
compiler.cfg.intrinsics.fixnum: more docs and tests
2016-03-09 23:24:43 +01:00
Björn Lindqvist
b27634bff7
compiler.cfg.builder.blocks: removes assignments to basic-block variable
...
Now it isn't used at all in the cfg creation step.
2016-03-09 23:24:43 +01:00
Björn Lindqvist
9df955e199
compiler.cfg.*: big changes which removes the last basic-block uses
...
All intrinsic code generating words signatures are changed from ( node
-- ) to ( block node -- block' ) so the current block is now always
passed on the stack.
2016-03-09 23:24:42 +01:00
Björn Lindqvist
482998974b
compiler.cfg.*: more refactoring to remove basic-block get:s
...
Now almost all words pass around the current basic block on the
stack. Left is updating all intrinsics.
2016-03-09 23:24:42 +01:00
Björn Lindqvist
f9c6d7cc43
compiler.cfg.*: changes to remove basic-block variable
...
The emit-node generics signature is changed to ( block node -- block' )
so that it always returns the next block to operate on. Signature for a
lot of related words are changed similarily. Now there is only a few
basic-block usages left.
2016-03-09 23:24:42 +01:00
Björn Lindqvist
07adc2ecae
compiler.cfg.*: changed generic emit-node to take the current block as
...
stack parameter
The idea is to eventually completely remove the basic-block dynamic
variable from cfg construction.
2016-03-09 23:24:42 +01:00
Björn Lindqvist
5663d39a76
compiler.*: more docs
2016-02-28 01:01:38 +01:00
Björn Lindqvist
7247906bf8
vm: remove vm-field-offset and context-field-offset
...
Shorter to just write "vm offset-of" and "context offset-of"
2015-12-14 09:29:18 +01:00
John Benediktsson
3affad7681
docs: using $maybe.
2015-12-11 17:05:45 -08:00
Björn Lindqvist
24db8a5d7f
compiler.tests.callstack-overflow: disable test for os x 64, see #1478
2015-12-08 02:16:51 +01:00
Björn Lindqvist
a35895f222
compiler.cfg.intrinsics: fix doc and make tests work on 32bit
2015-12-01 13:43:45 +01:00
Björn Lindqvist
02c80423ba
compiler.cfg.intrinsics.slots: refactor + docs & tests
2015-11-28 01:55:12 +01:00
Björn Lindqvist
6a2c36f5ec
compiler.cfg.builder.blocks: help-lint fix
2015-11-23 16:32:01 +01:00
Björn Lindqvist
63fd4d25cf
compiler.cfg.*: more fixes to pass basic-block on the stack than in a
...
dynamic variable
2015-11-22 01:06:11 +01:00
Björn Lindqvist
1421779c9e
compiler.cfg.*: refactors words to take a block parameter instead of
...
using the basic-block dynamic variable
the idea is to make the code easier to follow by limiting the use of
dynamic variables
2015-11-22 00:37:34 +01:00
Björn Lindqvist
e1b22e0af4
compiler.tree.dead-code.simple: small refactoring and docs
2015-11-22 00:37:33 +01:00
Björn Lindqvist
097b40ce41
compiler.tree.propagation.recursive: better counter-class
2015-11-22 00:37:33 +01:00
Björn Lindqvist
a3be724f5a
compiler.tree.propagation.info: better code for wrap-interval
2015-11-16 12:30:24 +01:00
Björn Lindqvist
7b18618b3e
compiler.cfg.linear-scan.allocation.state: fixes the the 64-bit-o-centric testcases
2015-11-04 13:54:14 +01:00
Björn Lindqvist
bb6fa7267c
compiler.cfg.linear-scan.allocation.state: help-lint fixes
2015-11-04 13:38:59 +01:00
Björn Lindqvist
f692200547
compiler.cfg.*: refactoring which removes spill-area-size and
...
spill-area-align from cfg
This makes the code for building the stack frame simpler.
2015-11-04 07:53:19 +01:00
Björn Lindqvist
cfe4fec574
compiler.cfg.linear-scan.*: make it so cfg is given as an argument to next-spill-slot
2015-11-04 07:53:19 +01:00
Björn Lindqvist
4890239c3c
compiler.tree.propagation.tests: #1370 specific test
2015-09-22 09:03:16 +02:00
Björn Lindqvist
804348287c
Docs: fix a bunch of help-lint warnings
2015-09-22 08:52:59 +02:00
Björn Lindqvist
c5b92cedcb
compiler.*: even more compiler docs
2015-09-22 08:52:59 +02:00
Björn Lindqvist
4db173cadb
compiler.*: random doc and tests updates
2015-09-22 08:52:59 +02:00