Commit Graph

309 Commits (e3b8f3661d4d0f3bb9de81150b0304a11004a3cd)

Author SHA1 Message Date
Slava Pestov 47f86898d7 vm: pre-allocate context alien 2010-04-02 00:02:21 -04:00
Slava Pestov 6ad12e7345 locals: remove some dead code 2010-03-30 21:56:51 -04:00
Slava Pestov de0c2801d2 threads: delete old contexts immediately instead of handing them off to a 'context recycler' thread 2010-03-30 21:47:48 -04:00
Slava Pestov cea2bf4189 threads: use context-switching primitives 2010-03-29 20:40:17 -04:00
Slava Pestov 94787b962b bootstrap.compiler: fix joint dependencies declared here 2010-03-29 13:14:26 -04:00
Slava Pestov a04d53c3da set-context and start-context primitives can now pass parameters around 2010-03-27 08:13:57 -04:00
Slava Pestov 5e2acf86e8 stack-checker.known-words: fix load error 2010-03-27 03:35:01 -04:00
Slava Pestov f8134b18cd Implement start-context and set-context primitives 2010-03-27 02:56:11 -04:00
Slava Pestov adeb6fb68f vm: actually use context callstacks when running code 2010-03-26 22:44:43 -04:00
Slava Pestov af573bd022 Add context-specific special object table, generalizing catchstack_save and current_callback_save fields of context struct 2010-03-18 22:06:00 +13:00
Slava Pestov eb218656ec stack-checker.errors.prettyprint: give it some smart quotes lovin' 2010-03-17 19:20:28 +13:00
Daniel Ehrenberg 1b61e2e5cf 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 c0306d481a Merge branch 'master' of git://factorcode.org/git/factor into row-polymorphism 2010-03-12 14:36:13 -08:00
Joe Groff cb6bf83f2f pre-chew the bite-sized morsels of stack-checker.row-polymorphism so they're easy for old people to digest 2010-03-11 14:09:18 -08:00
Slava Pestov 36dae3d599 typed: forgetting a final class would throw an error while recompiling typed words depending on it 2010-03-12 10:22:35 +13:00
Joe Groff f986c9472f carve the tough, gamey steak of stack-checker.polymorphism into chewable morsels 2010-03-11 00:53:40 -08:00
Joe Groff 3b00a2463a update docs for unbalanced-branches-error 2010-03-09 18:42:10 -08:00
Joe Groff e03ce4b5e1 non-polymorphic input parameter check was too strict: wouldn't allow ( x -- ) for ( x x -- x ), for example 2010-03-09 15:57:00 -08:00
Joe Groff d4a0a69eb1 generalize stack effects so we can bootstrap with the stricter stack effect checking 2010-03-08 23:38:10 -08:00
Joe Groff 541c347257 stack-checker.row-polymorphism: modify check-variables to enforce non-polymorphic stack effects 2010-03-08 19:44:01 -08:00
Joe Groff 5c08a11016 refactor stack-checker.row-polymorphism a little 2010-03-08 19:32:25 -08:00
Joe Groff d969bc22e3 add documentation about stack effect variable syntax and the effect on the stack checker 2010-03-08 17:17:47 -08:00
Joe Groff 1b3a92441a combine unbalanced-branches-error and invalid-quotation-input into one error 2010-03-07 22:23:24 -08:00
Joe Groff 51de9cbb4a declare effect on inputs to infer-if in non-literal case, so we get a better error than "unbalanced drop call/nip call" 2010-03-07 21:37:24 -08:00
Joe Groff ce0e5d030c 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
Joe Groff e761828d47 reuse @ and _ from fry in placeholders for invalid-quotation-input errors rather than making our own redundant placeholder symbols 2010-03-07 20:08:35 -08:00
Joe Groff c1555cc653 add unit test from quotation that fails to infer during bootstrap.compiler 2010-03-07 20:07:30 -08:00
Joe Groff 352ed41e74 add tests from old row-polymorphism implementation to stack-checker unit tests 2010-03-07 19:13:41 -08:00
Joe Groff ac90071cd7 further improve error message for invalid quotation inputs using a table display with the actual quotation effects determined so far 2010-03-07 18:40:58 -08:00
Joe Groff f5b0f55ec3 improve error message for invalid quotation inputs by referencing each declared-effect to its other references 2010-03-07 18:27:55 -08:00
Joe Groff 8751e464ef clear away some rebar 2010-03-07 18:11:44 -08:00
Joe Groff e2ee197e46 tweak declared-effect to wrap the existing known instead of introducing a new value, so we don't confuse the compiler 2010-03-07 18:07:42 -08:00
Joe Groff 4a9b65b422 add stack variable unification to M\ declared-effect infer-call* 2010-03-07 17:51:41 -08:00
Joe Groff 42ed9bb11f add a with-effect-here combinator that determines the effect of a scoped subset of the stack checker 2010-03-07 16:54:25 -08:00
Joe Groff 048aba0b1c tweak recursive call site checking to consider declared-effects equivalent to their wrapped values 2010-03-07 11:55:47 -08:00
Joe Groff a5291e4702 row polymorphism new approach: wrap polymorphic quotation inputs in a "declared-effect" value. M\ declared-effect infer-call* will then assert the effect of declared-effect values during the normal course of stack inference 2010-03-07 11:54:57 -08:00
Joe Groff 7b97b84156 add unit test to show that polymorphic check breaks inference of inline recursive words 2010-03-06 12:28:09 -08:00
Joe Groff ca944518f7 give terminating stack effects a pass in the polymorphic checker 2010-03-05 21:51:38 -08:00
Joe Groff 3ba4805e29 move error summaries for effect parsing errors to debugger vocab 2010-03-05 21:50:40 -08:00
Joe Groff 4cc12d3c70 reuse infer-call* for polymorphic inference, which handles curried quotations. tests can pass with real "each" etc. now 2010-03-05 15:20:55 -08:00
Joe Groff dd9c758447 fix stack error in stack-checker.row-polymorphism 2010-03-05 14:34:50 -08:00
Joe Groff 2ca507eb1a refactor stack-checker slightly to fix circular dependency 2010-03-05 14:27:36 -08:00
Joe Groff 8a36d57505 make effect variables part of effect syntax, stored out of band in effect tuple 2010-03-05 13:30:10 -08:00
Joe Groff fb86397021 make tests pass 2010-03-04 22:43:01 -08:00
Joe Groff 7f33e007f9 improve error reporting 2010-03-04 21:51:49 -08:00
Joe Groff 5c0787a1e3 nested scopes were messing up stack checker state 2010-03-04 20:15:26 -08:00
Joe Groff 9eeb0c1b3b initial implementation of row-polymorphism check 2010-03-04 19:30:08 -08:00
Daniel Ehrenberg 0f0571e48a Moving new-sets to sets 2010-02-26 16:01:01 -05:00
Slava Pestov c1e7a3ffc2 Specialized arrays, structs and other objects responding to the >c-ptr / byte-length protocol can now be written to binary streams 2010-02-24 20:18:41 +13:00
Joe Groff b435b2b84b Merge branch 'master' into new-alien-pointers
Conflicts:
	basis/alien/c-types/c-types.factor
	basis/stack-checker/dependencies/dependencies.factor
2010-02-22 10:32:59 -08:00