Björn Lindqvist
2cc8b5e7de
compiler.cfg.linear-scan.allocation.spilling: fix stack effect
2016-04-03 20:56:30 +02:00
Björn Lindqvist
89e98e96a4
compiler.cfg.linear-scan.live-intervals: hairy- and clober-insn moved to
...
this vocab
2016-04-03 20:56:30 +02:00
Björn Lindqvist
1a71407112
compiler.cfg.linear-scan.assignment: refactoring + tests
...
better expire-old-intervals, activate-new-intervals and assign-gc-roots
2016-04-03 20:56:29 +02:00
Björn Lindqvist
86606213de
compiler.cfg.linear-scan.assignment: refactoring
...
Better definitions for expire-old-intervals, activate-new-intervals and
assign-registers-in-insn.
2016-04-03 20:56:29 +02:00
Björn Lindqvist
54d7b50d1b
compiler.cfg.linear-scan.live-intervals: better way to write insn>sync-point
2016-04-03 20:56:29 +02:00
Björn Lindqvist
3ef33708ae
compiler.cfg.linear-scan.assignment: dont think prepare-insn should be called twice here
2016-04-02 17:48:23 +02:00
Björn Lindqvist
026abb9c38
compiler.cfg.linear.scan.*: makes it so ranges and uses are guaranteed
...
to be vectors
Simplifies the code and makes it a little faster.
2016-04-02 17:48:23 +02:00
Björn Lindqvist
95c1b6bbe3
compiler.cfg.linear-scan.live-intervals: doc lint fixes
2016-04-01 23:42:00 +02:00
Björn Lindqvist
a60f122c5e
basis.compiler.cfg.linear-scan.*: fixing boostrap problems due to the
...
word rename
Sorry for the noise.
2016-04-01 20:16:13 +02:00
Björn Lindqvist
eb68ad6932
compiler.cfg.linear-scan.allocation.splitting: fix HINTS: specialization
...
for split-interval
2016-04-01 19:38:45 +02:00
Björn Lindqvist
52e78441f8
compiler.cfg.linear-scan.live-intervals: simplify uses-vregs*
2016-04-01 19:16:35 +02:00
Björn Lindqvist
76be7b54ed
compiler.cfg.linear-scan.*: removed start and end from live-interval-state
...
They weren't needed because start>> was always equal to ranges min and
end>> ranges max
2016-04-01 19:16:35 +02:00
Doug Coleman
46f781a56f
compiler.tests.stack-trace: remove temp-file usage.
2016-03-31 07:37:50 -07:00
Doug Coleman
41209a3a42
summary.txt: Delete empty lines and empty files.
2016-03-30 22:11:51 -07:00
Doug Coleman
391f8e433f
basis: Cleaning up tests using lists and IN: forms.
2016-03-30 20:04:14 -07:00
John Benediktsson
1721f9e314
fix some tests for the sets:set change.
2016-03-29 20:43:46 -07:00
John Benediktsson
71ef8a22c2
disambiguate namespaces:set and sets:set.
2016-03-29 17:14:42 -07:00
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