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
Jeremy Hughes
702419c092
alien.marshall.private: remove marshall-TYPE and make () words private
2009-07-14 10:25:34 +12:00
Jeremy Hughes
1cca58d781
alien.marshall: use marshall-primitive instead of marshall-<primitive> words
2009-07-14 10:24:31 +12:00
Jeremy Hughes
c5e30fee3e
alien.marshall: rewrote bool marshalling
2009-07-14 10:21:32 +12:00
Jeremy Hughes
c0714c6135
alien.inline.types: factorize-type and pointer-to-const? accept strings with spaces
2009-07-14 10:20:13 +12:00
Slava Pestov
768e2a5148
compiler.cfg: split off condition codes into a comparisons sub-vocabulary
2009-07-13 14:42:52 -05:00
Joe Groff
f6f44ede5a
Merge branch 'master' of git://factorcode.org/git/factor
2009-07-13 12:38:35 -05:00
Slava Pestov
3b244d5d41
compiler.cfg.value-numbering: fix ##compare and ##compare-branch rewrites
2009-07-13 12:33:58 -05:00
Slava Pestov
5e71bf7907
Merge branch 'master' of git://factorcode.org/git/factor
2009-07-13 10:44:34 -05:00
Slava Pestov
d7aeae45be
compiler.cfg.branch-splitting: split blocks with successors
2009-07-13 10:44:08 -05:00
Slava Pestov
8ff473e42c
compiler.cfg.linear-scan.resolve: get it to work on CFGs with critical edges
2009-07-12 23:00:33 -05:00
Slava Pestov
608fb054f2
compiler.cfg: Some code cleanups, update stack-analysis and phi-insertion to work on CFGs with critical edges
2009-07-12 22:22:46 -05:00
Jeremy Hughes
687d541838
alien.marshall: dynamic-cast: renamed to unmarshall-cast
2009-07-13 10:26:41 +12:00
Jeremy Hughes
fe4aaad417
alien.inline.compiler: added -mno-cygwin to linker on windows
2009-07-11 20:54:15 +12:00
Jeremy Hughes
2aec1d697c
alien.inline.compiler: added -mno-cygwin to linker on windows
2009-07-11 20:53:50 +12:00
Jeremy Hughes
0d88577890
Merge branch 'inlinec' into marshall
...
* inlinec:
alien.inline.compiler: changed windows compiler options
2009-07-11 20:52:01 +12:00
Jeremy Hughes
d2077b1670
alien.inline.compiler: changed windows compiler options
2009-07-11 20:51:34 +12:00
Jeremy Hughes
11183fa5db
alien.inline.*: fixed merge breakage
2009-07-11 20:50:27 +12:00
Slava Pestov
d03a8dff44
Merge branch 'inlinec' of git://github.com/jedahu/factor
2009-07-11 03:25:44 -05:00
Jeremy Hughes
579aba5625
Merge branch 'inlinec' into marshall
...
* inlinec: (49 commits)
alien.inline.compiler: documentation
alien.inline.compiler: fixed library-path and made other words private
alien.inline: renamed compiler-args to linker-args
alien.inline: added with-c-library word
alien.inline: added documentation
alien.inline: better names
alien.inline: remove vocab argument from define-c-struct
alien.inline: made define-c-function and define-c-function' standalone
alien.inline: fix library name and us remove-library
alien.inline.compile: write library files to resource:alien-inline-libs
Revert "Remove unused vocabulary" -- committed patch from the wrong machine
Remove unused vocabulary
Fixing some test failures after url.encoding change
FUEL: Font lock/indentation for M::.
replace 2array "." join with "." glue
contributors: exclude merges to make patch counts more reasonable
alien.libraries: add remove-library word, fix dlclose and dll-valid? VM primitives
alien.libraries: add dispose method for library tuple, and remove-library word; add-library first calls remove-library to properly close the library when reloading
changed single byte writes to write1
removed usages of sprintf
...
Conflicts:
basis/alien/inline/compiler/compiler.factor
basis/alien/inline/inline.factor
2009-07-11 19:58:25 +12:00
Jeremy Hughes
f2380aab7f
alien.inline.compiler: documentation
2009-07-11 19:24:09 +12:00
Jeremy Hughes
eb72ba84f6
alien.inline.compiler: fixed library-path and made other words private
2009-07-11 19:23:49 +12:00
Jeremy Hughes
b03b769966
alien.inline: renamed compiler-args to linker-args
2009-07-11 19:23:21 +12:00
Joe Groff
45293cc7fb
Merge branch 'master' of git://factorcode.org/git/factor
2009-07-10 08:28:19 -05:00
Slava Pestov
949b527ed5
Help lint fixes for urls.encoding and mongodb.driver
2009-07-10 07:52:20 -05:00
Slava Pestov
1cf6bb7f99
compiler.cfg.linear-scan: disable unit test for unimplemented feature
2009-07-10 07:48:49 -05:00
U-SLAVA-DFB8FF805\Slava
e6e6490156
Merge branch 'inlinec' of git://github.com/jedahu/factor
2009-07-10 07:15:25 -05:00
Jeremy Hughes
4a5cb3aac3
alien.inline: added with-c-library word
2009-07-11 00:08:40 +12:00
Jeremy Hughes
dc80d8575f
alien.inline: added documentation
2009-07-10 23:55:32 +12:00
Jeremy Hughes
864a6e7508
alien.inline: better names
2009-07-10 23:55:05 +12:00
Jeremy Hughes
0851823ba9
alien.inline: remove vocab argument from define-c-struct
2009-07-10 23:54:40 +12:00
Jeremy Hughes
2e7f337b3d
alien.inline: made define-c-function and define-c-function' standalone
2009-07-10 23:53:50 +12:00
Slava Pestov
ae67de6f90
compiler.cfg.linear-scan: fix fencepost error in spill insertion
2009-07-10 03:58:51 -05:00
Slava Pestov
11347e784c
insn. doesn't print numbers
2009-07-10 03:05:45 -05:00
Daniel Ehrenberg
500c784bd7
Minor reorganization of stack-checker.call-effect
2009-07-10 01:05:03 -05:00
Daniel Ehrenberg
23b8f48267
stack-checker.known-words:infer-special uses a word property
2009-07-10 00:52:08 -05:00
Slava Pestov
dea872c7e3
compiler.cfg.linear-scan.allocation: fix broken spill slot reuse logic
2009-07-10 00:25:46 -05:00
Joe Groff
4dd6992c7e
Merge branch 'master' of git://factorcode.org/git/factor
2009-07-09 23:20:11 -05:00
Slava Pestov
7edb2df01c
Merge branch 'master' of git://factorcode.org/git/factor
2009-07-09 23:14:45 -05:00
Slava Pestov
789d82745c
compiler.cfg.value-numbering: factor out value renaming into a separate compiler.cfg.renaming vocabulary
2009-07-09 23:14:26 -05:00
Slava Pestov
6810b922ee
compiler.cfg: move back-edge? word from stack-analysis to top-level vocab
2009-07-09 23:13:30 -05:00
Slava Pestov
d02854b04e
compiler.cfg.linear-scan: two live intervals which are coalesced will use the same spill slot
2009-07-09 23:12:49 -05:00
Daniel Ehrenberg
4b29d13fda
Adding authors to compiler.tree.modular-arithmetic
2009-07-09 23:09:49 -05:00
Daniel Ehrenberg
cf3038b7d6
Improving modular arithmetic optimization to be aware of words like set-alien-unsigned-2
2009-07-09 23:07:38 -05:00
Jeremy Hughes
59f0dbb516
alien.inline: fix library name and us remove-library
2009-07-10 13:14:43 +12:00
Jeremy Hughes
289c963dd2
Merge branch 'master' into inlinec
...
* master: (39 commits)
Revert "Remove unused vocabulary" -- committed patch from the wrong machine
Remove unused vocabulary
Fixing some test failures after url.encoding change
FUEL: Font lock/indentation for M::.
replace 2array "." join with "." glue
contributors: exclude merges to make patch counts more reasonable
alien.libraries: add remove-library word, fix dlclose and dll-valid? VM primitives
alien.libraries: add dispose method for library tuple, and remove-library word; add-library first calls remove-library to properly close the library when reloading
changed single byte writes to write1
removed usages of sprintf
fixed signed number decoding problem
added >upper to push-utf8 to conform with RFC 3986 section 2.1. recommendation
io.launcher: unnecessary word
compiler.cfg.optimizer: fix irrelevant test
compiler.tree.propagation: better length propagation
compiler.cfg.linear-scan: fixing unit tests
compiler.cfg.linear-scan: more code cleanups, and working on split-to-fit algorithm
compiler.cfg.linear-scan: code cleanups
compiler.cfg.linear-scan: split off parallel mapping code from resolve pass, use it in assignment pass to resolve parallel copies
updated llvm.invoker test to use install-bc
...
2009-07-10 13:03:07 +12:00
Jeremy Hughes
8281c2fb55
alien.inline.compile: write library files to resource:alien-inline-libs
2009-07-10 13:00:23 +12:00
Slava Pestov
bb701bed7e
Revert "Remove unused vocabulary" -- committed patch from the wrong machine
...
This reverts commit 04c3c15411
.
2009-07-09 19:50:15 -05:00
Jeremy Hughes
e0c0399d24
alien.inline.compile: write library files to resource:alien-inline-libs
2009-07-10 12:45:27 +12:00
Slava Pestov
8008bfb1f9
Remove unused vocabulary
2009-07-09 19:10:36 -05:00
Slava Pestov
c4f4c6749f
Fixing some test failures after url.encoding change
2009-07-09 19:02:15 -05:00
Slava Pestov
baff251d1e
alien.libraries: add remove-library word, fix dlclose and dll-valid? VM primitives
2009-07-09 06:51:31 -05:00
Slava Pestov
15c7499ef5
alien.libraries: add dispose method for library tuple, and remove-library word; add-library first calls remove-library to properly close the library when reloading
2009-07-09 06:41:51 -05:00
Slava Pestov
93195e2914
Merge branch 'for-slava' of git://github.com/x6j8x/factor
2009-07-09 06:40:52 -05:00
Sascha Matzke
097487a9f3
added >upper to push-utf8 to conform with RFC 3986 section 2.1. recommendation
2009-07-09 13:34:38 +02:00
Slava Pestov
128c6c8e03
Merge branch 'master' of git://factorcode.org/git/factor
2009-07-09 06:32:04 -05:00
Slava Pestov
d0f2b1c606
io.launcher: unnecessary word
2009-07-09 06:31:38 -05:00
Slava Pestov
522da6fc0f
Merge branch 'master' of git://github.com/abeaumont/factor
2009-07-09 06:20:58 -05:00
U-SLAVA-DFB8FF805\Slava
508b7272b5
compiler.cfg.optimizer: fix irrelevant test
2009-07-09 06:17:10 -05:00
Slava Pestov
e0d84eb3a2
compiler.tree.propagation: better length propagation
2009-07-09 02:28:30 -05:00
Slava Pestov
d0980edafe
compiler.cfg.linear-scan: fixing unit tests
2009-07-09 00:48:00 -05:00
Slava Pestov
5a64290386
compiler.cfg.linear-scan: more code cleanups, and working on split-to-fit algorithm
2009-07-09 00:20:03 -05:00
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