Commit Graph

2080 Commits (2cc8b5e7de08ef8bc337dca320f2e0fb1699aff6)

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