Slava Pestov
|
8aa41672ca
|
compiler.cfg.ssa.destruction.copies: factor out add-instructions combinator into compiler.cfg.utilities
|
2009-08-02 08:20:50 -05:00 |
Slava Pestov
|
cff5976a0d
|
Move compiler.cfg.ssa.destruction.interference to compiler.cfg.ssa.interference
|
2009-08-02 08:15:36 -05:00 |
Slava Pestov
|
87e13db946
|
compiler.cfg.ssa.destruction.interference: fix a bug and add unit tests
|
2009-08-02 08:11:30 -05:00 |
Slava Pestov
|
7ec288b013
|
compiler.cfg.debugger: fix load error
|
2009-08-02 08:11:04 -05:00 |
Slava Pestov
|
b5a978d4e5
|
compiler.cfg.ssa.destruction: add some unit tests
|
2009-08-02 06:17:44 -05:00 |
Slava Pestov
|
c61b729125
|
compiler.cfg.critical-edges: update ##phi nodes
|
2009-08-02 06:17:22 -05:00 |
Slava Pestov
|
01f51a96cd
|
compiler.cfg.utilities: add each-phi combinator to iterate over all ##phi instructions in a basic block
|
2009-08-02 06:16:58 -05:00 |
Slava Pestov
|
21489ce85e
|
compiler tests: add test case for coalescing bug
|
2009-08-02 03:49:54 -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
|
9bde92220b
|
compiler.cfg.two-operand: if last instruction in a basic block is an overflowing arithmetic op of the form x = y op x, we now convert it correctly. This fixes compiler regression with benchmark.dawes after recent coalescing changes
|
2009-08-01 23:50:47 -05:00 |
Slava Pestov
|
e01fc93812
|
compiler.tree.propagation.call-effect: fix case where quotation inlining could enter an infinite loop: [ dup call( quot -- ) ] dup call( quot -- ) etc
|
2009-08-01 23:34:14 -05:00 |
Slava Pestov
|
1ef9cd27d3
|
compiler.cfg.copy-prop: eliminate phi nodes that have the same inputs as a previous phi node in the basic block
|
2009-08-01 22:33:27 -05:00 |
Slava Pestov
|
05b7bb0079
|
Merge branch 'master' of git://factorcode.org/git/factor
|
2009-08-01 20:22:51 -05:00 |
Slava Pestov
|
20ec574965
|
compiler.cfg.ssa.destruction: fix bug in trivial-interference heuristic, and type error in code path that didn't run before
|
2009-08-01 20:22:31 -05:00 |
Daniel Ehrenberg
|
0838beed1e
|
Merge branch 'master' of git://factorcode.org/git/factor
|
2009-08-01 20:33:41 -04:00 |
Slava Pestov
|
76368cae9b
|
compiler.cfg.liveness.ssa: fix bad bug discovered by littledan
|
2009-08-01 18:54:24 -05:00 |
Slava Pestov
|
2d719534cf
|
compiler.cfg.stacks: kill set now includes all locations eliminated as a result of stack height decrease; reduces number of ##replace instructions generated by 2%
|
2009-08-01 06:12:43 -05:00 |
Slava Pestov
|
61fe034e3e
|
cpu.ppc: put spill slots and GC roots in stack frame where subroutine calls can't clobber them
|
2009-07-31 23:47:07 -05:00 |
Slava Pestov
|
7c43f71c6d
|
compiler: Oops, typos in unit tests
|
2009-07-31 22:33:02 -05:00 |
Slava Pestov
|
1993274d01
|
alien.libraries: add-library should now reload the library properly, instead of just leaking DLL handles
|
2009-07-31 19:46:18 -05:00 |
Slava Pestov
|
d515715b0c
|
compiler.cfg.ssa.destruction: fix bug in renaming triggered by sequence-parser:take-sequence
|
2009-07-31 18:34:15 -05:00 |
Slava Pestov
|
9a80fdb81b
|
Merge branch 'master' of git://factorcode.org/git/factor
|
2009-07-31 17:59:00 -05:00 |
Slava Pestov
|
957a5b7b9b
|
cpu.ppc: fix small typos
|
2009-07-31 17:57:15 -05:00 |
Doug Coleman
|
3258f9c4ef
|
fix using list on win64
|
2009-07-31 16:27:18 -05:00 |
Sam Anklesaria
|
24e5d416a7
|
added various author files
|
2009-07-31 11:10:14 -05:00 |
Slava Pestov
|
dd2dc2bb24
|
cpu.ppc: Updating PowerPC backend for codegen changes over the last two months: new shift intrinsics added, fixnum overflow intrinsics are now treated like conditionals, GC checks are more complex and have a different API
|
2009-07-30 21:44:22 -05:00 |
Slava Pestov
|
45770c6250
|
Move a bunch of GC check generation logic to platform-independent side
|
2009-07-30 21:28:27 -05:00 |
Slava Pestov
|
47920a7a0c
|
Passing -profile-compiler switch to bootstrap collects timing information from optimizer passes
|
2009-07-30 21:27:52 -05:00 |
Slava Pestov
|
b43c8b40ac
|
Merge branch 'master' of git://factorcode.org/git/factor
|
2009-07-30 19:11:02 -05:00 |
Daniel Ehrenberg
|
8134d775a8
|
Faster SSA liveness testing
|
2009-07-30 15:23:47 -04:00 |
Joe Groff
|
b6ddcafcbd
|
Merge branch 'master' of git://factorcode.org/git/factor
|
2009-07-30 11:05:36 -05:00 |
Joe Groff
|
455956b16c
|
add additional SSE2 packed integer operations
|
2009-07-30 11:05:12 -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 |
Slava Pestov
|
cd7a1d6c58
|
Oopsie
|
2009-07-30 08:27:52 -05:00 |
Slava Pestov
|
d71e2f9577
|
cpu.x86: Fix shuffle bug. Shuffling bugs occurring in code that runs before optimizer/stack checker is online are only caught at runtime during bootstrap, what a pain
|
2009-07-30 05:12:40 -05:00 |
Slava Pestov
|
d81dec5d45
|
cpu.x86: fix a bug in small-register logic on 32-bit. Also, on 32-bit, we don't need to do any special register shuffling to work with 16-bit operands since all registers have 16-bit variants. So now only 8-bit operands on x86-32 require special treatment
|
2009-07-30 05:04:46 -05:00 |
Slava Pestov
|
e1caaca6df
|
bootstrap.compiler: compile a few more words early, for a big bootstrap speed boost
|
2009-07-30 02:45:29 -05:00 |
Slava Pestov
|
a9977d7c79
|
cpu.x86: update non-optimizing compiler backends for assembler vocab split
|
2009-07-30 02:22:37 -05:00 |
Slava Pestov
|
791fbe4003
|
compiler.cfg.linear-scan: fix case where a register can be made available for only a part of a live interval's lifetime, but there are no more usages after the split location. This case never came up until global stack analysis, at which point it started to be exercised on x86-32
|
2009-07-30 02:13:30 -05:00 |
Slava Pestov
|
6274c0337a
|
compiler.cfg.ssa.destruction: fix
|
2009-07-29 23:43:00 -05:00 |
Slava Pestov
|
b133649edd
|
compiler.cfg.ssa.destruction: tweak in preparation for landing Dan's new SSA liveness analysis
|
2009-07-29 23:35:51 -05:00 |
Slava Pestov
|
1e8d13c1f1
|
cpu.x86.assembler: fix extended 8-bit registers (DIL, SIL, SPL, BPL)
|
2009-07-29 22:32:22 -05:00 |
Slava Pestov
|
8ca17d053c
|
cpu.x86: use full set of 8-bit, 16-bit and 32-bit registers on x86-64 to avoid clumsy save/restore logic
|
2009-07-29 21:56:37 -05:00 |
Slava Pestov
|
73862a9a03
|
cpu.x86.assembler: move operands to operands sub-vocabulary, clean up small-reg-* code in compiler backend
|
2009-07-29 21:44:08 -05:00 |
Slava Pestov
|
eda66805b2
|
Merge branch 'xml-fix' of git://tiodante.com/git/factor
|
2009-07-29 19:27:13 -05:00 |
Sam Anklesaria
|
c54189ce19
|
Merge branch 'master' of git://factorcode.org/git/factor
|
2009-07-29 15:51:33 -05:00 |
Slava Pestov
|
cb36a40dc4
|
compiler.cfg.linear-scan: more test fixes
|
2009-07-29 07:04:52 -05:00 |
Slava Pestov
|
cb7735ddf4
|
compiler.cfg: remove 'regs' slot from instruction tuples now that register allocation doesn't use it anymore
|
2009-07-29 06:50:46 -05:00 |
Slava Pestov
|
639a1cbb1f
|
compiler.cfg.linear-scan.resolve: fix unit tests to not depend on hashing
|
2009-07-29 06:48:01 -05:00 |
Slava Pestov
|
f3fa4debe3
|
bit-arrays: fix resize method regression after recent equal? method optimization
|
2009-07-29 06:47:50 -05:00 |
Slava Pestov
|
34432c5f18
|
compiler: fix test
|
2009-07-29 06:39:54 -05:00 |
Slava Pestov
|
74766d1ccd
|
compiler.cfg.linear-scan.assignment: modifies instructions in place instead of storing a registers assoc for further compile-time performance improvement
|
2009-07-29 06:36:14 -05:00 |
Slava Pestov
|
1532a6f2e3
|
compiler.cfg.linear-scan.assignment: more efficient data structures
|
2009-07-29 06:12:33 -05:00 |
Slava Pestov
|
50bf6f52b4
|
compiler.cfg.linearization: fix bootstrap
|
2009-07-28 22:52:07 -05:00 |
Slava Pestov
|
eabaf9fc40
|
Merge branch 'master' of git://factorcode.org/git/factor
|
2009-07-28 21:31:25 -05:00 |
Slava Pestov
|
8c6b38533c
|
compiler.cfg.linearization: rotate loops. 2x speedup with empty times loop, 1.5x speedup on benchmark.dawes
|
2009-07-28 21:31:08 -05:00 |
Sam Anklesaria
|
fe86d9f56e
|
Merge branch 'master' of git://factorcode.org/git/factor
|
2009-07-28 16:42:38 -05:00 |
Joe Groff
|
f63b322859
|
Merge branch 'master' of git://factorcode.org/git/factor
|
2009-07-28 14:38:25 -05:00 |
Joe Groff
|
7f1abec19e
|
i just cut and pasted
|
2009-07-28 14:38:10 -05:00 |
Slava Pestov
|
9afa39aa3a
|
compiler.cfg.ssa.destruction: rename coalesce word to destruct-ssa
|
2009-07-28 12:56:33 -05:00 |
Slava Pestov
|
09d89c0d17
|
Merge branch 'dcn'
|
2009-07-28 12:37:45 -05:00 |
Slava Pestov
|
d913d7331f
|
compiler.cfg: Minor optimization. Instructions can now only ever produce a single value; this eliminates 1array constructions and some iterations
|
2009-07-28 12:29:07 -05:00 |
Joe Groff
|
3e8d928d29
|
Merge branch 'master' of git://factorcode.org/git/factor
|
2009-07-28 12:20:16 -05:00 |
Joe Groff
|
9f3c8a9959
|
SSE4 opcodes for x86 assembler
|
2009-07-28 12:19:37 -05:00 |
Slava Pestov
|
7d3b6892d5
|
compiler.cfg.ssa.construction: use the optimization from the pruned-SSA paper to minimize stack pushing and popping
|
2009-07-28 11:52:42 -05:00 |
Slava Pestov
|
f1683f9fcf
|
Move set-last from circular.private to sequences
|
2009-07-28 11:51:47 -05:00 |
Slava Pestov
|
4175585fd4
|
Merge branch 'master' into dcn
|
2009-07-28 11:20:43 -05:00 |
Slava Pestov
|
037fa69a21
|
Move Joe's HEX{ syntax to byte-arrays.hex in basis
|
2009-07-28 11:20:28 -05:00 |
Slava Pestov
|
7a6bdffaaa
|
IN: fix for compiler test
|
2009-07-28 11:16:21 -05:00 |
Slava Pestov
|
62fe308776
|
compiler.cfg.ssa.construction: Use TDMSC algorithm to compute Phi placement
|
2009-07-28 11:16:10 -05:00 |
Slava Pestov
|
5fe3bcff4d
|
Faster bit-array equality, add bit-set-subset? word
|
2009-07-28 11:14:57 -05:00 |
Slava Pestov
|
d10993b837
|
compiler.cfg: Rename ssa to ssa.construction, coalescing to ssa.destruction
|
2009-07-28 09:34:08 -05:00 |
Slava Pestov
|
80e10f1bd0
|
compiler.cfg: Fix some unit tests
|
2009-07-28 08:56:14 -05:00 |
Slava Pestov
|
d394dd3c36
|
compiler.cfg.branch-splitting: re-enable with a better heuristic
|
2009-07-28 08:48:05 -05:00 |
Slava Pestov
|
ff81b055a5
|
compiler.cfg.utilities: add loop-entry? word
|
2009-07-28 08:47:50 -05:00 |
Slava Pestov
|
e6f5eab598
|
compiler.cfg.linear-scan: fix resolve pass
|
2009-07-28 08:47:35 -05:00 |
Slava Pestov
|
3edf4a2b75
|
compiler.cfg.coalescing: cleanups
|
2009-07-28 08:47:03 -05:00 |
Slava Pestov
|
cf26800dbd
|
Revert "compiler.cfg.coalescing: some cleanups"
This reverts commit e5834c4ba7 .
|
2009-07-28 07:51:44 -05:00 |
Slava Pestov
|
18717a449f
|
compiler.cfg.linear-scan.resolve: unit tests
|
2009-07-28 07:41:41 -05:00 |
Slava Pestov
|
009cfbfc8d
|
compiler.cfg.utilities: fix stack effect declaration
|
2009-07-28 07:40:09 -05:00 |
Slava Pestov
|
857ef94acc
|
compiler.cfg.linear-scan: use compiler.cfg.parallel-copy in resolve pass
|
2009-07-28 07:39:46 -05:00 |
Slava Pestov
|
f2c8f2824a
|
compiler.cfg.coalescing: some cleanups
|
2009-07-28 07:37:50 -05:00 |
Slava Pestov
|
3e6e5278a4
|
compiler.cfg.utilities: fix load error
|
2009-07-28 06:51:03 -05:00 |
Slava Pestov
|
7c5e2f2933
|
tools.annotations: doc addition
|
2009-07-28 06:49:03 -05:00 |
Slava Pestov
|
a4cb242396
|
compiler.cfg.coalescing: Only run if CFG has ##phi nodes, fix interference for case where value is not used in a block and is not live-in, forgot to run liveness analysis first
|
2009-07-28 06:48:20 -05:00 |
Slava Pestov
|
cb07256ff5
|
Add some compiler tests
|
2009-07-28 06:45:31 -05:00 |
Slava Pestov
|
1878b0dc32
|
compiler.cfg.liveness: fix liveness computation in case where instruction uses a register it defines
|
2009-07-28 06:45:02 -05:00 |
Slava Pestov
|
d2b158c8e4
|
compiler.cfg.critical-edges: reset RPO
|
2009-07-28 01:04:13 -05:00 |
Joe Groff
|
5372113fce
|
SSE1–SSSE3 opcodes + branch hints for x86 assembler
|
2009-07-28 00:22:27 -05:00 |
Slava Pestov
|
cf90945b4c
|
Add some tests that directly generate low level IR
|
2009-07-27 22:29:33 -05:00 |
Slava Pestov
|
3cc71a1934
|
compiler.cfg.coalescing: precompute live intervals, add support for instructions where output cannot equal an input, split critical edges
|
2009-07-27 22:29:17 -05:00 |
Slava Pestov
|
e8cf50ac3e
|
compiler.cfg.two-operand: make it work in more cases
|
2009-07-27 22:28:29 -05:00 |
Slava Pestov
|
423d2996fa
|
compiler.cfg.debugger: reset vreg counters
|
2009-07-27 22:28:13 -05:00 |
Slava Pestov
|
bfb2a4c1fc
|
cpu.x86: compile a load of zero, and adds, subs where dst = src1 more efficiently
|
2009-07-27 22:27:54 -05:00 |
Joe Groff
|
7493e07c68
|
disassemble method for byte-arrays. HEX{ abcd } syntax for byte-arrays
|
2009-07-27 22:14:26 -05:00 |
Sam Anklesaria
|
16e44372e3
|
Merge branch 'master' of git://factorcode.org/git/factor
|
2009-07-27 21:46:10 -05:00 |
Slava Pestov
|
c5d7ed58a5
|
Debugging compiler.cfg.coalescing
|
2009-07-27 19:24:13 -05:00 |
Slava Pestov
|
1a765c38da
|
compiler.cfg.parallel-copy: fix algorithm
|
2009-07-27 16:54:47 -05:00 |
Slava Pestov
|
31555b05cf
|
compiler.codegen: collect instruction statistics
|
2009-07-27 03:58:15 -05:00 |
Slava Pestov
|
9fa71959b5
|
compiler.cfg.coalescing: fix shuffling bug
|
2009-07-27 03:58:01 -05:00 |
Slava Pestov
|
e112b0d70e
|
compiler.cfg.phi-elimination: no longer needed
|
2009-07-27 02:20:53 -05:00 |
Slava Pestov
|
ba696b68b8
|
compiler.cfg.coalescing: more or less complete, now needs debugging
|
2009-07-27 02:20:45 -05:00 |
Slava Pestov
|
a32cbdd231
|
compiler.cfg.coalescing: more work done
|
2009-07-27 00:31:21 -05:00 |
Slava Pestov
|
501629cf75
|
compiler.tree.propagation.info: fix load error
|
2009-07-27 00:30:24 -05:00 |
Slava Pestov
|
a5e5510615
|
compiler.cfg.coalescing: work in progress
|
2009-07-26 21:11:26 -05:00 |
Slava Pestov
|
e9935b6aad
|
compiler.cfg.copy-prop: remove ##phi nodes where all inputs are copy-equivalent
|
2009-07-26 21:11:02 -05:00 |
Slava Pestov
|
fc41140720
|
compiler.cfg.utilities: move value-info utilities to compiler.tree.propagation.info
|
2009-07-26 21:10:33 -05:00 |
Slava Pestov
|
1319d8e549
|
compiler.cfg.def-use: build def-use chains
|
2009-07-26 21:10:14 -05:00 |
Slava Pestov
|
2137c9cc79
|
compiler.cfg.dominance: add pre order and max pre order numbers; use them to implement dominates? check
|
2009-07-26 21:10:05 -05:00 |
Joe Groff
|
eeb02815bc
|
set transform feedback format at program link
|
2009-07-25 21:19:56 -05:00 |
Slava Pestov
|
5bbd89f170
|
Merge branch 'dcn' of git://factorcode.org/git/factor into dcn
|
2009-07-24 20:30:11 -05:00 |
Slava Pestov
|
93764faad3
|
Merge branch 'master' of git://factorcode.org/git/factor into dcn
|
2009-07-24 20:29:09 -05:00 |
Slava Pestov
|
053de0af40
|
compiler.cfg.copy-prop: work in progress
|
2009-07-24 19:56:21 -05:00 |
Slava Pestov
|
2fb0198d48
|
compiler.cfg.parallel-copy: forgot to add this
|
2009-07-24 19:46:33 -05:00 |
Doug Coleman
|
c762d2b422
|
scaffold tools now uses the boolean type instead of "a boolean"
|
2009-07-24 18:09:14 -05:00 |
Slava Pestov
|
4624af75f4
|
compiler.cfg.phi-elimination: move some utilities from compiler.cfg.utilities here since that's the only place they get used
|
2009-07-24 16:45:31 -05:00 |
Slava Pestov
|
13c3fdcb5c
|
compiler.cfg: Fixing test failures
|
2009-07-24 06:08:07 -05:00 |
Slava Pestov
|
7068de6cd3
|
compiler.cfg.copy-prop: Global copy propagation
|
2009-07-24 05:30:46 -05:00 |
Slava Pestov
|
e0f6d89ff1
|
compiler.cfg.value-numbering: insert ##copy instructions for instructions whose expressions simplify. While subsequent usages are replaced with the instruction computing the simplified vreg locally, global usages may exist of the original instruction. In this case, the ##copy is not dead
|
2009-07-24 05:30:30 -05:00 |
Slava Pestov
|
de73534424
|
compiler.cfg.write-barrier: simplify a little bit. It doesn't need to do copy propagation, since its a separate pass now
|
2009-07-24 05:29:28 -05:00 |
Slava Pestov
|
7590ad3574
|
compiler.cfg: introduce less temporaries when building CFG
|
2009-07-24 03:37:18 -05:00 |
Slava Pestov
|
548e575ad9
|
Merge branch 'master' into dcn
|
2009-07-23 21:25:52 -05:00 |
Slava Pestov
|
2bea107202
|
compiler.cfg.builder: fix stack effect declaration
|
2009-07-23 21:24:15 -05:00 |
Slava Pestov
|
d947c61bd7
|
compiler.cfg.stacks: now performs online local DCN
|
2009-07-23 20:54:38 -05:00 |
Doug Coleman
|
f7b2e4a155
|
remove call to check-c-name
|
2009-07-23 18:14:07 -05:00 |
Doug Coleman
|
9bb38b870c
|
allow FUNCTION: to parse pointers in the name field
|
2009-07-23 18:05:09 -05:00 |
Slava Pestov
|
ff7f0e2f3b
|
Add testcase for recent bug
|
2009-07-23 18:03:14 -05:00 |
Slava Pestov
|
b1afd4c491
|
compiler.cfg.linear-scan.mapping: simplify
|
2009-07-23 18:03:04 -05:00 |
Slava Pestov
|
747a2d72c8
|
compiler.cfg.empty-blocks: new pass to delete empty blocks, runs after phi elimination
|
2009-07-23 18:02:46 -05:00 |
Slava Pestov
|
93c58a8bb5
|
compiler.cfg.branch-splitting: now that we do SSA construction we can split branches with fixnum overflow ops (which have a live-out)
|
2009-07-23 18:02:29 -05:00 |
Doug Coleman
|
555309ba86
|
fix another typo in ffi
|
2009-07-23 17:49:04 -05:00 |
Doug Coleman
|
37a9f01adc
|
fix typo in x11 binding
|
2009-07-23 17:39:12 -05:00 |
Doug Coleman
|
78bbf96a6d
|
move signed-le> to io.binary, clean up using list for math.bitwise
|
2009-07-23 15:54:57 -05:00 |
Doug Coleman
|
bad8e05937
|
Disallow C functions and parameter names that contain an asterisk
|
2009-07-23 15:48:10 -05:00 |
Joe Groff
|
739d99d4e8
|
Merge branch 'master' of git://factorcode.org/git/factor
|
2009-07-23 13:39:52 -05:00 |
Slava Pestov
|
7f87335afe
|
Merge branch 'master' into dcn
|
2009-07-22 21:12:14 -05:00 |
Slava Pestov
|
dd2bbc51b3
|
unix.types: define <time_t> alias; use it in calendar.unix to avoid clobbering data
|
2009-07-22 21:12:04 -05:00 |
Slava Pestov
|
610c3b33c7
|
compiler.cfg.intrinsics: Disable inline allocation for now
|
2009-07-22 21:11:06 -05:00 |
Slava Pestov
|
69ded76c66
|
Fixing compiler tests
|
2009-07-22 21:10:50 -05:00 |
Slava Pestov
|
45c66b58af
|
compiler.cfg.dcn.rewrite: remove unused word
|
2009-07-22 19:18:12 -05:00 |
Slava Pestov
|
5559d77d05
|
compiler.cfg.checker: eliminate dead code before checking MR
|
2009-07-22 19:17:57 -05:00 |
Slava Pestov
|
d29c275089
|
compiler.cfg.builder: Fix construction of ##return instructions from #return-recursive nodes
|
2009-07-22 19:17:21 -05:00 |
Bruno Deferrari
|
d8434ceed2
|
basis.xml: A fix for <pull-xml> (calls init-parser so that the spot variable is binded)
|
2009-07-22 20:49:57 -03:00 |
Bruno Deferrari
|
8bf389e9b5
|
basis.xml: Add test to check that pull-event doesn't raise an exception when called on a pull-xml object
|
2009-07-22 20:48:38 -03:00 |
Joe Groff
|
ac2c65e920
|
OR gl extension testing
|
2009-07-22 12:06:30 -05:00 |
Sam Anklesaria
|
cc38d1ada6
|
Merge branch 'master' of git://factorcode.org/git/factor
Conflicts:
basis/functors/functors.factor
basis/io/launcher/launcher.factor
basis/ui/gadgets/tables/tables.factor
|
2009-07-22 10:02:09 -05:00 |
Slava Pestov
|
091d2d07f2
|
Merge branch 'master' into dcn
|
2009-07-22 06:19:44 -05:00 |
Slava Pestov
|
995a96d7e4
|
compiler.cfg.dominance: fix unit tests
|
2009-07-22 06:19:31 -05:00 |
Slava Pestov
|
26a5d51d93
|
compiler.cfg.ssa: now builds pruned SSA form
|
2009-07-22 06:08:04 -05:00 |
Slava Pestov
|
d864214119
|
compiler.cfg.dominance: add algorithm for computing iterated dominance frontiers
|
2009-07-22 06:07:51 -05:00 |
Slava Pestov
|
89db2e745d
|
Move liveness back to compiler.cfg.liveness, fix a corner-case where it didn't work on some forms of non-SSA code
|
2009-07-22 06:07:28 -05:00 |
Slava Pestov
|
31491df5f1
|
Removed unused code from compiler.cfg.def-use
|
2009-07-22 06:05:33 -05:00 |
Slava Pestov
|
44bcd258f6
|
Insert _loop-entry in linearization pass instead of in CFG builder, so that optimizations don't have to worry about it
|
2009-07-22 06:05:17 -05:00 |
Slava Pestov
|
1e5ce41364
|
Fix bootstrap
|
2009-07-22 03:26:27 -05:00 |
Slava Pestov
|
25c42d04fd
|
compiler.cfg: Fix conflicts after merging local optimization refactoring into DCN branch
|
2009-07-22 03:17:53 -05:00 |
Slava Pestov
|
21a012e3d7
|
compiler.cfg: Major restructuring -- do not compute liveness before local optimization, and instead change local optimizations to be more permissive of undefined values. Now, liveness is only computed once, after phi elimination and before register allocation. This means liveness analysis does not need to take phi nodes into account and can now use the new compiler.cfg.dataflow-analysis framework
|
2009-07-22 03:08:28 -05:00 |
Slava Pestov
|
55111bdc24
|
Merge branch 'master' into dcn
|
2009-07-22 02:07:08 -05:00 |
Slava Pestov
|
c105b033ef
|
Merge branch 'master' of git://factorcode.org/git/factor
|
2009-07-22 02:06:47 -05:00 |
Slava Pestov
|
e6a323dfaa
|
compiler.cfg.dataflow-analysis: iterative dataflow analysis framework
|
2009-07-22 02:06:35 -05:00 |
Slava Pestov
|
dce020ca71
|
functors: add MIXIN:, SINGLETON:
|
2009-07-22 02:06:24 -05:00 |
Slava Pestov
|
b39b0dd393
|
compiler.cfg.dcn.global: redo using compiler.cfg.dataflow-analysis
|
2009-07-22 02:05:40 -05:00 |
Slava Pestov
|
b869e1250c
|
compiler.cfg.stack-analysis: Out with the old, in with the new
|
2009-07-22 00:52:25 -05:00 |
Slava Pestov
|
86df665f78
|
Merge branch 'master' of git://factorcode.org/git/factor into dcn
|
2009-07-22 00:14:53 -05:00 |
Slava Pestov
|
1aa6c9a0d5
|
compiler.cfg: Fix unit tests
|
2009-07-21 22:25:19 -05:00 |
Slava Pestov
|
e49de006c4
|
compiler.cfg.dcn: Fixing various bugs, hook up with optimizer
|
2009-07-21 22:24:50 -05:00 |
Slava Pestov
|
cfb584ed8d
|
Merge branch 'master' into dcn
|
2009-07-21 17:51:22 -05:00 |
Slava Pestov
|
ead57fc5dd
|
compiler.cfg.registers: minor optimization
|
2009-07-21 17:49:44 -05:00 |
Slava Pestov
|
e7e5bee9a2
|
compiler.cfg.ssa: Cytron's SSA construction algorithm
|
2009-07-21 17:49:30 -05:00 |
Slava Pestov
|
802b4ffdf5
|
compiler.cfg.dcn: remove stores to stack locations above top of stack (these are never read again)
|
2009-07-21 17:46:09 -05:00 |
Slava Pestov
|
441c2bae2d
|
Merge branch 'master' into dcn
|
2009-07-21 03:08:42 -05:00 |
Slava Pestov
|
3136549f48
|
compiler.cfg.dominance: fix idom computation, compute dominator tree, compute dominance frontiers, add some tests
|
2009-07-21 03:02:45 -05:00 |
Slava Pestov
|
fd9a353fd6
|
Move conjoin-at from compiler.cfg.liveness to sets
|
2009-07-21 03:02:06 -05:00 |
Slava Pestov
|
e16acae2f5
|
compiler.cfg.dcn: flesh out rewrite pass
|
2009-07-21 01:24:19 -05:00 |
Slava Pestov
|
fdef772d67
|
compiler.cfg: if a block has an instruction that kills values it must be the only instruction in the block
|
2009-07-19 20:12:04 -05:00 |
Slava Pestov
|
0a95ddd105
|
compiler.cfg.dcn: Implement height tracking
|
2009-07-19 19:45:23 -05:00 |
Slava Pestov
|
605b37a949
|
compiler.cfg.builder: annotate calls with height changes, once again
|
2009-07-18 23:08:53 -05:00 |
Slava Pestov
|
ec1407bdae
|
compiler.cfg.dcn: starting work on deconcatenatization pass to replace compiler.cfg.stack-analysis
|
2009-07-18 22:27:42 -05:00 |
Slava Pestov
|
a716e4cddb
|
ui.tools.listener: selecting a word from a completion popup now behaves like a USE: followed by a FROM:
|
2009-07-18 06:55:15 -05:00 |
Slava Pestov
|
db3991125f
|
FROM: and RENAME: give a more meaningful error if the vocabulary does not exist
|
2009-07-18 06:51:29 -05:00 |
Slava Pestov
|
9cbd6c52a6
|
compiler.cfg.stack-analysis: fix outdated tests
|
2009-07-18 06:38:42 -05:00 |
Slava Pestov
|
4191deb525
|
combinators.short-circuit: fix unoptimized behavior to match optimized behavior, improved unit tests
|
2009-07-18 06:38:34 -05:00 |
Slava Pestov
|
4ee1f68e30
|
Documentation fixes
|
2009-07-18 06:32:57 -05:00 |
Slava Pestov
|
32e4a97855
|
compiler.cfg.linear-scan: fix tests
|
2009-07-18 06:10:01 -05:00 |
Slava Pestov
|
60f4f4c16e
|
combinators.short-circuit: speed up in non-optimized code
|
2009-07-18 03:33:45 -05:00 |
Slava Pestov
|
343151fd62
|
compiler.tree.finalization: undo a change that resulted in a compile time regression
|
2009-07-18 03:33:24 -05:00 |
Slava Pestov
|
3ee68d1ff5
|
Disable fixnum>bignum and bignum>fixnum intrinsics since they're not very useful and they increase code size significantly
|
2009-07-18 01:07:43 -05:00 |
Slava Pestov
|
389b689796
|
slightly faster heaps, add benchmark
|
2009-07-18 00:52:24 -05:00 |
Slava Pestov
|
ea69566ddd
|
compiler.cfg.linear-scan: algorithmic optimizations
|
2009-07-18 00:14:39 -05:00 |
Slava Pestov
|
5061db2a48
|
compiler.cfg: Move tail call optimization to the end, compiler.tree: simplify finalization pass because of this
|
2009-07-17 22:57:28 -05:00 |
Slava Pestov
|
b83f27af74
|
compiler.cfg.builder: remove some dead code
|
2009-07-17 21:52:33 -05:00 |
Slava Pestov
|
43fab5b2ae
|
Remove some unnecessary work from stack-analysis pass
|
2009-07-17 18:39:41 -05:00 |
Slava Pestov
|
b76165facf
|
Move ptrdiff_t arrays to specialized-arrays.ptrdiff_t
|
2009-07-17 03:51:23 -05:00 |
Slava Pestov
|
fca74191ce
|
Split off annotation code from opengl into opengl.annotations to reduce deployed image size
|
2009-07-17 01:06:34 -05:00 |
Slava Pestov
|
e88e7f70be
|
Merge branch 'master' of git://factorcode.org/git/factor
|
2009-07-17 00:03:13 -05:00 |
Slava Pestov
|
1d735bc32d
|
compiler.tree.propagation.transforms: fix shift transform
|
2009-07-17 00:02:57 -05:00 |
Slava Pestov
|
3fb4fc1bde
|
Improve code generation for shift word: add intrinsics for fixnum-shift-fast in the case where the shift count is not constant, transform 1 swap shift into a more overflow check with open-coded fast case, transform bitand into fixnum-bitand in more cases
|
2009-07-16 23:50:48 -05:00 |
Slava Pestov
|
7692c5d219
|
bit-arrays: specialize set-bits and clear-bits
|
2009-07-16 23:49:13 -05:00 |
Daniel Ehrenberg
|
8ea2996438
|
Removing two unused words in compiler.cfg.two-operand
|
2009-07-16 22:59:38 -05:00 |
Daniel Ehrenberg
|
3ca5665ad6
|
Merge branch 'master' of git://factorcode.org/git/factor
|
2009-07-16 22:42:39 -05:00 |
Daniel Ehrenberg
|
8477cf8e91
|
Phi elimination doesn't have the swap problem now
|
2009-07-16 22:42:13 -05:00 |
Slava Pestov
|
afec68db24
|
help.lint.checks: don't throw strings
|
2009-07-16 21:38:54 -05:00 |
Slava Pestov
|
490ea139a9
|
Merge branch 'master' of git://factorcode.org/git/factor
|
2009-07-16 18:30:14 -05:00 |
Slava Pestov
|
e76dce8aff
|
Overflowing fixnum intrinsics now expand into several CFG nodes. This speeds up the common case since only the uncommon case is now a stack syncpoint
|
2009-07-16 18:29:40 -05:00 |
Slava Pestov
|
685e32b091
|
compiler.cfg.stack-analysis: global optimization work in progress
|
2009-07-16 16:43:14 -05:00 |
Joe Groff
|
622b5954fe
|
Merge branch 'master' of git://factorcode.org/git/factor
|
2009-07-16 09:56:18 -05:00 |
Slava Pestov
|
fc0e0f1924
|
compiler.cfg.block-joining: relax join heuristic
|
2009-07-16 05:50:44 -05:00 |
Slava Pestov
|
884e41dd9c
|
compiler.cfg.linear-scan.live-intervals: remove bogus assertion
|
2009-07-16 02:42:01 -05:00 |
Slava Pestov
|
9f926ab88c
|
compiler.cfg.block-joining: join basic blocks connected by a single edge to improve effectiveness of local optimizations
|
2009-07-16 02:17:58 -05:00 |
Daniel Ehrenberg
|
062e33f8fb
|
fixing stupid bug in propagation
|
2009-07-16 00:43:54 -05:00 |
Daniel Ehrenberg
|
ee3e84a1f8
|
define-partial-eval framework in propagation pass makes it easy to add transforms; moving some transforms from stack checker to propagation, making them stronger
|
2009-07-16 00:34:50 -05:00 |
Joe Groff
|
e90c947062
|
gl-break word and interactive debugging aids
|
2009-07-15 22:44:03 -05:00 |
Joe Groff
|
8e58f5e5aa
|
in kazakhstan, they say that a world is like a context-world
|
2009-07-15 22:39:23 -05:00 |
Slava Pestov
|
b4c522f045
|
Merge branch 'marshall' of git://github.com/jedahu/factor
|
2009-07-15 19:25:41 -05:00 |
Slava Pestov
|
a226907836
|
Merge branch 'inlinec' of git://github.com/jedahu/factor
|
2009-07-15 19:03:18 -05:00 |
Slava Pestov
|
45d466c126
|
Merge branch 'master' of git://factorcode.org/git/factor
|
2009-07-15 19:02:54 -05:00 |
Joe Groff
|
eba4749e5f
|
Merge branch 'master' of git://factorcode.org/git/factor
|
2009-07-15 13:54:29 -05:00 |
Joe Groff
|
b7dd3d5d35
|
report opengl function name in gl-errors
|
2009-07-15 13:53:57 -05:00 |
Slava Pestov
|
ebcd0dc252
|
compiler.cfg: Fix regressions from recent changes
|
2009-07-14 20:43:06 -05:00 |
Slava Pestov
|
4ac74e9304
|
compiler.cfg.branch-splitting: don't split if there's one predecessor
|
2009-07-14 20:42:50 -05:00 |
Slava Pestov
|
11731f8d48
|
compiler.cfg.value-numbering: merge in compiler.cfg.branch-folding
|
2009-07-14 20:05:01 -05:00 |
Slava Pestov
|
a75d558b30
|
compiler.cfg.intrinsics.fixnum: don't generate -imm forms anymore since value numbering does it
|
2009-07-14 19:18:57 -05:00 |
Slava Pestov
|
73a2222541
|
compiler.cfg.value-numbering: branch folding
|
2009-07-14 19:17:12 -05:00 |
Slava Pestov
|
03cd550b93
|
Fix codegen test
|
2009-07-14 16:11:14 -05:00 |
Slava Pestov
|
2f39e851f8
|
Merge branch 'master' of git://factorcode.org/git/factor
|
2009-07-14 16:05:35 -05:00 |
Slava Pestov
|
2ace87370e
|
compiler.cfg.value-numbering: more optimizations
|
2009-07-14 16:05:25 -05:00 |
Daniel Ehrenberg
|
6c32e61098
|
Merge branch 'master' of git://factorcode.org/git/factor
|
2009-07-14 14:25:42 -05:00 |
Daniel Ehrenberg
|
bb06facb01
|
new is inlined in the propagation pass when the class is known
|
2009-07-14 14:16:39 -05:00 |
Slava Pestov
|
d1eea090b6
|
compiler.cfg.value-numbering: add some unit tests
|
2009-07-14 13:25:07 -05:00 |
Slava Pestov
|
c860a3b1e6
|
compiler.cfg: update unit tests for compiler.cfg.comparisons
|
2009-07-14 12:06:55 -05:00 |
Joe Groff
|
8bf1fd5f2a
|
throw-gl-errors, log-gl-errors annotations for all OpenGL functions
|
2009-07-14 12:00:37 -05:00 |
Joe Groff
|
4b8132d777
|
factor compilation unit from tools.annotations:reset
|
2009-07-14 11:43:32 -05:00 |
Joe Groff
|
c0e99e738e
|
fix inaccuracy in tools.annotations docs
|
2009-07-14 11:43:11 -05:00 |
Jeremy Hughes
|
79dd644e57
|
moved alien.inline and alien.marshall to extra
|
2009-07-14 22:39:27 +12:00 |
Jeremy Hughes
|
48bd9aaacf
|
alien.marshall.syntax: added documentation
|
2009-07-14 22:36:59 +12:00 |
Jeremy Hughes
|
cddc5a3188
|
alien.marshall.syntax: arg renaming
|
2009-07-14 22:36:45 +12:00 |
Jeremy Hughes
|
586cf9547f
|
alien.marshall: fixed char* unmarshalling bug
|
2009-07-14 22:33:23 +12:00 |
Jeremy Hughes
|
90b7ca501b
|
alien.(inline,marshall): removed unused doc helper words and made the rest private
|
2009-07-14 22:32:37 +12:00 |
Jeremy Hughes
|
010af379bb
|
alien.marshall.structs: added documentation
|
2009-07-14 20:51:32 +12:00 |
Jeremy Hughes
|
92e38530a3
|
alien.marshall.structs: made some words private
|
2009-07-14 20:50:52 +12:00 |
Jeremy Hughes
|
3b56dc8b13
|
alien.marshall.structs: moved struct-wrapper dispose* method to alien.marshall
|
2009-07-14 20:50:20 +12:00 |
Daniel Ehrenberg
|
79afab82d8
|
Merge branch 'master' of git://factorcode.org/git/factor
|
2009-07-14 01:24:08 -05:00 |
Daniel Ehrenberg
|
4aa3e2135a
|
Unit tests for inference behavior of call( and execute(
|
2009-07-14 01:23:21 -05:00 |
Daniel Ehrenberg
|
47500fad06
|
call( and execute( inline known quotations/words in the propagation pass
|
2009-07-14 01:12:45 -05:00 |
Slava Pestov
|
afdd537681
|
tools.annotations: add (annotate) word which doesn't create a compilation unit for use in loops
|
2009-07-13 23:35:21 -05:00 |
Slava Pestov
|
5ccf7bc99f
|
Merge branch 'master' of git://factorcode.org/git/factor
|
2009-07-13 22:59:19 -05:00 |
Joe Groff
|
2d0483b3df
|
Merge branch 'master' of git://factorcode.org/git/factor
|
2009-07-13 22:35:50 -05:00 |
Joe Groff
|
a06948298b
|
ensure resize-world never happens before begin-world
|
2009-07-13 22:35:36 -05:00 |
Doug Coleman
|
ccae9b59a4
|
clean up value numbering conversion of ##add/sub to ##add/sub-imm
|
2009-07-13 19:02:05 -05:00 |
Jeremy Hughes
|
f65adc1a63
|
alien.marshall: added documentation
|
2009-07-14 10:26:45 +12:00 |
Jeremy Hughes
|
fd23b4070f
|
alien.marshall: marshalling word fixes
|
2009-07-14 10:26:26 +12:00 |