John Benediktsson
f2741b34a4
Eliminate duplicate syntax for stack effects "(" no longer drops and is identical to the old "((", which is now removed.
2011-10-18 13:19:39 -07:00
Joe Groff
a3d9990255
compiler.tree.dead-code: fix test
...
It was using "read" in an optimization test, but since "read" is now inline, it wasn't getting the expected optimized quotation back.
2011-10-17 21:23:10 -07:00
John Benediktsson
7494418bf8
More lint cleanups.
2011-10-16 19:33:16 -07:00
John Benediktsson
f419934d6a
Cleanup lint warnings.
2011-10-14 11:47:24 -07:00
Slava Pestov
1898d0e26e
compiler.tree.identities: the identity on mod was useless too, because we already have a rewrite rule which handles this case in compiler.tree.propagation
2011-10-10 12:34:21 -07:00
Slava Pestov
91bfed5d1e
compiler.tree.propagation.transforms: fix rem and mod custom inlining
2011-10-10 12:12:53 -07:00
Slava Pestov
2a6ff945b3
Fix custom-inlining for mod and rem, which was converting these calls to bitand in some cases, even if the input was not known to be an integer. Fixes #243
2011-10-09 13:51:35 -07:00
Slava Pestov
0d6a0cd3ea
Remove identities on / and rem, which were no-ops because integer-derived-ops would return an empty array
2011-10-09 13:51:03 -07:00
Doug Coleman
7d8817583a
compiler.tree.modular-arithmetic needs shallow-spread>quot
2011-10-02 22:21:11 -07:00
Joe Groff
571ef865e6
slots: pre-create the "at", "nth", and "global" slots to make deterministic the currently nondeterministic ambiguity between accessors:change-* and assocs:change-at, sequences:change-nth, and namespaces:change-global
2011-09-19 10:03:43 -07:00
John Benediktsson
b000c96fac
compiler.tree.escape-analysis.allocations: simplify stack effect.
2011-09-17 08:14:13 -07:00
Slava Pestov
25fb472f73
Fix unit test failures caused by alien.data change
2010-12-25 22:34:12 -08:00
Doug Coleman
28cbcf7dd9
Fix a few tests that got broken in the <uint> *uint patches
2010-10-25 19:14:21 -05:00
Doug Coleman
40bdadcac4
Remove many uses of <int> and *int etc
2010-10-25 12:49:12 -05:00
Slava Pestov
ef5731ae88
stack-checker.alien: get a bit more inlining going with callbacks, to expose another bug
2010-09-05 21:27:39 -07:00
Slava Pestov
f3dfae04ba
compiler: now that FFI has been deconcatenatized, we no longer need the special ##unary-float-function and ##binary-float-function fastpaths
2010-08-13 23:59:19 -07:00
Slava Pestov
82694f60af
stack-checker.alien: generate a declaration for input parameter types
2010-07-30 15:50:05 -04:00
Slava Pestov
801197a58d
classes.algebra: make it work better to fix bug reported by Sascha Matzke
2010-07-29 19:57:23 -04:00
Slava Pestov
7d792778f5
FFI rewrite part 7: compile callback bodies with the optimizing compiler
2010-07-28 00:49:26 -04:00
Slava Pestov
4415a0924c
compiler.tree.finalization: record dependencies on inlined predicates
2010-07-23 16:31:15 -07:00
Slava Pestov
df9fefade5
compiler.tree.propagation.known-words: don't want a type function on clone, all the methods are inline and it was wrong (reported by Joe Groff)
2010-07-07 17:25:32 -04:00
Slava Pestov
04579f27d6
Revert guarded method inlining
...
This reverts commit 44a835e3fc , reversing
changes made to d45926bda0 .
2010-06-24 12:35:21 -04:00
Daniel Ehrenberg
ac15409baa
Fixing typo in modular arithmetic unit test (should use iota, not integer sequences, and just happened to work still)
2010-06-15 16:15:49 -04:00
Daniel Ehrenberg
f34630252d
Merge branch 'master' into propagation
2010-06-15 13:26:01 -04:00
Slava Pestov
b8ec5c6176
Stack allocation improvements
...
- New with-out-parameters combinator
- Inhibit tail call optimization in frames with local allocation, to ensure that passing a stack allocated value to the last word in the quotation works
- local allocations are now aligned properly
- spill slots are now aligned properly aligned in frames which have parameter and local allocation areas
2010-05-22 02:37:00 -04:00
Slava Pestov
70f6717713
compiler.tree.propagation.known-words: fix load error
2010-05-19 00:51:03 -04:00
Slava Pestov
84e7076474
alien.data: add with-scoped-allocation combinator for stack-allocating C data
2010-05-19 00:33:36 -04:00
Slava Pestov
c0f39aa99d
Move remaining sequence operations from generalizations to sequences.generalizations where they belong
2010-05-18 18:36:47 -04:00
Daniel Ehrenberg
476ef2d3ef
Inlining no-method when a generic word has no method
2010-05-14 20:28:09 -05:00
Daniel Ehrenberg
056951fd0c
Merge branch 'master' of git://factorcode.org/git/factor into propagation
...
Conflicts:
basis/compiler/tree/propagation/propagation-tests.factor
2010-05-14 18:59:39 -05:00
Joe Groff
40c75a996e
math.vectors.simd.intrinsics: fix scalar fallback for (simd-vshuffle2-elements)
2010-05-14 02:47:39 -07:00
Slava Pestov
db0f40e481
compiler: small fixes and cleanups
2010-05-13 02:48:20 -04:00
Slava Pestov
d2d466de29
Language change: tuple slot setter words with stack effect ( value object -- ) are now named FOO<< instead of (>>FOO)
2010-05-06 17:21:02 -04:00
Daniel Ehrenberg
786752bcef
Fixing bug in dependency tracking for guarded method inlining
2010-05-04 16:47:00 -05:00
Daniel Ehrenberg
3e7d7f0014
Bug fix in method inlining
2010-05-04 16:46:39 -05:00
Daniel Ehrenberg
12cff99809
Removing hack with >fixnum, now subsumed by a more general optimization
2010-05-04 16:46:39 -05:00
Daniel Ehrenberg
83feb6a758
Adding dependency checking and proper handing of dispatch# to the new method inlining
2010-05-04 16:46:38 -05:00
Daniel Ehrenberg
c68ec50080
Improving method inlining change, but there's still a bug
2010-05-04 16:46:08 -05:00
Daniel Ehrenberg
6a3cd17ecd
Changes to compiler.tree.propagation.inlining
2010-05-04 16:46:08 -05:00
Daniel Ehrenberg
7d4d4578ff
Fixing another bug in the method inlining improvement
2010-05-04 16:46:08 -05:00
Daniel Ehrenberg
5fcc960728
Fixing optimization for improved method inlining
2010-05-04 16:46:07 -05:00
Daniel Ehrenberg
ff907e0505
splitting generic word callsites when only one method is applicable
2010-05-04 16:46:07 -05:00
Daniel Ehrenberg
3760b1792f
instance? optimizes null checks
2010-05-04 16:46:07 -05:00
Slava Pestov
df25d4ca1c
compiler.tree.propagation: fix both-fixnums? trick
2010-05-03 17:34:30 -04:00
Slava Pestov
c724550291
compiler.cfg: fuse ##load-integer/##load-reference into ##replace to form ##replace-imm
2010-05-03 17:34:28 -04:00
Slava Pestov
9b770c09fb
compiler.tree.propagation: fix tests
2010-05-03 17:34:14 -04:00
Slava Pestov
fd84bb98bc
strings: move string-nth primitive out of the VM and into the library
2010-05-03 17:34:12 -04:00
Slava Pestov
bcede96e6c
compiler.tree.propagation.transforms: open-code >fixnum when input is already a fixnum or f
2010-04-19 01:14:00 -05:00
Slava Pestov
1d7089dc04
compiler: combine ##load-constant followed by ##alien-double into a ##load-double on x86-32, saving an integer register
2010-04-18 21:42:45 -05:00
Slava Pestov
e3ea77be7d
compiler.tree.propagation.recursive: more fine-grained generalize-counter-interval eliminates overflow checks from binary-search
2010-04-18 21:42:45 -05:00