Commit Graph

2063 Commits (e6864bd5385ead42548c3e98f95b1a3c1b671b3b)

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