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 |
Slava Pestov
|
e9d5b364b3
|
benchmark.yuv-to-rgb: New benchmark, based on Chris Double's old ogg.player code
|
2009-08-10 01:17:07 -05: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
|
057a2d7b5c
|
Rename some files in misc/Factor.tmbundle since Windows doesn't allow : in file names
|
2009-08-09 04:47:37 -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
|
926c46841b
|
classes.intersection: make flatten-class more accurate. It is still not perfect, but it fixes the case where a generic word has a method on a tuple class, and another method on an intersection of a mixin with another tuple classes
|
2009-08-07 22:30:57 -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 |
Slava Pestov
|
fb80f21d75
|
help.tutorial: minor tweaks
|
2009-08-07 14:54:51 -05:00 |
Sam Anklesaria
|
cdd311b3d1
|
removed basis dependent vocabs
|
2009-08-06 21:01:51 -05:00 |
Slava Pestov
|
b06fe403c8
|
file-trees: load fix
|
2009-08-06 16:49:02 -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 |
Sam Anklesaria
|
df371bd8bb
|
magic scrollers hide sliders when not needed
|
2009-08-06 15:20:10 -05:00 |
Sam Anklesaria
|
a621e381e3
|
merged control extras into basis
|
2009-08-06 15:19:28 -05: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
|
311774cb68
|
modules.rpc-server: don't start server by default
|
2009-08-05 22:56:19 -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 |
Sam Anklesaria
|
9d3fe3fd9a
|
removed demo from poppers
|
2009-08-05 20:04:14 -05:00 |
Sam Anklesaria
|
d65be18dce
|
ui.gadgets.poppers: new ui gadget
|
2009-08-05 20:01:50 -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 |
Sam Anklesaria
|
42d478054f
|
ui.gadgets.layout: add-gadget-at refactored
|
2009-08-05 08:44:14 -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 |