Commit Graph

372 Commits (24ad5796310d5e7d2abcb3493a3c0643f600d133)

Author SHA1 Message Date
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
Slava Pestov df55fed478 generic: rename method-body predicate class to method 2010-02-03 23:11:24 +13:00
Slava Pestov b7fde7af27 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 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 09ead56652 Re-work flushed dependencies into new compiler cross-referencing framework 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
Slava Pestov ab428fc259 Code cleanups 2010-01-30 09:28:56 +13:00
Slava Pestov f031a97084 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 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 ac800e2396 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 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 235f3238f5 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