Doug Coleman
|
ce046b77c8
|
compiler: rename D to D: because it wants a token. Same for R -> R:
|
2015-08-13 15:23:10 -07:00 |
Björn Lindqvist
|
b544c1b352
|
compiler.cfg.*: some extra unit tests for the compiler
|
2015-07-28 17:58:29 -07:00 |
Björn Lindqvist
|
2c5f00d865
|
compiler.cfg.*: even more docs
|
2015-07-28 17:58:28 -07:00 |
Björn Lindqvist
|
81c7659360
|
compiler.cfg.instructions: rename ##allocation to allocation-insn,
because it's nicer if all instruction unions have the -insn suffix and
the ## prefix is reserved for tuples
|
2015-07-28 17:58:27 -07:00 |
Doug Coleman
|
892c62e1dc
|
factor: second stab at [ ] [ ] unit-test -> { } [ ] unit-test
|
2015-07-03 09:39:59 -07:00 |
Doug Coleman
|
59f3b1ea57
|
Revert "factor: rename [ ] [ ] unit-test -> { } [ ] unit-test using a refactoring tool!"
Needs a bit more work.
This reverts commit 7e54cc2824 .
|
2015-07-02 13:47:06 -07:00 |
Doug Coleman
|
7e54cc2824
|
factor: rename [ ] [ ] unit-test -> { } [ ] unit-test using a refactoring tool!
|
2015-07-02 11:36:08 -07:00 |
John Benediktsson
|
2c3492a916
|
minor cleanup to some docs.
|
2015-05-13 16:09:14 -07:00 |
Björn Lindqvist
|
0c2559ef6e
|
compiler.*: a bunch more compiler docs
|
2015-05-09 20:04:22 -07:00 |
Björn Lindqvist
|
8f02cad9c5
|
compiler.cfg.*: a bunch of new tests
|
2015-05-09 20:04:22 -07:00 |
Björn Lindqvist
|
745d3f29b2
|
compiler.cfg.*: a bunch of new docstrings and other doc fixes
|
2015-04-29 09:31:56 -07:00 |
Björn Lindqvist
|
4390561a6e
|
compiler.cfg.*: new word reset-vreg-counter, useful for making test writing more convenient
|
2015-04-29 09:31:55 -07:00 |
Björn Lindqvist
|
ded3760d46
|
compiler.*: merge of ##inc-r and ##inc-d into one instruction ##inc with a loc slot
this is nice because it leads to simpler code and matches how ##peek and ##replace instructions work
|
2015-04-29 09:31:53 -07:00 |
Björn Lindqvist
|
74ea76a3c9
|
compiler.cfg: unlikely? slot unused, lets get rid of it
|
2015-04-29 09:31:53 -07:00 |
John Benediktsson
|
c65877104e
|
compiler: cleanup usings.
|
2014-12-13 16:10:21 -08:00 |
John Benediktsson
|
068ddd6c7b
|
compiler: cleanup cfg passes to have stack effect ( cfg -- )
|
2014-12-11 12:48:43 -08:00 |
Björn Lindqvist
|
e5866dfa80
|
compiler.cfg.*: changed stack effect of needs-predecessors from ( cfg -- cfg') to ( cfg -- )
|
2014-12-11 14:30:47 +01:00 |
Björn Lindqvist
|
5fe9ce4235
|
compiler.cfg: fix stack effect of cfg-changed and predecessors changed to ( cfg -- )
|
2014-12-11 14:30:46 +01:00 |
Björn Lindqvist
|
96396cb3ad
|
compiler.*: use block>cfg and insns>block in many tests instead of wordier code
|
2014-11-22 17:31:38 -08:00 |
Doug Coleman
|
712aa303db
|
compiler, stack-checker docs: Fix for 32-bit builds.
|
2014-07-03 12:21:17 -07:00 |
Björn Lindqvist
|
c76a994f27
|
Docs: new stub documentation for vocabs in compiler.cfg
|
2014-06-08 11:48:29 -07:00 |
Björn Lindqvist
|
e2eebdec4d
|
Docs: mostly fixes for doc errors found by help lint
|
2014-05-10 17:13:49 -07:00 |
John Benediktsson
|
6a183718fa
|
compiler.cfg: don't need to escape the symbol here.
|
2012-08-02 15:14:42 -07:00 |
Slava Pestov
|
910748819d
|
Now that #foo and ##foo are symbols we can remove a bunch of \
|
2011-11-12 22:04:26 -08:00 |
Doug Coleman
|
6cca0ea468
|
compiler.cfg: Rename <##foo> to ##foo, in the low-level IR
|
2011-11-11 19:48:38 -08:00 |
Doug Coleman
|
eb2a0c611b
|
compiler.cfg: Change low-level IR constructors from ##foo to <##foo>
|
2011-11-06 23:02:46 -08:00 |
Slava Pestov
|
b5fc39c198
|
compiler.cfg: Reading the return value of a float-returning function on x86-32 had a side effect of popping the x87 stack, so it was not correct for DCE to just eliminate this if the return value was not used. Fix this by adding a new dead-outputs slot to alien-call-insns and having DCE move dead returns there
|
2010-08-13 23:19:56 -07:00 |
Slava Pestov
|
e5dd21b0b9
|
compiler.cfg: nuke ##allot-byte-array instruction
|
2010-07-16 19:57:45 -04:00 |
Slava Pestov
|
e27adb2830
|
compiler: re-architect low-level optimizer to allow more than one output value per instruction
|
2010-07-13 07:40:14 -04:00 |
Slava Pestov
|
a55c8ee671
|
FFI rewrite part 6: deconcatenatize
|
2010-07-02 15:44:12 -04:00 |
Slava Pestov
|
5d6816d364
|
compiler.cfg.ssa: fixing test failures
|
2010-06-15 17:18:51 -04:00 |
Slava Pestov
|
e86f434f26
|
Add GC maps to ##box, ##box-long-long, ##alien-invoke, ##alien-indirect and ##call-gc; remove ##gc-map instruction
|
2010-06-14 19:39:46 -04:00 |
Slava Pestov
|
806e54630a
|
GC maps for more compact inline GC checks
|
2010-06-11 20:06:00 -04:00 |
Slava Pestov
|
5ecd2b61c7
|
compiler.cfg: more silly optimizations
|
2010-05-14 18:37:09 -04:00 |
Slava Pestov
|
627295f094
|
Language change: tuple slot setter words with stack effect ( value object -- ) are now named FOO<< instead of (>>FOO)
|
2010-05-06 17:21:02 -04:00 |
Slava Pestov
|
df86d1341f
|
compiler.cfg: clean up ##phi literals in tests
|
2010-05-03 17:34:24 -04:00 |
Slava Pestov
|
c55a6bb385
|
compiler.cfg.gc-checks: move phi instructions into GC check block, to ensure correct behavior
|
2010-05-03 17:34:17 -04:00 |
Slava Pestov
|
95ff5ffe51
|
New GC checks work in progress
|
2010-05-03 17:34:16 -04:00 |
Slava Pestov
|
503c0fcfde
|
compiler: Start using tagged-rep for stuff, and split up compiler.cfg.representations into several sub-vocabularies
|
2010-05-03 17:34:01 -04:00 |
Slava Pestov
|
a3b5c07e80
|
Minor bug fixes for 4-bit tags
|
2009-11-02 17:41:36 -06:00 |
Slava Pestov
|
e4ad642134
|
vm: 4 bit tags, new representation of alien objects makes unbox-any-c-ptr more efficient (work in progress)
|
2009-11-02 04:25:54 -06:00 |
Doug Coleman
|
1d12a6707d
|
sigma -> map-sum
|
2009-10-29 14:34:04 -05:00 |
Slava Pestov
|
b4e36608da
|
compiler.cfg: remove _gc instruction, it doesn't need to exist, and change GC checks to ensure that the right amount of space is available instead of blindly checking for 1Kb
|
2009-10-05 05:27:49 -05:00 |
Slava Pestov
|
b9577e2b0e
|
compiler.cfg.instructions: remove ##box-float, ##unbox-float, ##box-vector, ##unbox-vector since they can be expressed in terms of ##alien-double, ##set-alien-double, ##alien-vector, ##set-alien-vector, and ##allot
|
2009-10-01 18:07:50 -05:00 |
Doug Coleman
|
3f3d57032b
|
Delete empty unit tests files, remove 1- and 1+, reorder IN: lines in a lot of places, minor refactoring
|
2009-08-13 19:21:44 -05:00 |
Slava Pestov
|
d0c393aa60
|
compiler.cfg: new system to track when results of analyses need to be recomputed (reverse post order, linear order, predecessors, dominance, loops). Passes can now call needs-predecessors, needs-dominance, needs-loops at the beginning, and cfg-changed, predecessors-changd at the end. Linearization order now takes loop nesting into account, and linear scan now uses linearization order instead of RPO.
|
2009-08-08 20:02:56 -05:00 |
Slava Pestov
|
4b7ba38aab
|
compiler.cfg: virtual registers are integers now, and representations are stored off to the side. Fix bug in representation selection that would manifest if a value was used as a float and a fixnum in different branches; cannot globally unbox float in this case
|
2009-08-08 04:02:18 -05:00 |
Slava Pestov
|
725280d424
|
Split off the notion of a register representation from a register class
|
2009-08-07 17:44:50 -05:00 |
Slava Pestov
|
e1c7f7394a
|
compiler.cfg: clean up unit tests using some new utilities
|
2009-08-02 03:49:25 -05:00 |
Slava Pestov
|
be363d1a5b
|
compiler.cfg: Get inline GC checks working again, using a dataflow analysis to compute uninitialized stack locations in compiler.cfg.stacks.uninitialized. Re-enable intrinsics which use inline allocation
|
2009-07-30 09:19:44 -05:00 |