Commit Graph

64 Commits (2a72c5c34d080c8ccaed0623193f22d9b67f2056)

Author SHA1 Message Date
Slava Pestov fd1aad71bd combinators: make the behavior of 'case' consistent between the optimized and unoptimized forms 2010-07-30 14:21:30 -04:00
Slava Pestov e2ceb11337 stack-checker: calling 'boa' on a non-tuple would compile as a no-op rather than an error (reported by Joe Groff); clean up some other error reporting code too 2010-07-17 15:57:44 -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 6689113519 unify inner-d-index when unifying branches; close a few other leaks where meta-d could have been popped without updating inner-d-index 2010-03-07 20:44:50 -08:00
Daniel Ehrenberg 7074979745 Moving new-sets to sets 2010-02-26 16:01:01 -05:00
Slava Pestov 0b278adb5a Test fixes 2010-02-03 23:11:31 +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 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
Brad Christensen 9b9322ea1e A number of documentation fixes and cleanup. 2010-02-03 00:05:03 -07:00
Slava Pestov c438e84bd0 compiler.crossref: add next-method dependency 2010-01-30 09:29:01 +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 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 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
Slava Pestov 0612bc6177 Factor source files should not be executable 2009-11-21 17:50:43 -06:00
Slava Pestov 473cc7db4a stack-checker: tighten some screws in error reporting 2009-11-09 00:17:24 -06:00
Slava Pestov cd2e226afa stack-checker: split off stack-checker.dependencies from stack-checker.state 2009-11-08 20:34:46 -06:00
Slava Pestov 60f4f4c16e combinators.short-circuit: speed up in non-optimized code 2009-07-18 03:33:45 -05:00
Daniel Ehrenberg ee3e84a1f8 define-partial-eval framework in propagation pass makes it easy to add transforms; moving some transforms from stack checker to propagation, making them stronger 2009-07-16 00:34:50 -05:00
Daniel Ehrenberg bb06facb01 new is inlined in the propagation pass when the class is known 2009-07-14 14:16:39 -05:00
Doug Coleman 407377fc98 rename peek -> last and update all usages 2009-05-25 16:38:33 -05:00
Slava Pestov 43a1834e0b stack-checker: fix case where invalid code could infer 2009-05-23 15:50:35 -05:00
Slava Pestov fb6df472a2 Cleaning up USING: lists for new strict semantics 2009-05-14 16:54:16 -05:00
Slava Pestov 05ecd04e2f macro call sites don't need an inlined-dependency on the macro 2009-05-01 05:52:34 -05:00
Slava Pestov 7aa65b5b5f Fixing new method dispatch implementation 2009-04-25 19:41:27 -05:00
Slava Pestov 57e1de5181 stack-checker.transforms doesn't need make anymore 2009-04-22 21:26:55 -05:00
Slava Pestov d3cffcbee2 Slightly more efficient compilation of 'new' 2009-04-22 21:26:22 -05:00
Slava Pestov 20ca578ed1 stack-checker.transforms: fix tests 2009-04-22 04:21:15 -05:00
Slava Pestov 05f3f9dcb9 Fixing unit tests for stack effect inference changes 2009-04-20 21:15:19 -05:00
Slava Pestov 8414693142 stack-checker: trust word declarations instead of recursively checking them 2009-04-20 18:44:45 -05:00
Slava Pestov 65b27354ad Merge branch 'master' into smarter_error_list 2009-04-14 15:07:22 -05:00
Slava Pestov 0fda643ab1 Optimizing string>number 2009-04-11 20:30:51 -05:00
Slava Pestov 8290624733 Macro expansion errors are now wrapped 2009-04-10 07:08:16 -05:00
Slava Pestov b53960dace Add compiler transform for index with a literal sequenc 2009-03-27 20:05:23 -05:00
Slava Pestov 385892be64 Make the member? transform better 2009-03-21 03:10:21 -05:00
Slava Pestov 786475102d Make more code infer 2009-03-17 02:19:50 -05:00
Slava Pestov e981090045 Inline caching for call( 2009-03-16 23:02:55 -05:00
Slava Pestov be4fb1e7d9 Move call( and execute( to core 2009-03-16 20:11:36 -05:00
Slava Pestov 06f29ab7e4 give-up-transform now uses a cached stack effect. Slight performance improvement when compiling calls to member? with a non-literal quotation 2009-03-13 04:28:24 -05:00
Slava Pestov 91d0c4ed1f Fix conflict 2009-02-22 20:02:13 -06:00
Doug Coleman 990513db60 use CONSTANT: in basis 2009-02-22 19:13:08 -06:00
Slava Pestov 43e6a6987a Fix circularity 2009-02-10 16:42:35 -06:00
Slava Pestov 53758074a2 stack-checker: do constant folding for curry and compose with constant inputs at compile time. Allows macros to expand in more cases, fixing the fry caveat found by Doug 2009-02-06 10:21:55 -06:00
Slava Pestov 3166828f75 Fix bug reported by Doug: smart combinators and inline words didn't mix very well in some cases 2009-02-06 04:38:54 -06:00
Slava Pestov cd77ecfab3 'case' didn't work if the default was a non-quotation callable, like a curry; this could come up with macro expansion. Bug reported by Dan 2009-02-04 02:41:30 -06:00
Doug Coleman 3c408342ef renaming: contain? -> any?, deep-contains? -> deep-any?, pad-left -> pad-head, pad-right -> pad-tail, trim-left -> trim-head, trim-right -> trim-tail 2009-01-29 22:19:07 -06:00
Slava Pestov e304d3c9f8 Local DCE 2008-12-04 06:02:49 -06:00
Slava Pestov 92cc760070 Fixes 2008-11-28 01:11:03 -06:00
Slava Pestov 3e7afcac29 (call-next-method) now takes a method instead of a class and a generic 2008-11-22 19:57:25 -06:00