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
Björn Lindqvist
3e485652fe
compiler.tree.propagation.slots: looks like you can do without the
...
constructor-output-class word
2015-09-22 08:52:59 +02:00
Björn Lindqvist
09ad5bd617
compiler.tree.propagation.slots: docs & tests for the vocab
2015-09-22 08:52:59 +02:00
Björn Lindqvist
4ee88bdc3d
compiler.tree.propagation.info: better logic for comparing value-infos
...
Now the slots of the value infos only matter if the class of the first
info is at least as large as the class of the second info
2015-09-22 08:52:37 +02:00