Commit Graph

393 Commits (970f96c8b85858f68c55f3ac9c02ed652f754644)

Author SHA1 Message Date
Daniel Ehrenberg 970f96c8b8 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 30cfbc8512 Merge branch 'master' into propagation 2010-06-15 13:26:01 -04:00
Slava Pestov ba7cb61133 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 0a0ebcd71d compiler.tree.propagation.known-words: fix load error 2010-05-19 00:51:03 -04:00
Slava Pestov 86358b1dc3 alien.data: add with-scoped-allocation combinator for stack-allocating C data 2010-05-19 00:33:36 -04:00
Slava Pestov ea726f5680 Move remaining sequence operations from generalizations to sequences.generalizations where they belong 2010-05-18 18:36:47 -04:00
Daniel Ehrenberg fbaa8d153f Inlining no-method when a generic word has no method 2010-05-14 20:28:09 -05:00
Daniel Ehrenberg 05290ee1b1 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 8f1751cd54 math.vectors.simd.intrinsics: fix scalar fallback for (simd-vshuffle2-elements) 2010-05-14 02:47:39 -07:00
Slava Pestov bb87d124c1 compiler: small fixes and cleanups 2010-05-13 02:48:20 -04:00
Slava Pestov 627295f094 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 4d5b7fe883 Fixing bug in dependency tracking for guarded method inlining 2010-05-04 16:47:00 -05:00
Daniel Ehrenberg 0d055060ad Bug fix in method inlining 2010-05-04 16:46:39 -05:00
Daniel Ehrenberg 23e78b8380 Removing hack with >fixnum, now subsumed by a more general optimization 2010-05-04 16:46:39 -05:00
Daniel Ehrenberg 0f0b56f1ef Adding dependency checking and proper handing of dispatch# to the new method inlining 2010-05-04 16:46:38 -05:00
Daniel Ehrenberg f1d7a4e663 Improving method inlining change, but there's still a bug 2010-05-04 16:46:08 -05:00
Daniel Ehrenberg 19a44d65df Changes to compiler.tree.propagation.inlining 2010-05-04 16:46:08 -05:00
Daniel Ehrenberg 3ed4a82475 Fixing another bug in the method inlining improvement 2010-05-04 16:46:08 -05:00
Daniel Ehrenberg 416707f327 Fixing optimization for improved method inlining 2010-05-04 16:46:07 -05:00
Daniel Ehrenberg 02bd3d7142 splitting generic word callsites when only one method is applicable 2010-05-04 16:46:07 -05:00
Daniel Ehrenberg 750a96935f instance? optimizes null checks 2010-05-04 16:46:07 -05:00
Slava Pestov 0fbf454b18 compiler.tree.propagation: fix both-fixnums? trick 2010-05-03 17:34:30 -04:00
Slava Pestov 428ba9fd0f compiler.cfg: fuse ##load-integer/##load-reference into ##replace to form ##replace-imm 2010-05-03 17:34:28 -04:00
Slava Pestov 4d749c9dfe compiler.tree.propagation: fix tests 2010-05-03 17:34:14 -04:00
Slava Pestov a9ccfa8f05 strings: move string-nth primitive out of the VM and into the library 2010-05-03 17:34:12 -04:00
Slava Pestov d143aa64b2 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 2517b2fc2b 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 bc9241d2b7 compiler.tree.propagation.recursive: more fine-grained generalize-counter-interval eliminates overflow checks from binary-search 2010-04-18 21:42:45 -05:00
Slava Pestov bd4e920995 compiler.tree.propagation: fix scalability issue with constraints 2010-04-14 17:19:26 -07:00
Slava Pestov e6a15c0b33 compiler.tree.propagation: don't constant-fold boa constructors of identity-tuple subclasses 2010-03-26 22:44:56 -04:00
Daniel Ehrenberg 512fe14e4e Merge branch 'bags' of git://github.com/littledan/Factor
Conflicts:

	basis/compiler/cfg/ssa/construction/tdmsc/tdmsc.factor
	basis/furnace/auth/auth.factor
	basis/stack-checker/backend/backend.factor
2010-03-16 13:28:00 -04:00
Joe Groff f24a74f66c Merge branch 'master' into row-polymorphism 2010-03-10 11:48:41 -08:00
Slava Pestov 7744559a46 compiler.tree.propagation: clean up 2010-03-10 15:15:49 +13:00
Daniel Ehrenberg 8e227bc874 Propagation tracks length just like any other read-only slot 2010-03-09 15:58:44 -05:00
Joe Groff bcbc7632c6 fix stack effects in compiler tests 2010-03-08 23:46:20 -08:00
Joe Groff 191ac353fd generalize stack effects so we can bootstrap with the stricter stack effect checking 2010-03-08 23:38:10 -08:00
Joe Groff a3033e885a make effect variables part of effect syntax, stored out of band in effect tuple 2010-03-05 13:30:10 -08:00
Daniel Ehrenberg 434605c0b5 Changing some uses of prune to use members 2010-02-27 13:14:03 -05:00
Daniel Ehrenberg 7074979745 Moving new-sets to sets 2010-02-26 16:01:01 -05:00
Daniel Ehrenberg 73a990a4b8 Making it fast to create a new hashset 2010-02-26 13:24:26 -05:00
Daniel Ehrenberg b76c82048d Making propagation and tuple.parser refer to new-sets; adding some missing features from sets into new-sets 2010-02-26 12:07:37 -05:00
Slava Pestov ae25cfe712 Get foldable and flushable declarations working on typed words 2010-02-24 00:16:55 +13:00
Slava Pestov 6501480a0e 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 b963d56aac compiler.tree.escape-analysis: fix bug that comes up when inheritance is used 2010-02-16 14:44:13 +13:00
Slava Pestov 64a37d2db6 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 a118f208dc 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 57ba1aff60 compiler.tree.propagation.inlining: remove some unused words 2010-02-11 16:29:48 +13:00
Slava Pestov 662eba7a67 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 7de81976a5 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 55a89ec9c2 Better error message for call( when quotation has the wrong effect 2010-02-03 23:11:25 +13:00