Slava Pestov
|
55a89ec9c2
|
Better error message for call( when quotation has the wrong effect
|
2010-02-03 23:11:25 +13:00 |
Slava Pestov
|
5ed0bc72aa
|
Merge git://github.com/littledan/Factor into littledan
|
2010-01-31 02:54:58 +13:00 |
Slava Pestov
|
6cc68e889e
|
stack-checker.dependencies: add tuple layout dependencies for use by 'new' and 'boa'
|
2010-01-30 09:29:00 +13:00 |
Slava Pestov
|
c058343167
|
Add some utility words to stack-checker.dependencies in preparation for a refactoring
|
2010-01-30 09:28:59 +13:00 |
Slava Pestov
|
26f311279c
|
Re-defining a tuple class now invalidates cached quotation stack effects
|
2010-01-30 09:28:59 +13:00 |
Slava Pestov
|
c027046857
|
New 'conditional dependency' mechanism for more accurate recording of recompilation information
|
2010-01-30 09:28:57 +13:00 |
Slava Pestov
|
817bc02392
|
compiler.tree.propagation.call-effect: clear out dependency tracking variables to ensure that infer calls made by call( as part of the compile process doesn't pollute the dependencies of the word being compiled
|
2010-01-30 09:28:57 +13:00 |
Daniel Ehrenberg
|
52f2ac2bb9
|
Tests for propagation additions; making fixnum-bit? inline
|
2010-01-25 20:15:17 -06:00 |
Daniel Ehrenberg
|
d3590ea210
|
Merge branch 'master' of git://factorcode.org/git/factor
Conflicts:
basis/compiler/tree/propagation/transforms/transforms.factor
|
2010-01-20 00:15:55 -06:00 |
Daniel Ehrenberg
|
aa1651032d
|
Adding compiler transforms in propagation
|
2010-01-20 00:10:49 -06:00 |
Slava Pestov
|
9a222a4163
|
compiler.tree.propagation.call-effect: eliminate some dispatch from call( expansion
|
2010-01-19 21:08:45 +13:00 |
Slava Pestov
|
3b5f7a9ecf
|
compiler.tree.propagation: ensure that we don't call 'equal?' or 'hashcode' on literals in words being compiled
|
2010-01-16 20:00:48 +13:00 |
Slava Pestov
|
df4fb4a3ee
|
Removing integers-as-sequences
|
2010-01-15 07:15:33 +13:00 |
Slava Pestov
|
50d68c1b10
|
Fix input-classes of /i and mod, and add some regression tests with various reductions of the original test-case from the terrain demo
|
2010-01-14 18:15:51 +13:00 |
Slava Pestov
|
47a5e96547
|
Rework min and max so that behavior with floats and NaNs is consistent between generic arithmetic and open-coded float intrinsics
|
2010-01-13 22:20:16 +13:00 |
Slava Pestov
|
44a604fdbe
|
compiler.tree: remove some code duplication concerning #alien nodes
|
2010-01-07 16:06:07 +13:00 |
Joe Groff
|
104c29aabc
|
simd intrinsic implementation for v*high, v*hs+, vavg, and vsad
|
2009-12-05 14:52:18 -08:00 |
Joe Groff
|
67cc1c01be
|
Merge branch 'master' into simd-cleanup
|
2009-11-26 16:14:46 -08:00 |
Joe Groff
|
66d0cafa94
|
fix buggy simd intrinsics
|
2009-11-26 13:28:40 -08:00 |
Joe Groff
|
65d8060075
|
fix simd intrinsic compilation
|
2009-11-24 11:37:28 -08:00 |
Joe Groff
|
d94ffe6d78
|
scalar fallbacks for simd intrinsics
|
2009-11-23 21:24:55 -08:00 |
Joe Groff
|
152b0d2df5
|
break simd intrinsics into a separate vocab so they can be intrinsified before the simd methods compile
|
2009-11-19 11:53:46 -08:00 |
Slava Pestov
|
0612bc6177
|
Factor source files should not be executable
|
2009-11-21 17:50:43 -06:00 |
Slava Pestov
|
361c38d5a1
|
heap-size now has a partial-eval instead of being foldable, and the partial-eval adds a dependency on the C type word. Fixes problem where redefining a struct didn't update specialized array
|
2009-11-15 11:26:37 -06:00 |
Joe Groff
|
f544982fda
|
Merge branch 'master' of git://factorcode.org/git/factor into simd-cleanup
Conflicts:
basis/math/vectors/simd/functor/functor.factor
|
2009-11-14 21:02:39 -06:00 |
Joe Groff
|
8a8699ac98
|
backend fixups
|
2009-11-14 20:59:03 -06:00 |
Slava Pestov
|
7377c96a21
|
compiler.tree.propagation.branches: fix recent constraints change
|
2009-11-13 07:16:41 -06:00 |
Slava Pestov
|
afecb9c758
|
Fixing call( inline caching
|
2009-11-13 04:32:33 -06:00 |
Slava Pestov
|
86da8ebed9
|
Instead of bumping the definition counter every time in the VM, bump it only if stack effects changed or macros were redefined
|
2009-11-13 03:52:14 -06:00 |
Slava Pestov
|
720c412431
|
compiler.tree.propagation: fix bug in constraints that caused retain stack overflow
|
2009-11-13 03:22:57 -06:00 |
Slava Pestov
|
ff25aaef54
|
compiler.tree.propagation.transforms: inline push if types are known. Speeds up reverse-complement, sort, sum-file benchmarks
|
2009-11-12 17:24:32 -06:00 |
Slava Pestov
|
7afea4c0ea
|
compiler.tree.propagation: implementing missing case in branch constraints
|
2009-11-12 17:24:11 -06:00 |
Slava Pestov
|
cba12eae37
|
Invalidate inline caches used by call( and execute( when words are redefined
|
2009-11-12 16:09:07 -06:00 |
Slava Pestov
|
cd2e226afa
|
stack-checker: split off stack-checker.dependencies from stack-checker.state
|
2009-11-08 20:34:46 -06:00 |
Joe Groff
|
8894e9047c
|
Merge branch 'master' into simd-cleanup
|
2009-11-07 22:26:09 -06:00 |
Joe Groff
|
00ce8b6a33
|
deprimitivize tuck and put it to pasture
|
2009-11-05 22:47:05 -06:00 |
Daniel Ehrenberg
|
d2fe75276e
|
custom inlining for diff and intersect, when given a literal sequence. this cuts off 1/3 of the running time of a microbenchmark
|
2009-11-05 13:13:27 -06:00 |
Joe Groff
|
75d04922b9
|
Merge branch 'master' into simd-cleanup
Conflicts:
basis/math/vectors/simd/functor/functor.factor
|
2009-11-05 11:27:08 -06:00 |
Joe Groff
|
42493b9778
|
update compiler.tree.propagation.simd, and don't load it till math.vectors.simd is loaded
|
2009-11-02 15:09:16 -06:00 |
Slava Pestov
|
e4ad642134
|
vm: 4 bit tags, new representation of alien objects makes unbox-any-c-ptr more efficient (work in progress)
|
2009-11-02 04:25:54 -06:00 |
Joe Groff
|
3fbe722561
|
Merge branch 'master' of http://factorcode.org/git/factor
Conflicts:
basis/locals/locals.factor
basis/peg/peg.factor
extra/infix/infix.factor
|
2009-10-28 16:17:24 -05:00 |
Doug Coleman
|
bd13e018dd
|
memq? -> member-eq?, sorted-memq? -> sorted-member-eq?
|
2009-10-28 15:02:00 -05:00 |
Joe Groff
|
935c0797c3
|
update existing code for [let change
|
2009-10-27 22:05:37 -05:00 |
Slava Pestov
|
0c431f1222
|
compiler.tree.propagation: fix broken corner cases in bitand and shift transforms, exposed by Hugh Aguilar's LC53 benchmark
|
2009-10-24 01:09:32 -05:00 |
Slava Pestov
|
e46259bd33
|
compiler.tree.propagation.transforms: fix problem with 'shift' transform when input was a bignum
|
2009-10-23 07:50:56 -05:00 |
Slava Pestov
|
2d5cdd19ec
|
compiler: on PPC, ANDI, ORI and XORI instructions take an unsigned 16-bit immediate, unlike ADDI, SUBI and MULLI which take a signed 16-bit immediate. The code generator was not aware of this, and so for example '[ >fixnum -16 bitand ]' would generate incorrect code. Split up small-enough? hook into immediate-arithmetic? and immediate-bitwise? and update value numbering to be aware of this. Fixes classes.struct bitfields test failure
|
2009-10-19 04:58:29 -05:00 |
Joe Groff
|
d9002127fa
|
have vshuffle accept simd-128 variable byte shuffles
|
2009-10-10 11:30:11 -05:00 |
Slava Pestov
|
366c341c5f
|
compiler.tree.propagation.branches: fix live-branches computation for #dispatch nodes
|
2009-10-10 00:23:50 -05:00 |
Joe Groff
|
471c86a110
|
generate better code for vabs when instruction isn't available instead of using software fallback (-0.0 andn for floats, x > 0 ? x : -x for signed ints, nop for unsigned ints)
|
2009-10-09 14:24:55 -05:00 |
Joe Groff
|
01f5d392be
|
implement vneg as an intrinsic in terms of load -0, subtract
|
2009-10-09 13:16:39 -05:00 |