Slava Pestov
4507bdcbc0
compiler.cfg.linear-scan: code cleanups
2009-07-08 23:28:28 -05:00
Slava Pestov
c20e6c290f
compiler.cfg.linear-scan: split off parallel mapping code from resolve pass, use it in assignment pass to resolve parallel copies
2009-07-08 23:07:06 -05:00
Jeremy Hughes
e56617cc05
Merge branch 'inlinec' into marshall
...
* inlinec:
alien.inline.compile: compiler: use eg++ on openbsd
2009-07-09 14:03:59 +12:00
Jeremy Hughes
5b46a22297
alien.inline.compile: compiler: use eg++ on openbsd
2009-07-09 14:03:35 +12:00
Jeremy Hughes
d49b637efd
alien.marshall.syntax-tests: added struct tests
2009-07-09 10:36:53 +12:00
Jeremy Hughes
426d173b7c
alien.marshall: unmarshaller fixes
2009-07-09 10:36:21 +12:00
Jeremy Hughes
e2c6b21bfb
alien.marshall.syntax: added CM-STRUCTURE:
2009-07-09 10:35:49 +12:00
Jeremy Hughes
c4aabe2fb4
alien.marshall.structs: generate struct constructors
2009-07-09 10:35:18 +12:00
Jeremy Hughes
ac6c207de8
alien.marshall.struct: struct getter fix
2009-07-09 10:34:41 +12:00
Jeremy Hughes
cfc3372867
alien.marshall.*: added missing vocabs
2009-07-09 10:33:54 +12:00
Jeremy Hughes
3d5b9f1651
alien.marshall.syntax: changed naming scheme
...
Prefixes:
C- generates inline C code
M- marshalls arguments and return values
CM- does both
2009-07-08 17:35:17 +12:00
Jeremy Hughes
eab6d79ac4
alien.marshall.syntax: added M-STRUCTURE:
2009-07-08 17:33:21 +12:00
Jeremy Hughes
7d708a17c2
Merge branch 'inlinec' into marshall
...
* inlinec:
alien.inline: added RAW-C: word
struct-arrays and struct-vectors: fix unit tests
oops
byte-length for struct-vectors
fix struct-vectors
sequences: fix replicate example
byte-length method for struct-arrays
growable vocabulary: make 'contract' generic so that only real vectors clear popped elements; add resize method for struct-arrays, add new struct-vectors vocabulary
Add vectors.functor for generating vector types from arrays; re-implement bit-vectors and specialized-vectors using this. Add DEFERS directive to functors
compiler.cfg.linear-scan: debugging spilling, add more assertions
threads: better error messages
benchmark.hashtables: throw something together
Remove A+s shortcut for saving image in UI
compiler.cfg.linear-scan: code cleanup
compiler.cfg.linear-scan: Re-implement spilling, add some additional runtime assertions, simplify assignment pass since it doesn't have to track spill slots anymore; just assume a live value that's not in active or inactive is spilled
2009-07-08 17:21:53 +12:00
Jeremy Hughes
f93e7dd859
Merge branch 'master' into inlinec
...
* master:
struct-arrays and struct-vectors: fix unit tests
oops
byte-length for struct-vectors
fix struct-vectors
sequences: fix replicate example
byte-length method for struct-arrays
growable vocabulary: make 'contract' generic so that only real vectors clear popped elements; add resize method for struct-arrays, add new struct-vectors vocabulary
Add vectors.functor for generating vector types from arrays; re-implement bit-vectors and specialized-vectors using this. Add DEFERS directive to functors
compiler.cfg.linear-scan: debugging spilling, add more assertions
threads: better error messages
benchmark.hashtables: throw something together
Remove A+s shortcut for saving image in UI
compiler.cfg.linear-scan: code cleanup
compiler.cfg.linear-scan: Re-implement spilling, add some additional runtime assertions, simplify assignment pass since it doesn't have to track spill slots anymore; just assume a live value that's not in active or inactive is spilled
2009-07-08 17:21:41 +12:00
Jeremy Hughes
ed825133e0
alien.inline: added RAW-C: word
2009-07-08 16:47:55 +12:00
Jeremy Hughes
25e034adb6
alien.marshall: added struct-arrays to marshall-pointer
2009-07-08 16:42:25 +12:00
Jeremy Hughes
e2797b83bc
alien.marshall.syntax.tests: delete library before compilation
2009-07-08 15:17:00 +12:00
Jeremy Hughes
5cacaf3524
Merge branch 'inlinec' into marshall
...
* inlinec:
alien.inline.tests: delete libraries before compilation
alien.inline: added C-STRUCTURE:
alien.inline: added C-TYPEDEF:
2009-07-08 15:15:55 +12:00
Jeremy Hughes
8814e2b308
alien.inline.tests: delete libraries before compilation
2009-07-08 15:15:45 +12:00
Jeremy Hughes
7d218b0263
alien.inline: added C-STRUCTURE:
2009-07-08 15:14:51 +12:00
Jeremy Hughes
488f7efc27
alien.inline: added C-TYPEDEF:
2009-07-08 14:52:07 +12:00
Jeremy Hughes
60f847ea4c
alien.marshall.*: replace &free in marshallers with free in unmarshallers
2009-07-08 14:00:48 +12:00
Slava Pestov
76288ae55d
struct-arrays and struct-vectors: fix unit tests
2009-07-07 19:15:50 -05:00
Jeremy Hughes
bc6e5de911
alien.inline.types: replaced const-type? with const-pointer? and pointer-to-const?
2009-07-08 11:30:45 +12:00
Jeremy Hughes
03d4575b90
Merge branch 'inlinec' into marshall
...
* inlinec:
alien.inline: allow compiling from non-file vocabs
alien.inline: added DELETE-C-LIBRARY: word, mainly for tests
alien.inline: prepend vocab name to c-library name
Conflicts:
basis/alien/inline/inline.factor
2009-07-08 09:46:52 +12:00
Jeremy Hughes
1c42ebd89e
alien.inline: allow compiling from non-file vocabs
2009-07-08 09:45:28 +12:00
Jeremy Hughes
b421a360c0
alien.inline: added DELETE-C-LIBRARY: word, mainly for tests
...
Conflicts:
basis/alien/inline/inline.factor
2009-07-08 09:45:08 +12:00
Jeremy Hughes
e140d80d71
alien.inline: prepend vocab name to c-library name
...
Conflicts:
basis/alien/inline/inline.factor
2009-07-08 09:43:19 +12:00
Jeremy Hughes
ed65e2ae4c
alien.marshall.syntax: added tests
2009-07-08 09:39:39 +12:00
Jeremy Hughes
7c1ae71a3e
alien.marshall: formatting
2009-07-08 09:39:15 +12:00
Jeremy Hughes
fec504197b
alien.marshall: add longlong and ulonglong marshallers
2009-07-08 09:33:29 +12:00
Jeremy Hughes
787b5d618a
alien.marshall: factorize-type before primitive-unmarshaller
2009-07-08 09:33:04 +12:00
Jeremy Hughes
0aa1a9a43d
alien.marshall.syntax: remove duplicate annotate-effect call
2009-07-08 09:31:27 +12:00
Jeremy Hughes
ca740fcb03
alien.marshall.syntax: fix: return value unmarshaller
2009-07-08 09:30:58 +12:00
Jeremy Hughes
09aea6d8e6
alien.inline: allow compiling from non-file vocabs
2009-07-08 09:29:41 +12:00
Joe Groff
771d4fd4d9
byte-length for specialized-vectors
2009-07-07 16:27:14 -05:00
Joe Groff
809b40d497
preserve sequence type in math.matrices:cross
2009-07-07 16:26:50 -05:00
Joe Groff
4763ee9a4d
oops
2009-07-07 15:34:14 -05:00
Joe Groff
84485d36ee
byte-length for struct-vectors
2009-07-07 15:30:41 -05:00
Joe Groff
b42a1cc746
fix struct-vectors
2009-07-07 15:29:16 -05:00
Joe Groff
fbdcb61763
Merge branch 'master' of git://factorcode.org/git/factor
2009-07-07 15:11:13 -05:00
Joe Groff
01d344fb46
byte-length method for struct-arrays
2009-07-07 15:11:04 -05:00
Slava Pestov
dafdbe13c9
growable vocabulary: make 'contract' generic so that only real vectors clear popped elements; add resize method for struct-arrays, add new struct-vectors vocabulary
2009-07-07 15:01:30 -05:00
Slava Pestov
c171527b8d
Add vectors.functor for generating vector types from arrays; re-implement bit-vectors and specialized-vectors using this. Add DEFERS directive to functors
2009-07-07 14:34:08 -05:00
Slava Pestov
e2044602aa
compiler.cfg.linear-scan: debugging spilling, add more assertions
2009-07-07 13:01:27 -05:00
Slava Pestov
516ce0c71d
threads: better error messages
2009-07-07 13:00:58 -05:00
Jeremy Hughes
5e822dd454
alien.inline: added DELETE-C-LIBRARY: word, mainly for tests
2009-07-07 21:11:57 +12:00
Jeremy Hughes
c478fa9f1b
alien.inline: prepend vocab name to c-library name
2009-07-07 21:05:16 +12:00
Slava Pestov
1a190ae97e
Remove A+s shortcut for saving image in UI
2009-07-07 03:49:10 -05:00
Slava Pestov
43c873f00a
compiler.cfg.linear-scan: code cleanup
2009-07-07 03:45:27 -05:00
Slava Pestov
0bcf4ce535
compiler.cfg.linear-scan: Re-implement spilling, add some additional runtime assertions, simplify assignment pass since it doesn't have to track spill slots anymore; just assume a live value that's not in active or inactive is spilled
2009-07-07 03:28:55 -05:00
Jeremy Hughes
e046605473
moved struct wrapper code from alien.structs.structs to alien.marshall.structs
2009-07-07 19:44:34 +12:00
Jeremy Hughes
9128952867
alien.marshall: fixes
2009-07-07 19:43:30 +12:00
Jeremy Hughes
4917454b85
append inline to combinator
2009-07-07 19:41:59 +12:00
Jeremy Hughes
b6e5d2481c
Merge branch 'inlinec' into marshall
...
* inlinec:
ui.gadgets.tables: clicking in empty area no longer notifies selection model
vocabs.hierarchy: fix (load) word
vocabs.hierarchy: more refactoring, update existing code for new API
help.html: Update for vocabs.hierarchy changes
help.html: escape # in word names. Reported by ex_rzrjck
vocabs.hierachy: redo with cleaner API
compiler.cfg.linear-scan: minor fixes
webkit-demo: update for recent <ViewWindow> stack effect change
compiler.cfg.linear-scan: Get cycle breaking in resolve pass to work by allocating a spare spill slot for this purpose
2009-07-07 17:24:30 +12:00
Jeremy Hughes
a5653f3449
Merge branch 'master' into inlinec
...
* master:
ui.gadgets.tables: clicking in empty area no longer notifies selection model
vocabs.hierarchy: fix (load) word
vocabs.hierarchy: more refactoring, update existing code for new API
help.html: Update for vocabs.hierarchy changes
help.html: escape # in word names. Reported by ex_rzrjck
vocabs.hierachy: redo with cleaner API
compiler.cfg.linear-scan: minor fixes
webkit-demo: update for recent <ViewWindow> stack effect change
compiler.cfg.linear-scan: Get cycle breaking in resolve pass to work by allocating a spare spill slot for this purpose
2009-07-07 17:24:21 +12:00
Jeremy Hughes
811a7c54eb
Merge branch 'inlinec' into marshall
...
* inlinec:
moved alien.inline tests to inline-tests.factor
alien.inline: file get path>> instead of vocab-source-path
alien.inline.compiler: x86_64 check and hook methods
Conflicts:
basis/alien/inline/inline.factor
2009-07-07 17:22:56 +12:00
Jeremy Hughes
66a740aaaf
moved alien.inline tests to inline-tests.factor
2009-07-07 17:21:47 +12:00
Jeremy Hughes
da024f5547
alien.inline: file get path>> instead of vocab-source-path
2009-07-07 17:21:47 +12:00
Jeremy Hughes
e76229a8f6
alien.inline.compiler: x86_64 check and hook methods
2009-07-07 17:20:54 +12:00
Slava Pestov
328c6d02f5
ui.gadgets.tables: clicking in empty area no longer notifies selection model
2009-07-06 23:19:26 -05:00
Jeremy Hughes
f61b736f10
alien.marshall(.private): free and non-free marshallers and struct marshalling
2009-07-07 16:04:41 +12:00
Jeremy Hughes
dc9bcc8b73
alien.structs: alien.syntax: struct wrapper and marshalling of fields
2009-07-07 15:49:39 +12:00
Slava Pestov
d56e818beb
vocabs.hierarchy: fix (load) word
2009-07-06 05:22:01 -05:00
Slava Pestov
2fd6db9331
Merge branch 'inlinec' of git://github.com/jedahu/factor
2009-07-06 04:56:43 -05:00
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
296a3eb554
Merge branch 'inlinec' into marshall
...
* inlinec:
alien.inline.compiler: use g++ for C++ files
2009-07-06 21:34:45 +12: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
4bdc4aa589
Merge branch 'inlinec' into marshall
...
* inlinec:
Added alien.inline.types (forgot to add several commits ago)
Conflicts:
basis/alien/inline/inline.factor
2009-07-06 21:17:55 +12: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
3b987a77a8
alien.marshall.syntax: added MARSHALLED: word
2009-07-06 11:55:53 +12:00
Jeremy Hughes
511ae71763
alien.inline: moved marshalling syntax to alien.marshall.syntax
...
* made appropriate words in alien.inline public
2009-07-06 11:55:23 +12:00
Jeremy Hughes
7ecadf0a68
alien.inline: renamed and refactored prototype-string
2009-07-06 11:28:41 +12:00
Jeremy Hughes
ae4b284006
Moved two words from alien.inline to alien.inline.types
2009-07-06 11:26:17 +12:00
Jeremy Hughes
9cf0c5e33b
alien.inline: made define-c-marshalled standalone
2009-07-06 11:08:47 +12:00
Jeremy Hughes
bb3fa44e2d
Merge branch 'inlinec' into marshall
...
* inlinec:
alien.inline: reverted refactoring
2009-07-06 11:07:32 +12:00
Jeremy Hughes
dbe19d8173
alien.inline: reverted refactoring
2009-07-06 11:06:44 +12:00
Jeremy Hughes
64aef112b5
alien.inline: stopped annotate-effect affecting prototype strings
2009-07-05 22:17:13 +12:00
Jeremy Hughes
c32d7c5c97
Fixed bug where primitive-type? could not handle "Class*" types
2009-07-05 22:17:13 +12:00
Jeremy Hughes
519277a0a0
Fixed cify-types bug
2009-07-05 22:17:13 +12:00
Jeremy Hughes
577420b7dd
Added alien.marshall and modified alien.inline accordingly
2009-07-05 22:17:13 +12:00
Jeremy Hughes
284ef4f048
Made factorize-type and cify-type public
2009-07-05 22:17:13 +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