Slava Pestov
|
0c94d75efe
|
compiler.tree.propagation: clean up
|
2010-03-10 15:15:49 +13:00 |
Daniel Ehrenberg
|
bff3da2833
|
Propagation tracks length just like any other read-only slot
|
2010-03-09 15:58:44 -05:00 |
Slava Pestov
|
daf2e5270c
|
Get foldable and flushable declarations working on typed words
|
2010-02-24 00:16:55 +13:00 |
Slava Pestov
|
58d035f1c7
|
Fix two problems with recompilation: predicate constant folding was recording unsatisfied dependencies in some cases, and literal tuple instances of forgotten classes would cause problems for method inlining
|
2010-02-20 12:01:47 +13:00 |
Slava Pestov
|
4fa46fba2d
|
compiler.tree.escape-analysis: fix bug that comes up when inheritance is used
|
2010-02-16 14:44:13 +13:00 |
Slava Pestov
|
6bf88d104b
|
compiler.tree.propagation.transforms: tweak 2^ transform to fix performance regression in benchmark.beust2; introduced by 47d6507548
|
2010-02-16 01:03:09 +13:00 |
Slava Pestov
|
4cc907e1af
|
compiler.tree.propagation, compiler.tree.escape-analysis: make these passes handle constants in a more robust way in compilation units involving tuple reshaping
|
2010-02-12 02:50:59 +13:00 |
Slava Pestov
|
fd11ad30dc
|
compiler.tree.propagation.inlining: remove some unused words
|
2010-02-11 16:29:48 +13:00 |
Slava Pestov
|
ca9852b541
|
compiler.tree.propagation.call-effect: hack so that call( doesn't clear the last error
|
2010-02-03 23:11:33 +13:00 |
Slava Pestov
|
edbb980e3f
|
Revert "macros: macro body is now defined in its own subword, for compile-time stack effect checking"
This reverts commit 24de7c52f0c3f21cfcdb80235cac7296b0401c85.
|
2010-02-03 23:11:29 +13:00 |
Slava Pestov
|
c3f66d49a3
|
Better error message for call( when quotation has the wrong effect
|
2010-02-03 23:11:25 +13:00 |
Slava Pestov
|
29e1d268b7
|
generic: rename method-body predicate class to method
|
2010-02-03 23:11:24 +13:00 |
Slava Pestov
|
0ff526f478
|
macros: macro body is now defined in its own subword, for compile-time stack effect checking
|
2010-02-03 23:11:22 +13:00 |
Slava Pestov
|
8f763fe8da
|
Merge git://github.com/littledan/Factor into littledan
|
2010-01-31 02:54:58 +13:00 |
Slava Pestov
|
65ba4b58d9
|
stack-checker.dependencies: add tuple layout dependencies for use by 'new' and 'boa'
|
2010-01-30 09:29:00 +13:00 |
Slava Pestov
|
df16224ab2
|
Re-work flushed dependencies into new compiler cross-referencing framework
|
2010-01-30 09:29:00 +13:00 |
Slava Pestov
|
13f920babb
|
Add some utility words to stack-checker.dependencies in preparation for a refactoring
|
2010-01-30 09:28:59 +13:00 |
Slava Pestov
|
468a3a74f1
|
Re-defining a tuple class now invalidates cached quotation stack effects
|
2010-01-30 09:28:59 +13:00 |
Slava Pestov
|
2138b55708
|
New 'conditional dependency' mechanism for more accurate recording of recompilation information
|
2010-01-30 09:28:57 +13:00 |
Slava Pestov
|
dba5b0be08
|
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 |
Slava Pestov
|
1da446d8fc
|
Code cleanups
|
2010-01-30 09:28:56 +13:00 |
Slava Pestov
|
0738e85df1
|
Work in progress: record constant-folds of predicate words, and call-next-method invocations, in the same way that method inlining are recorded, for greater recompilation accuracy
|
2010-01-30 09:28:56 +13:00 |
Daniel Ehrenberg
|
8837fe5792
|
Tests for propagation additions; making fixnum-bit? inline
|
2010-01-25 20:15:17 -06:00 |
Daniel Ehrenberg
|
8b04f0f417
|
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
|
2e5f16da00
|
Adding compiler transforms in propagation
|
2010-01-20 00:10:49 -06:00 |
Slava Pestov
|
875053d645
|
compiler.tree.propagation.call-effect: eliminate some dispatch from call( expansion
|
2010-01-19 21:08:45 +13:00 |
Slava Pestov
|
e19c6fd76f
|
compiler.tree.escape-analysis: make tests a bit more robust; a change to boa constructors recently meant dead curries were showing up on certain expansions, this was throwing off the escape-analysis test's unboxed allocation counting. Fix this by having the test run DCE first, and remove a few tests that no longer make sense now
|
2010-01-18 23:32:34 +13:00 |
Slava Pestov
|
4bf62e6b41
|
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
|
880fb747fc
|
Removing integers-as-sequences
|
2010-01-15 07:15:33 +13:00 |
Slava Pestov
|
5770a5f9b3
|
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
|
005db61ad6
|
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
|
1e2c0327ee
|
Add alien-assembly form for inline assembler, works like alien-invoke except calls a user-supplied quotation instead of generating a subroutine call. Replaces FPU status control, SSE detection and read timestamp routines in vm/cpu-x86.*S
|
2010-01-07 17:39:22 +13:00 |
Slava Pestov
|
1e137b6d6a
|
compiler.tree: remove some code duplication concerning #alien nodes
|
2010-01-07 16:06:07 +13:00 |
Joe Groff
|
d674ff8191
|
simd intrinsic implementation for v*high, v*hs+, vavg, and vsad
|
2009-12-05 14:52:18 -08:00 |
Joe Groff
|
ebcaaa0d64
|
Merge branch 'master' into simd-cleanup
|
2009-11-26 16:14:46 -08:00 |
Joe Groff
|
ea7c5b6d86
|
fix buggy simd intrinsics
|
2009-11-26 13:28:40 -08:00 |
Joe Groff
|
804c8c3bcc
|
fix simd intrinsic compilation
|
2009-11-24 11:37:28 -08:00 |
Joe Groff
|
faf4df9043
|
scalar fallbacks for simd intrinsics
|
2009-11-23 21:24:55 -08:00 |
Joe Groff
|
3b17573c7c
|
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
|
08b6ebc7fa
|
Factor source files should not be executable
|
2009-11-21 17:50:43 -06:00 |
Slava Pestov
|
6d0598a385
|
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
|
993631e44c
|
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
|
9efff4a322
|
backend fixups
|
2009-11-14 20:59:03 -06:00 |
Slava Pestov
|
aaad7b6b16
|
compiler.tree.propagation.branches: fix recent constraints change
|
2009-11-13 07:16:41 -06:00 |
Slava Pestov
|
b201cc4a6f
|
Fixing call( inline caching
|
2009-11-13 04:32:33 -06:00 |
Slava Pestov
|
eb165a5450
|
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
|
6c7ce97380
|
compiler.tree.propagation: fix bug in constraints that caused retain stack overflow
|
2009-11-13 03:22:57 -06:00 |
Slava Pestov
|
a841083ebe
|
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
|
2e861d2ff8
|
compiler.tree.propagation: implementing missing case in branch constraints
|
2009-11-12 17:24:11 -06:00 |
Slava Pestov
|
06fb247b8c
|
Invalidate inline caches used by call( and execute( when words are redefined
|
2009-11-12 16:09:07 -06:00 |