Commit Graph

415 Commits (f2741b34a4b82600f7965cfa0f6eae6d4f4ffe24)

Author SHA1 Message Date
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