Slava Pestov
daed003f33
vocabs.hierarchy: more refactoring, update existing code for new API
2009-07-06 04:55:23 -05:00
Slava Pestov
bcdd94d50a
help.html: Update for vocabs.hierarchy changes
2009-07-06 04:35:00 -05:00
Jeremy Hughes
994b142f74
alien.inline.compiler: use g++ for C++ files
2009-07-06 21:34:27 +12:00
Slava Pestov
4d950dee9a
help.html: escape # in word names. Reported by ex_rzrjck
2009-07-06 04:24:01 -05:00
Slava Pestov
5484bd3241
vocabs.hierachy: redo with cleaner API
2009-07-06 04:23:26 -05:00
Jeremy Hughes
da01ae5cda
Added alien.inline.types (forgot to add several commits ago)
2009-07-06 21:14:08 +12:00
Slava Pestov
6aaad1ea9f
Merge branch 'inlinec' of git://github.com/jedahu/factor
2009-07-06 02:41:56 -05:00
Slava Pestov
4402d8652c
compiler.cfg.linear-scan: minor fixes
2009-07-05 22:51:53 -05:00
Slava Pestov
56523afb29
Merge branch 'master' of git://factorcode.org/git/factor
2009-07-05 21:33:03 -05:00
Slava Pestov
a452f32e3a
compiler.cfg.linear-scan: Get cycle breaking in resolve pass to work by allocating a spare spill slot for this purpose
2009-07-05 21:32:23 -05:00
Jeremy Hughes
dbe19d8173
alien.inline: reverted refactoring
2009-07-06 11:06:44 +12:00
Jeremy Hughes
3cd4bd8106
alien.inline: added annotate-effect word
2009-07-05 22:16:58 +12:00
Jeremy Hughes
b212588417
alien.inline: refactoring
2009-07-05 22:16:58 +12:00
Jeremy Hughes
dd45949c50
alien.inline: prototype-string: fixed params
2009-07-05 22:16:58 +12:00
Jeremy Hughes
1a0a34fbfc
alien.inline: cify-type: fixed incorrect substitution
2009-07-05 22:16:58 +12:00
Jeremy Hughes
d2f6f99954
alien.inline: types->effect>params-return: fix for stack order and void return type
2009-07-05 22:16:58 +12:00
Jeremy Hughes
f7ddd899c3
alien.inline: function-types-effect: fixed incorrect stack order
2009-07-05 22:16:57 +12:00
Jeremy Hughes
8f8aa3051c
alien.inline: factorize-type covers unsigned and long
2009-07-05 22:16:57 +12:00
Jeremy Hughes
713e71fd3c
alien.inline: added define-c-function' and refactored existing words
2009-07-05 22:16:57 +12:00
Joe Groff
865e37f590
Merge branch 'master' of git://factorcode.org/git/factor
2009-07-04 19:20:18 -05:00
Joe Groff
3a6a588532
destroy window-resources in reverse order
2009-07-04 19:13:53 -05:00
Joe Groff
96ec54106b
for the FPS classicists... skew matrix constructor
2009-07-04 19:13:31 -05:00
Slava Pestov
f14a61fac2
Fix compiler.cfg.linear-scan.resolve test failure
2009-07-04 16:30:16 -05:00
Slava Pestov
c0f1b2205a
compiler.cfg.value-numbering.rewrite: disable ##compare optimizations for now
2009-07-04 03:26:37 -05:00
Slava Pestov
fb488025aa
compiler.cfg.value-numbering.rewrite: fix ##compare-imm rewrite rule
2009-07-04 02:50:50 -05:00
Slava Pestov
c00af97fa1
compiler.cfg.linear-scan.resolve: More fixes
2009-07-04 00:45:06 -05:00
Slava Pestov
da13681bc8
compiler.cfg.linear-scan: redo resolve pass to fix a correctness issue
2009-07-03 23:38:52 -05:00
Slava Pestov
8d3a45dee2
compiler.cfg: clean up GC check generation to use spill-slot data type
2009-07-03 23:11:23 -05:00
Slava Pestov
d07c0429fc
compiler.cfg.linear-scan: assign spill slots to vregs globally, so that resolve pass never has to perform a memory->memory transfer
2009-07-03 22:51:40 -05:00
Slava Pestov
d108324f19
ui.gadgets.panes: Shift-clicking to extend the selection in a pane should not focus the pane's input area
2009-07-03 22:41:32 -05:00
Slava Pestov
8c3c007d8e
ui.tools.listener.completion: if listener is not accepting input, pressing TAB would throw an error (reported by Doug Coleman)
2009-07-03 22:35:34 -05:00
Slava Pestov
f53efa88c6
tools.annotations: redo 'watch' so that it doesn't call 'datastack' anymore, instead use macros to capture stack values. This works better with compiler optimizations
2009-07-03 22:32:30 -05:00
Slava Pestov
a3c3445643
Merge branch 'master' of git://factorcode.org/git/factor
2009-07-03 21:33:55 -05:00
Slava Pestov
0180209f4e
compiler.tree.dead-code: methods on flushable generics should be flushable
2009-07-03 21:31:26 -05:00
Daniel Ehrenberg
e53dd8af24
Merge branch 'master' of git://factorcode.org/git/factor
2009-07-03 21:26:18 -05:00
Daniel Ehrenberg
7718cce339
More features in the unicode.breaks API, with documentation
2009-07-03 21:22:46 -05:00
Slava Pestov
14f2405814
Merge branch 'master' of git://factorcode.org/git/factor
2009-07-03 21:19:28 -05:00
Slava Pestov
28a8e83642
ui.tools.listener.history: Fix bug reported by Doug
2009-07-03 21:19:17 -05:00
Doug Coleman
cae8fed16c
convert ##compare with immediates to ##compare-imm
2009-07-03 19:19:33 -05:00
Slava Pestov
2c3b2a0b71
compiler.cfg.predecessors: delete dead predecessors from phi nodes
2009-07-03 18:45:03 -05:00
Slava Pestov
92b7f32aaa
Merge branch 'master' of git://factorcode.org/git/factor
2009-07-02 23:09:58 -05:00
Slava Pestov
788ea7790b
Merge branch 'inlinec' of git://github.com/jedahu/factor
2009-07-02 23:06:50 -05:00
Jeremy Hughes
408bbbdcf8
alien.inline renamed words for runtime use
2009-07-03 15:32:00 +12:00
Joe Groff
ad2bffd4da
Merge branch 'master' of git://factorcode.org/git/factor
2009-07-02 22:22:55 -05:00
Slava Pestov
389cc758be
Merge branch 'master' of git://factorcode.org/git/factor
2009-07-02 21:59:04 -05:00
Slava Pestov
f042019337
bit-sets: efficient bitwise operations on bit-arrays
2009-07-02 21:58:49 -05:00
Jeremy Hughes
670388b45a
whitespace
2009-07-03 14:55:50 +12:00
Daniel Ehrenberg
3abcebc36c
More unit tests for wrap
2009-07-02 21:12:38 -05:00
Daniel Ehrenberg
38f520bcdb
Merge branch 'master' of git://factorcode.org/git/factor
2009-07-02 20:24:49 -05:00
Daniel Ehrenberg
be26a4f63d
Fixing long-standing bug in wrap
2009-07-02 20:24:41 -05:00
Joe Groff
e39f454aa5
common 3d matrix constructors
2009-07-02 19:05:24 -05:00
Doug Coleman
84de04e502
Merge branch 'master' of git://factorcode.org/git/factor
2009-07-02 19:04:50 -05:00
Doug Coleman
e7a227ad40
add constant folding for integer ops, refactor some rewrites
2009-07-02 19:03:21 -05:00
Slava Pestov
1a6c555ead
Merge branch 'inlinec' of git://github.com/jedahu/factor
2009-07-02 18:37:55 -05:00
Slava Pestov
c5e7266e17
Merge branch 'master' of git://factorcode.org/git/factor
2009-07-02 18:36:49 -05:00
Jeremy Hughes
c286074fe5
Unit tests for alien.inline
2009-07-03 11:35:46 +12:00
Jeremy Hughes
450b5ff4f1
Added copyright headers
2009-07-03 11:35:02 +12:00
Doug Coleman
f11ba00667
Revert "fix a unit test so it's sure to overflow 64bit machines"
...
This reverts commit 88a545a215
.
2009-07-02 18:18:50 -05:00
Doug Coleman
559a77be43
fix a unit test so it's sure to overflow 64bit machines
2009-07-02 18:05:55 -05:00
Doug Coleman
2aade588ee
Merge branch 'master' of git://factorcode.org/git/factor
2009-07-02 18:01:58 -05:00
Doug Coleman
e11e3cf6d2
unit test to make sure adds are not optimized incorrectly
2009-07-02 18:01:00 -05:00
Doug Coleman
80eb5068e2
fix bug in rewriting #add -- wasn't checking small-enough?, and change negative adds to subtractions/negative subtractions to adds
2009-07-02 17:55:35 -05:00
Slava Pestov
9404a7d0e3
half-floats: Add some more unit tests
2009-07-02 17:52:53 -05:00
Jeremy Hughes
f23e330f58
alien.c-syntax -> alien.inline, alien.compile -> alien.inline.compiler
2009-07-03 10:46:19 +12:00
Jeremy Hughes
bb379a11ca
alien.c-syntax alien.compile: symbols instead of strings
2009-07-03 10:43:27 +12:00
Jeremy Hughes
94f519b12c
alien.compile: use locals in some words
2009-07-03 10:42:52 +12:00
Slava Pestov
6d46bf623c
compiler.cfg.liveness: update for new ##phi node representation
2009-07-02 17:28:02 -05:00
Slava Pestov
90daf6d03d
compiler.cfg: change representation of ##phi nodes. The input slot of ##phi nodes is now an assoc mapping predecessors to values, rather than a sequence of values. This ensures that optimization which delete predecessors can be implemented
2009-07-02 17:10:50 -05:00
Jeremy Hughes
4473ac9921
alien.c-syntax alien.compile: added authors.txt
2009-07-03 07:41:18 +12:00
Jeremy Hughes
542e490950
alien.c-syntax: fixed host of problems
2009-07-03 07:35:18 +12:00
Jeremy Hughes
acc3fc299b
Merge branch 'master' into inlinec
...
* master:
rewrite rules for add/sub/mul/and/or/xor-imm, rewrite load-immediate/add to be add-imm
simplify sub and sub-imm
add a utility word vreg>constant
compiler.cfg.dce: now performs three passes over the CFG to fix a phase ordering issue
compiler.cfg.dce: minor renamings
Dead code elimination eliminates some dead allocations
compiler.cfg.optimizer: enable branch folding
compiler.cfg: bug fixes in GC check insertion and fixnum intrinsics
compiler.cfg.linear-scan: fix spilling
2009-07-03 07:34:40 +12:00
Doug Coleman
86901eb01e
rewrite rules for add/sub/mul/and/or/xor-imm, rewrite load-immediate/add to be add-imm
2009-07-02 11:35:31 -05:00
Doug Coleman
04cb320c55
simplify sub and sub-imm
2009-07-02 11:33:15 -05:00
Doug Coleman
826464724e
add a utility word vreg>constant
2009-07-02 11:32:23 -05:00
Slava Pestov
3a4916462b
compiler.cfg.dce: now performs three passes over the CFG to fix a phase ordering issue
2009-07-02 03:17:19 -05:00
Slava Pestov
513a600664
compiler.cfg.dce: minor renamings
2009-07-02 02:41:10 -05:00
Daniel Ehrenberg
392e313f05
Merge branch 'master' of git://factorcode.org/git/factor
2009-07-02 02:31:06 -05:00
Daniel Ehrenberg
fcfd7f01a3
Dead code elimination eliminates some dead allocations
2009-07-02 02:30:46 -05:00
Slava Pestov
2de41f01da
compiler.cfg.optimizer: enable branch folding
2009-07-02 01:05:59 -05:00
Slava Pestov
af875ba836
compiler.cfg: bug fixes in GC check insertion and fixnum intrinsics
2009-07-02 00:51:06 -05:00
Slava Pestov
e6b1c21590
compiler.cfg.linear-scan: fix spilling
2009-07-01 22:37:27 -05:00
Jeremy Hughes
9e240eb3b9
Removed C++-LIBRARY: in favour of COMPILE-AS-C++ statement
2009-07-02 11:35:43 +12:00
Jeremy Hughes
5c8d4bee52
Inline C
2009-07-02 11:35:43 +12:00
Slava Pestov
58bb118024
Merge branch 'master' of git://factorcode.org/git/factor
2009-07-01 18:13:54 -05:00
Slava Pestov
1157f58f37
cpu.x86.32: don't emit sub %esp,0x0 in prologue on Linux and Windows
2009-07-01 18:13:45 -05:00
Joe Groff
be455b9f92
Merge branch 'master' of git://factorcode.org/git/factor
2009-07-01 18:01:59 -05:00
Joe Groff
97adae24f0
pardon my dust
2009-07-01 17:57:21 -05:00
Slava Pestov
41f48e3cfe
compiler.tree.optimizer: Remove redundant call to compute-def-use
2009-07-01 17:41:20 -05:00
Slava Pestov
a19f22ec82
compiler.cfg.linear-scan: debugging spilling and resolve pass
2009-07-01 17:41:07 -05:00
Slava Pestov
1b355bcc95
alien.structs: update docs to mention struct-arrays
2009-07-01 16:16:40 -05:00
Joe Groff
b748164b43
Merge branch 'master' of git://factorcode.org/git/factor
2009-07-01 13:55:24 -05:00
Joe Groff
77104b7256
put a slot on worlds for window-resources which get disposed when window is closed
2009-07-01 13:54:42 -05:00
Joe Groff
d077d52968
opengl helper words for ARB/APPLE vertex array objects
2009-07-01 13:53:28 -05:00
Joe Groff
dd00d31617
ptrdiff_t arrays
2009-07-01 13:52:42 -05:00
Joe Groff
9ddecb5e03
some misc categorizations and factorings for image component formats
2009-07-01 13:52:26 -05:00
Slava Pestov
7e3fa45512
compiler.cfg.stack-analysis: fix unit tests for useless-blocks renaming and ##no-tco instruction
2009-06-30 23:17:33 -05:00
Slava Pestov
a3b21292b6
Merge branch 'master' of git://factorcode.org/git/factor
2009-06-30 23:07:36 -05:00
Slava Pestov
f894baf60e
compiler.cfg.optimizer: disable branch folding for now
2009-06-30 23:07:27 -05:00
Slava Pestov
72b6bef19d
compiler.cfg.builder: emit less crap after a #terminate node
2009-06-30 23:03:25 -05:00
Doug Coleman
8b728e0a8a
Merge branch 'master' of git://factorcode.org/git/factor
2009-06-30 23:02:04 -05:00
Doug Coleman
b1c7374175
optimize fixnum*fast and fixnum-shift-fast
2009-06-30 23:01:44 -05:00
Doug Coleman
ded1e29d2f
combine add-imm instructions into a single add
2009-06-30 22:59:53 -05:00
Slava Pestov
3385e50c43
compiler.cfg.branch-folding: fold away branches where both inputs are the same register. This results in 'push' being compiled slightly better
2009-06-30 22:43:32 -05:00
Slava Pestov
fc595a7075
Fix possible infinite loop in skip-empty-blocks and remove redundant test in compiler.cfg.useless-conditionals
2009-06-30 22:43:02 -05:00
Slava Pestov
f412bbc6d6
Change branch splitting around a bit, rename useless-blocks to useless-conditionals and rewrite it
2009-06-30 22:11:15 -05:00
Slava Pestov
eb7f50adf4
Fix conflict
2009-06-30 21:37:49 -05:00
Slava Pestov
0402790001
compiler.cfg Remove height tracking for ##call instructions, wire in ##no-tco instruction
2009-06-30 21:21:46 -05:00
Slava Pestov
3da560130a
compiler.cfg.tco: fix tail call optimization for ##fixnum-mul
2009-06-30 21:08:08 -05:00
Slava Pestov
eca718b32d
compiler.cfg.builder: fix stack effect
2009-06-30 21:07:55 -05:00
Slava Pestov
612e4b99b0
compiler.cfg.linear-scan.assignment: insert-copy did the wrong thing if the second interval had been split. Fixes compilation of 'trilerp'
2009-06-30 21:07:39 -05:00
Slava Pestov
1acf243cce
Fix conflict
2009-06-30 20:16:09 -05:00
Slava Pestov
5c6c3ecd85
compiler.cfg.tco: Tail call optimization moved out of compiler.cfg.builder into its own pass
2009-06-30 20:13:35 -05:00
Doug Coleman
2cd202d175
remove duplicate using
2009-06-30 18:48:52 -05:00
Doug Coleman
357408df3e
Merge branch 'master' of git://factorcode.org/git/factor
2009-06-30 18:48:10 -05:00
Doug Coleman
97cd0d584e
make commutative operations with immediates output the same IR
2009-06-30 18:47:24 -05:00
Slava Pestov
bc2a6c0ecc
compiler.cfg.stack-analysis: fix tests
2009-06-30 18:22:54 -05:00
Slava Pestov
d199154179
Merge branch 'master' of git://factorcode.org/git/factor
2009-06-30 18:12:00 -05:00
Slava Pestov
3355fa4809
compiler.cfg.stack-analysis: enable global optimization
2009-06-30 18:11:45 -05:00
Slava Pestov
4db44cd23f
%dispatch: sometimes the generated sequence is one byte longer, so instead of hard-coding it, compute the right length
2009-06-30 18:11:15 -05:00
Slava Pestov
54876d0cba
compiler.cfg.linear-scan.assignment: get check-assignment? to work with coalescing
2009-06-30 18:10:53 -05:00
Slava Pestov
fc6c9e2dfd
cpu.x86: don't clobber src in %dispatch
2009-06-30 16:47:22 -05:00
Doug Coleman
f1b2550035
Merge branch 'master' of git://factorcode.org/git/factor
2009-06-30 16:45:57 -05:00
Doug Coleman
d1f6871081
fix bug where traversal order was lost
2009-06-30 16:44:14 -05:00
Slava Pestov
b61b47922f
disjoint-sets: add some tests for compiler bug; eventually more tests should be written for this vocab
2009-06-30 16:08:16 -05:00
Slava Pestov
578b0126fc
compiler.cfg.linear-scan: compute-free-pos was broken in the case where more than one inactive interval had the same physical register assigned
2009-06-30 16:07:58 -05:00
Doug Coleman
f41f84436c
spill to spill-temp, not to virtual spill addresses
2009-06-30 15:40:13 -05:00
Doug Coleman
ede8e1ca30
Merge branch 'master' of git://factorcode.org/git/factor
2009-06-30 15:32:11 -05:00
Doug Coleman
ea072731d4
add branch splitting pass to compiler.cfg
2009-06-30 15:31:48 -05:00
Slava Pestov
32738dddde
compiler.cfg.stack-analysis: fix typos in unit tests
2009-06-29 16:37:40 -05:00
Samuel Tardieu
4d5392fe56
Add divisors to math.primes.factors
2009-06-29 16:56:00 +02:00
Slava Pestov
82bfaca188
Fix conflict
2009-06-29 01:59:53 -05:00
Slava Pestov
0f68ee3e9a
compiler.cfg.linear-scan.resolve: remove redundant vocabs from using list
2009-06-28 22:58:35 -05:00
Slava Pestov
6e72cf9711
compiler.cfg.stack-analysis: fix another corner case with ##peek insertion, and fix changed-loc merging
2009-06-28 22:52:28 -05:00
Doug Coleman
1fab8efeee
Merge branch 'master' of git://factorcode.org/git/factor
2009-06-28 16:43:45 -05:00
Doug Coleman
3b0954f63e
fix bug in linear-scan.resolve by rewriting entire algorithm
2009-06-28 16:43:17 -05:00
Slava Pestov
d4de1d38b9
Merge branch 'master' of git://factorcode.org/git/factor
2009-06-27 17:33:00 -05:00
Slava Pestov
d5179b724e
compiler.cfg.stack-analysis: Fix case where both an ##inc-d/r and a ##peek get inserted
2009-06-27 17:32:37 -05:00
Doug Coleman
1cb6bc99da
Merge branch 'master' of git://factorcode.org/git/factor
...
Conflicts:
basis/compiler/cfg/linear-scan/resolve/resolve-tests.factor
2009-06-26 21:51:08 -05:00
Doug Coleman
90017eb248
add spill-temp to compiler.cfg.instructions, implement parallel register assignment in linear-scan.resolve
2009-06-26 21:48:21 -05:00
Slava Pestov
d6ef19de6e
Merge branch 'master' of git://factorcode.org/git/factor
2009-06-26 17:50:26 -05:00
Slava Pestov
ef32eb2e72
Fix bootstrap and unit test
2009-06-26 17:44:33 -05:00
Slava Pestov
96baede36a
Redesign compiler.cfg.stack-analysis to make compiler.cfg.height redundant, and to fix some problems
2009-06-26 17:29:55 -05:00
Doug Coleman
c44df7832c
Merge branch 'master' of git://factorcode.org/git/factor
2009-06-25 13:26:18 -05:00
Joe Groff
1c0a0155eb
Merge branch 'master' of git://factorcode.org/git/factor
2009-06-25 09:15:24 -05:00
Joe Groff
b6abd4a90c
windows.offscreen:make-bitmap-image wasn't filling in the component-type of the image object it makes
2009-06-25 09:15:04 -05:00
Slava Pestov
12a672b9f1
Merge branch 'master' of git://factorcode.org/git/factor
2009-06-24 23:36:42 -05:00
Joe Groff
327311b7a2
opengl.gl3 vocab containing only forward-compatible symbols. fill in some holes in opengl.gl
2009-06-24 18:27:54 -05:00
Joe Groff
845e9532ba
update demos using GL_EXT_framebuffer_object and GL_ARB_texture_float to use suffixless opengl 3 symbol names
2009-06-24 17:59:25 -05:00
Joe Groff
ab8b99d4fd
opengl 3.1
2009-06-24 17:28:37 -05:00
Slava Pestov
22fa524db1
compiler.cfg.stack-analysis: split up into three vocabs
2009-06-24 13:54:43 -05:00