Joe Groff
f93363567e
Merge branch 'master' of git://factorcode.org/git/factor
2009-08-23 08:23:11 -05:00
Doug Coleman
71652d2826
Merge branch 'master' of git://factorcode.org/git/factor
2009-08-22 21:27:26 -04:00
Doug Coleman
f18aef2afb
Merge branch 'master' of git://factorcode.org/git/factor
2009-08-22 21:24:02 -04:00
sheeple
981e8470bf
Merge branch 'master' of git://factorcode.org/git/factor
2009-08-22 20:24:01 -05:00
sheeple
b14dd8ab67
cpu.ppc: integer>fixnum scratch area overlapped with the rest of stack frame, very bad
2009-08-22 20:23:28 -05:00
Slava Pestov
f82627e736
math.intervals: comment out questionable unit tests
2009-08-22 19:39:32 -05:00
Slava Pestov
3979608b09
tools.deploy: faster default method stripping
2009-08-22 19:26:56 -05:00
Slava Pestov
44448c3ff6
iokit: don't depend on debugger, reduces terrain demo size by a bit
2009-08-22 19:02:40 -05:00
Slava Pestov
5e8e83c645
bootstrap.image: smarter object folding; 500kb boot image size reduction on 64-bit
2009-08-22 17:56:58 -05:00
Slava Pestov
d85b66536f
Add docs for break and B words
2009-08-22 17:45:18 -05:00
Slava Pestov
81b72cb5c5
Add some unit tests
2009-08-22 17:15:10 -05:00
Joe Groff
2d6622e5e9
Merge branch 'master' of git://factorcode.org/git/factor
2009-08-22 13:42:52 -05:00
Joe Groff
6f6edd79ac
combinators.smart: "keep-inputs" combinator
2009-08-21 21:17:15 -05:00
Slava Pestov
1961b4da16
next-fastcall-param word was not being called; on x86 its equivalent to inc but on ppc there is more logic, this fixes FFI on PowerPC
2009-08-21 20:15:19 -05:00
Slava Pestov
2c533472f8
Merge branch 'master' of git://factorcode.org/git/factor
2009-08-21 18:48:44 -05:00
Slava Pestov
9ab8734441
cpu.ppc: work in progress
2009-08-21 18:48:34 -05:00
Joe Groff
c6b9a45881
$deprecated help markup
2009-08-20 18:36:55 -05:00
Slava Pestov
5197aca215
compiler.cfg.dataflow-analysis: when intersecting sets, treat uninitialized sets as universal rather than empty; reduces number of stack instructions generated by 1%
2009-08-20 18:15:41 -05:00
Slava Pestov
49bd2228ec
compiler.tree.modular-arithmetic: fix regression; set-alien-*-1 was not always open-coded
2009-08-20 17:56:49 -05:00
Joe Groff
93c93a392b
Merge branch 'master' of git://factorcode.org/git/factor
2009-08-20 16:21:58 -05:00
Joe Groff
90f8cdc0d1
link tools.deprecation docs into handbook and error-list docs
2009-08-20 16:18:47 -05:00
Joe Groff
6ca45f07b4
load tools.deprecation from bootstrap.tools
2009-08-20 16:18:28 -05:00
Joe Groff
94c50cfaeb
install deprecation definition-observer as an init-hook
2009-08-20 16:18:06 -05:00
Joe Groff
6089251574
move deprecation to tools.deprecation; load with bootstrap.tools
2009-08-20 16:17:36 -05:00
Joe Groff
2760079b65
deprecation docs
2009-08-20 15:35:11 -05:00
Joe Groff
400c89daf0
"deprecated" declaration, "deprecation" vocab to track deprecations in the error log
2009-08-20 15:10:42 -05:00
Slava Pestov
a3631f1878
bootstrap.compiler: add -debug-compiler switch which loads compiler but doesn't compile any words
2009-08-20 03:48:03 -05:00
Slava Pestov
9ef8f6c81d
compiler.tree.modular-arithmetic: eliminate >bignum calls where possible, convert fixnum-shift to fixnum-shift-fast if shift count is positive, don't run if there are no modular values
2009-08-20 03:47:45 -05:00
Slava Pestov
f01f7ad6eb
compiler.tree.propagation: bitand custom inlining was wrong if the second input was a bignum
2009-08-20 03:47:07 -05:00
Slava Pestov
cecd0ac2b0
Merge branch 'master' of git://factorcode.org/git/factor
2009-08-19 22:00:31 -05:00
Slava Pestov
fd2f0a602d
compiler.cfg.stacks.local: more accurate local replace set computation; optimizes out 'swap swap'
2009-08-19 22:00:21 -05:00
Joe Groff
abad5a71fd
Merge branch 'master' of git://factorcode.org/git/factor
2009-08-19 21:31:20 -05:00
Joe Groff
c898593983
decouple struct parsing/printing from tuple parsing/printing a bit
2009-08-19 18:53:44 -05:00
Slava Pestov
a598cc35a5
compiler: add unit tests for new bugs
2009-08-19 16:56:26 -05:00
Slava Pestov
770429a629
math.intervals: help lint fix
2009-08-19 16:08:52 -05:00
Slava Pestov
2dc99ea05f
Fix interval inference of abs, absq when input is a complex number
2009-08-19 16:06:37 -05:00
Joe Groff
15a7148de0
Merge branch 'master' of git://factorcode.org/git/factor
2009-08-19 15:48:07 -05:00
Doug Coleman
346636ed3b
use iota in generalizaions
2009-08-19 09:53:13 -05:00
Doug Coleman
fa415c6d05
Merge branch 'master' of git://factorcode.org/git/factor
2009-08-19 04:49:18 -05:00
Doug Coleman
06d9e1d46d
clarify docs
2009-08-19 04:41:33 -05:00
Doug Coleman
2936f05ce0
add smart-if to combinators.smart
2009-08-19 04:38:59 -05:00
Slava Pestov
829107902e
compiler.tree.propagation: improved interval inference for absq eliminates a conditional from math.vectors:distance. Type inference for rational math also a bit sharper now
2009-08-19 02:33:41 -05:00
Slava Pestov
2bc38bf019
math.intervals: tighter interval arithmetic for intervals with infinities
2009-08-19 02:32:18 -05:00
Slava Pestov
a34a3bf417
hints: HINTS: now recompiles subwords too, 15% perf improvement on reverse-complement because encoder-write is compiled with hints now
2009-08-18 19:40:54 -05:00
Daniel Ehrenberg
3b5a385b5d
Merge branch 'master' of git://factorcode.org/git/factor
2009-08-18 12:49:29 -05:00
Daniel Ehrenberg
5aac11c5a9
Biassocs have special clone method
2009-08-18 12:48:09 -05:00
Slava Pestov
507e2b7f3a
Fix some unit test failures
2009-08-18 03:49:05 -05:00
Slava Pestov
9ee4259705
Merge branch 'master' of git://factorcode.org/git/factor
2009-08-18 03:47:29 -05:00
Slava Pestov
5fe3a62446
io.launcher.windows.nt: don't call duplicate-handle, and fix memory leak; io.backend.windows: track win32-handle instances in global win32-handles set to help find leaks
2009-08-18 03:46:46 -05:00
Doug Coleman
0cbad41547
Merge branch 'master' of git://factorcode.org/git/factor
2009-08-18 03:45:20 -05:00
Doug Coleman
761ed6356b
fix HEREDOC:s, add DELIMITED: which is like a HEREDOC: where the terminator can appear anywhere
2009-08-18 03:44:54 -05:00
Slava Pestov
d7594c3381
compiler: inline singleton predicates, and optimize predicate engines, reduces terrain demo deployed size by ~20kb
2009-08-17 23:59:24 -05:00
Slava Pestov
04397a63c7
windows.ole32: don't pull in debugger, reduces terrain demo deployed size by ~30kb
2009-08-17 23:58:44 -05:00
Slava Pestov
9839659dfd
Merge branch 'master' of git://factorcode.org/git/factor
2009-08-17 22:38:21 -05:00
Slava Pestov
030b1b816c
Add inline declarations for various assorted methods
2009-08-17 22:32:21 -05:00
Slava Pestov
3047d4a451
compiler.tree.propagation: remove method inlining heuristic
2009-08-17 22:29:05 -05:00
Joe Groff
24d9a8635c
Merge branch 'struct-classes' of git://factorcode.org/git/factor
2009-08-17 21:26:19 -05:00
Doug Coleman
aa39423509
Merge branch 'master' of git://factorcode.org/git/factor
2009-08-17 20:47:40 -05:00
Doug Coleman
7234b4bb08
fix multiline docs
2009-08-17 20:47:27 -05:00
Slava Pestov
630ffb8ae6
Merge branch 'master' of git://factorcode.org/git/factor
2009-08-17 20:12:33 -05:00
Slava Pestov
4fac281b1a
rpn: new demo, simple RPN calculator that doesn't use Factor's evaluator reflectively
2009-08-17 20:12:05 -05:00
Doug Coleman
9a9be2405b
Merge git://github.com/mncharity/factor into mncharity
2009-08-17 19:00:41 -05:00
Doug Coleman
f998a81a43
trivial factoring
2009-08-17 18:59:03 -05:00
Mitchell N Charity
747f2ab21c
multiline: add HEREDOC: , slightly refactoring privates
2009-08-17 17:05:14 -04:00
Slava Pestov
bf57d78b09
compiler.tree.modular-arithmetic: >fixnum elimination and value info annotations were too aggressive
2009-08-17 01:20:25 -05:00
Slava Pestov
5297be3e19
compiler.tree.modular-arithmetic: stronger optimization handles > 1 usages case as well as values defined and used in loops. Eliminates 5 out of 8 >fixnum calls in benchmark.yuv-to-rgb
2009-08-15 18:42:41 -05:00
Daniel Ehrenberg
478b960560
Merge branch 'master' of git://factorcode.org/git/factor
2009-08-14 20:11:54 -05:00
Daniel Ehrenberg
3cec74867d
Improving write barrier elimination; change to compiler.cfg.utilities to support this
2009-08-14 19:41:41 -05:00
Doug Coleman
7c92ab1ea5
move if-zero etc to math, remove 1-/1+ from math
2009-08-14 14:27:23 -05:00
Joe Groff
6fe7fe72c7
Merge branch 'master' of git://factorcode.org/git/factor
2009-08-14 10:55:05 -04:00
Daniel Ehrenberg
8197d9356b
Write barriers are hoisted out of loops when their target is slot-available
2009-08-13 20:26:44 -05:00
Doug Coleman
2ed4425b7a
Merge branch 'master' of git://factorcode.org/git/factor
...
Conflicts:
basis/calendar/calendar.factor
2009-08-13 19:40:02 -05:00
Doug Coleman
3f3d57032b
Delete empty unit tests files, remove 1- and 1+, reorder IN: lines in a lot of places, minor refactoring
2009-08-13 19:21:44 -05:00
Daniel Ehrenberg
5a3e350490
Global write barrier elimination tracks newly allocated objects
2009-08-13 15:18:47 -05:00
Joe Groff
a2569ea50b
make direct-*-arrays prettyprint
2009-08-13 12:05:46 -04:00
Doug Coleman
4cca19b528
remove duplicate defintion of unless-zero from calendar
2009-08-13 00:48:50 -05:00
Daniel Ehrenberg
ad772cd261
Merge branch 'master' of git://factorcode.org/git/factor
2009-08-12 23:56:05 -05:00
Daniel Ehrenberg
d35e1eb76c
Fixing write-barrier elimination; adding bb as a parameter to join-sets in dataflow analysis
2009-08-12 23:52:29 -05:00
Joe Groff
287207df72
fix boa undo to work with structs
2009-08-12 16:09:25 -04:00
Joe Groff
875284f8ab
S{ } syntax for structs
2009-08-12 15:59:33 -04:00
Joe Groff
25c3434892
pprint structs with tuple syntax
2009-08-12 13:16:43 -04:00
Slava Pestov
0df4436711
Merge branch 'master' of git://factorcode.org/git/factor
2009-08-12 03:26:13 -05:00
Slava Pestov
4ecf5a904a
More accurate wrap-interval in compiler.tree.propagation.info fixes test regression; constructing an interval with endpoints at infinity now outputs full-interval
2009-08-12 03:25:53 -05:00
Doug Coleman
aabfc614a1
fix build errors
2009-08-11 23:07:13 -05:00
Doug Coleman
379c17a284
Throw typed errors instead of strings for calling/executing non-callables
2009-08-11 22:40:29 -05:00
Doug Coleman
14e8abd563
even better error handling for division by zero
2009-08-11 22:30:16 -05:00
Daniel Ehrenberg
1a7ab59f56
Making write barrier elimination global
2009-08-11 21:21:21 -05:00
Doug Coleman
415d89e821
use unless-empty
2009-08-11 21:18:43 -05:00
Doug Coleman
02becc26fc
add docs for if-zero etc, add docs for 10^
2009-08-11 18:45:01 -05:00
Doug Coleman
c12d6fe543
Merge branch 'master' of git://factorcode.org/git/factor
2009-08-11 18:16:30 -05:00
Doug Coleman
4a3d63e00a
use if-zero in a few more places
2009-08-11 18:15:53 -05:00
Doug Coleman
4fef246ca4
add 10^ to math.functions and update usages
2009-08-11 18:00:24 -05:00
Slava Pestov
7bfbb0c5ac
math.intervals: fix interval-rem
2009-08-11 16:49:28 -05:00
Slava Pestov
422dd24bad
alien.complex: fix tests
2009-08-11 14:07:33 -05:00
Philipp Brüschweiler
26859a45eb
various doc fixes
2009-08-11 16:58:47 +02:00
Brad Christensen
f8405e9c55
A number of documentation fixes.
...
* Short-circuit combinators now show correct stack effect for quots
* Groups and Clumps unchecked examples corrected, made runnable in listener
* Class operations had duplicate link to class-types
* Protocol slots readability fixed
* Tuple word property for "tuple-layout" corrected to "layout"
* cond>quot sentence started in lowercase
* Method precedence code example missing stack effect for GENERIC:, M: integer explain changed to detail an integer
* Motivation for default streams readability
* Default input and output streams duplicate readln link removed from output stream words section
* Looping combinators do description clarified
* Make philosophy missing space
* Linear order protocol duplicate after? link removed
* Parsing words readability fix
* Copied note regarding with-compilation-unit from define to define-declared and define-inline
2009-08-10 23:34:25 -07:00
Slava Pestov
c473f59554
Merge branch 'master' of git://github.com/Blei/factor
2009-08-10 16:18:19 -05:00
Slava Pestov
9fb0dcd9bd
alien: need to differentiate between the type of the result before and after boxing; the former is used by propagation for #alien-invoke nodes and the latter is used by specialized arrays. This fixes FFI unit test failures
2009-08-10 16:17:33 -05:00
Philipp Brüschweiler
230061783a
misc small documentation fixes, some fixes for factor.vim, changed permissions of vm/* to 644
2009-08-10 21:33:07 +02:00
Slava Pestov
7e35723db0
compiler.tree.propagation: be more careful with intervals, ensuring that the inferred interval of a value is a subset of the value class's interval. This improves accuracy, for example [ >fixnum 1 + >fixnum most-positive-fixnum <= ] constant-folds to true
2009-08-10 01:16:49 -05:00
Slava Pestov
50e366bbe1
Merge branch 'master' of git://factorcode.org/git/factor
2009-08-09 16:31:03 -05:00
Slava Pestov
8a9c15ab0b
compiler.tree.escape-analysis: if the output of an #introduce node has an immutable tuple class type declaration, and it is not passed to any subroutine calls, or returned from the word, then unbox it. This speeds up vector arithmetic words on specialized arrays, because the specialized array is unboxed up-front, eliminating an indirection on every loop iteration
2009-08-09 16:29:21 -05:00
Slava Pestov
d19c403fee
alien.structs: struct-type now has a class slot; fix specialized complex-float/double arrays
2009-08-09 16:10:11 -05:00
Slava Pestov
d0fe741746
tools.deploy.shaker: strip out specialized vector words
2009-08-09 04:48:44 -05:00
Slava Pestov
cc5476c823
_gc instruction doesn't need slot to hold GC root area size, since that's just tagged-values>> length
2009-08-09 03:08:13 -05:00
Slava Pestov
1cb0f3370b
math.vectors.specialization: first attempt at some call site splitting for vector ops. Specialized array types generate customized variants of all vector words, if input types are known at compile time, a call to the specialized version is inserted
2009-08-09 03:07:33 -05:00
Slava Pestov
687454878a
compiler.cfg.linearization: change order to fit older unit tests
2009-08-08 23:06:57 -05:00
Slava Pestov
83e0c60573
tools.test: flush the output stream
2009-08-08 23:03:53 -05:00
Slava Pestov
e400d80d8b
More accurate interval inference for mod, rem, and propagation can now infer intervals in the case where a value might be f. so, [ [ 127 bitand ] [ drop f ] if dup [ 0 >= ] [ not ] if ] now constant-folds down to 't'!
2009-08-08 23:03:45 -05:00
Slava Pestov
61ea749bb6
More accurate interval-mod and interval-rem
2009-08-08 22:01:12 -05:00
Slava Pestov
24a50c8006
compiler.cfg.two-operand: sometimes we can eliminate a copy in the x = y <op> y case
2009-08-08 20:03:42 -05:00
Slava Pestov
55acddef3f
compiler.cfg.representation: OK to unbox output of ##load-reference globally
2009-08-08 20:03:13 -05:00
Slava Pestov
d0c393aa60
compiler.cfg: new system to track when results of analyses need to be recomputed (reverse post order, linear order, predecessors, dominance, loops). Passes can now call needs-predecessors, needs-dominance, needs-loops at the beginning, and cfg-changed, predecessors-changd at the end. Linearization order now takes loop nesting into account, and linear scan now uses linearization order instead of RPO.
2009-08-08 20:02:56 -05:00
Slava Pestov
11dc0a23a8
compiler.cfg.ssa.liveness: fix tests
2009-08-08 16:15:45 -05:00
Slava Pestov
1bf8a0cac7
compiler.cfg.representations: emit-conversion should not be private since CSSA construction uses it
2009-08-08 04:13:30 -05:00
Slava Pestov
4b7ba38aab
compiler.cfg: virtual registers are integers now, and representations are stored off to the side. Fix bug in representation selection that would manifest if a value was used as a float and a fixnum in different branches; cannot globally unbox float in this case
2009-08-08 04:02:18 -05:00
Slava Pestov
e21ca289c3
compiler.cfg.representations: new pass to make global unboxing decisions, relies on new compiler.cfg.loop-detection pass for loop nesting information
2009-08-08 00:24:46 -05:00
Slava Pestov
b85d842ca6
Merge branch 'master' of git://factorcode.org/git/factor
2009-08-07 17:45:09 -05:00
Slava Pestov
725280d424
Split off the notion of a register representation from a register class
2009-08-07 17:44:50 -05:00
Joe Groff
fcfe16d8d0
make simplify-callable prettyprinting an optional load in extra
2009-08-07 16:19:46 -04:00
Slava Pestov
fb80f21d75
help.tutorial: minor tweaks
2009-08-07 14:54:51 -05:00
Slava Pestov
2e73038043
Revert basis UI gadget changes
2009-08-06 16:46:48 -05:00
Sam Anklesaria
6f607ed5a9
fixed ui.gadgets.tables multi-selection bug
2009-08-06 16:31:35 -05:00
Sam Anklesaria
827d30a95b
Merge branch 'master' of git://factorcode.org/git/factor
2009-08-06 15:40:57 -05:00
Joe Groff
556904cf57
simplify-callable docs
2009-08-06 16:21:53 -04:00
Sam Anklesaria
a621e381e3
merged control extras into basis
2009-08-06 15:19:28 -05:00
Joe Groff
0a4d926212
simplify dip/call/curry/compose in callable objects before prettyprinting
2009-08-06 16:16:17 -04:00
Slava Pestov
ef97fdf0c5
ui.gadgets.tables: some band-aid fixes
2009-08-06 01:28:30 -05:00
Slava Pestov
7734bd9bcd
vocabs.hierarchy: fix load-all
2009-08-05 23:08:14 -05:00
Slava Pestov
fde421a880
Merge branch 'bogie'
2009-08-05 23:04:49 -05:00
Slava Pestov
b4f97dc632
vocabs.hierarchy: load word now tries to load the vocab named by the prefix itself
2009-08-05 23:04:34 -05:00
Slava Pestov
926797d485
ui.gadgets.tables: more fixes
2009-08-05 22:56:08 -05:00
Slava Pestov
dba67b1815
ui.gadgets.tables: little cleanup
2009-08-05 22:45:56 -05:00
Slava Pestov
805b0b2430
Merge branch 'master' of git://github.com/bogiebro/factor into bogie
2009-08-05 22:20:40 -05:00
Sam Anklesaria
a352e7411e
reindented ui.gadgets.tables
2009-08-05 21:29:48 -05:00
Slava Pestov
370f4c081d
compiler.cfg: convert code into two-operand form before SSA destruction; SSA destruction now operates on a relaxed SSA form where multiple defs of the same vreg are allowed, but only within a single basic block. This makes linear scan's coalescing redundant, allowing it to be removed completely
2009-08-05 18:57:46 -05:00
Slava Pestov
eb3bd1edea
cpu.x86.assembler: make some words private
2009-08-05 18:30:42 -05:00
Sam Anklesaria
e426bc4be8
moved patterns to persistency for new db prep
2009-08-05 16:45:22 -05:00
Sam Anklesaria
0c4b9a0d58
simplified ui.gadgets.tables
2009-08-05 16:24:56 -05:00
Slava Pestov
b1a85133dc
http.server.rewrite: fix typo in docs
2009-08-05 03:35:31 -05:00
Slava Pestov
97ec3ea1b4
compiler.graphviz: add high-level IR call graph rendering
2009-08-05 03:33:06 -05:00
Slava Pestov
fb03a93763
compiler.tree.recursive: have to check tail call flag of call tree edges too
2009-08-05 02:14:49 -05:00
Slava Pestov
50fd4f17c3
Oops
2009-08-05 01:15:06 -05:00
Slava Pestov
eb0ecb68cd
ui.tools.debugger: (:edit) got renamed to edit-error
2009-08-04 21:14:43 -05:00
Slava Pestov
3b2fd98e7c
Refactor source-file-errors a little bit to remove some code duplication, and so that clicking 'Edit' in error list tool works for parse errors in unit tests
2009-08-04 21:01:21 -05:00
Slava Pestov
c3d60e5899
compiler.tree.recursive: more accurate loop detection
2009-08-04 19:18:40 -05:00
Slava Pestov
eed4f4dcfc
compiler.tree.recursive: add some more more loop detection tests
2009-08-04 16:23:14 -05:00
Sam Anklesaria
70428241bd
textmate bundle scaffolding
2009-08-04 16:05:37 -05:00
Slava Pestov
9aba341bdb
furnace.sessions: fix tests, requests must have a method set now
2009-08-03 21:26:06 -05:00
Sam Anklesaria
1145f49a47
Merge branch 'master' of git://factorcode.org/git/factor
2009-08-03 20:09:05 -05:00
Doug Coleman
5d19f868fb
fix using list
2009-08-03 17:32:56 -05:00
Slava Pestov
be0d134ebe
Merge branch 'master' of git://factorcode.org/git/factor
2009-08-03 15:00:21 -05:00
Slava Pestov
841fc3a89a
http.server.rewrite generalizes furnace.actions rest slot, so mention this in the docs
2009-08-03 15:00:05 -05:00
Slava Pestov
181d9ca07d
http.server.rewrite: facility for making URLs prettier, and dynamic dispatching on the first part of a host name. Doug go nuts
2009-08-03 14:58:56 -05:00
Slava Pestov
3857006b71
Move furnace.actions:{param,params} and furnace.utilities:request-params to http.server
2009-08-03 14:58:18 -05:00
Slava Pestov
e5114aa510
bootstrap.compiler.timing: fix load error
2009-08-03 13:34:28 -05:00
Slava Pestov
b49e4c9c9b
Merge branch 'master' of git://factorcode.org/git/factor
2009-08-03 10:31:27 -05:00
Slava Pestov
d286a7f426
compiler.cfg.critical-edges: no longer neededed
2009-08-03 10:31:00 -05:00
Sam Anklesaria
07b34c6d0a
Merge branch 'master' of git://factorcode.org/git/factor
2009-08-03 10:13:27 -05:00
Sam Anklesaria
a211054962
textmate bundle work- stopped by modules bug
2009-08-03 10:12:20 -05:00
Slava Pestov
d20d335447
compiler.cfg.stacks: more accurate deconcatenatization inserts fewer partially redundant ##peeks. 11% improvement on benchmark.beust2, 2% reduction in ##peek and ##replace instructions inserted
2009-08-03 07:08:28 -05:00
Slava Pestov
720bfe378f
compiler.cfg.stacks.uninitialized: use bitand instead of min
2009-08-03 06:03:38 -05:00
Slava Pestov
89305e0bcb
Merge branch 'master' of git://factorcode.org/git/factor
2009-08-03 01:02:14 -05:00
Slava Pestov
30fde00570
help.html: fix vocab help generation
2009-08-03 01:02:00 -05:00
Joe Groff
63e5b0d6d8
Merge branch 'master' of git://factorcode.org/git/factor
2009-08-02 23:16:52 -05:00
Joe Groff
a2fe9f1952
[ [ ... ] bi@ <=> ] sort => [ ... ] sort-with
2009-08-02 20:13:59 -05:00
Joe Groff
7c5ef08aab
[ [ ... ] compare ] sort => [ ... ] sort-with
2009-08-02 20:09:23 -05:00
Slava Pestov
dac7edd2ab
compiler.cfg.def-use: remove compute-def-use word, passes have to call compute-defs or compute-uses now; compiler.cfg.ssa.liveness: don't compute dominance and def-use first since destruction does already
2009-08-02 19:12:32 -05:00
Slava Pestov
df6c87d350
Merge branch 'master' of git://factorcode.org/git/factor
2009-08-02 18:46:27 -05:00
Slava Pestov
32d9102feb
Revert "SSA destruction uses new SSA liveness checking"
...
This reverts commit 98c7de8410
.
2009-08-02 18:41:31 -05:00
Slava Pestov
a15b20a671
Revert "compiler.cfg.liveness.ssa: remove"
...
This reverts commit 6144fee101
.
2009-08-02 18:41:16 -05:00
Daniel Ehrenberg
665b3921d1
Merge branch 'master' of git://factorcode.org/git/factor
2009-08-02 18:25:37 -04:00
Daniel Ehrenberg
f7a53811c1
Merge branch 'master' of git://factorcode.org/git/factor
...
Conflicts:
basis/compiler/cfg/ssa/liveness/liveness-tests.factor
2009-08-02 18:23:49 -04:00
Slava Pestov
634e1dd525
compiler.cfg.liveness.ssa: remove
2009-08-02 17:19:01 -05:00
Slava Pestov
16a7ba35d2
Merge branch 'master' of git://github.com/alaricsp/factor
2009-08-02 17:15:26 -05:00
Daniel Ehrenberg
765efc1a66
Removing phi-outs set in SSA liveness checking
2009-08-02 18:15:18 -04:00
Slava Pestov
777bda70dc
Merge branch 'master' of git://factorcode.org/git/factor
2009-08-02 17:07:06 -05:00
Slava Pestov
8a8ebcb908
compiler.cfg.ssa.liveness: fix unit tests
2009-08-02 17:06:35 -05:00
Daniel Ehrenberg
3b78d03e2a
minor SSA liveness code reorganization
2009-08-02 18:05:51 -04:00
Daniel Ehrenberg
cf7ab59fb7
SSA destruction uses new SSA liveness checking
2009-08-02 18:04:45 -04:00
Daniel Ehrenberg
d349cc565a
def-use puts phi uses in respective predecessors
2009-08-02 18:04:07 -04:00
Alaric Snell-Pym
8dacd82707
FNV1 and FNV1a hashes implemented for 32, 64, 128, 256, 512, and 1024 bit widths.
2009-08-02 18:16:55 +01:00
Slava Pestov
73e7ead209
compiler.cfg.ssa.destruction: add optimization from old destruction pass: don't run on CFGs that have no phi instructions
2009-08-02 10:57:27 -05:00
Slava Pestov
ba55633b19
compiler.cfg.ssa.interference: cleanup
2009-08-02 10:35:02 -05:00
Slava Pestov
82c1106945
compiler.cfg.ssa.destruction: new implementation: simpler and more correct
2009-08-02 10:26:52 -05:00
Slava Pestov
c1c8424605
Compiler speedups
2009-08-02 09:16:21 -05:00
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