Doug Coleman
3582a6c624
kernel: Add 4dup, 4drop, and 4cleave.
2012-10-22 09:47:34 -07:00
Doug Coleman
1c3deddf61
issue #358 : Rename all of the words depends-on-* to add-depends-on*
2012-06-21 08:35:45 -07:00
Doug Coleman
8504b17aad
Rename spread>quot to deep-spread>quot, and spread>quot-shallow to shallow-spread>quot.
2011-10-02 20:25:39 -07:00
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
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
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
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
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
Slava Pestov
5bae69426d
Stack checker cleanup and optimization
...
- stack-checker.state vocabulary split up into stack-checker.{state,values,recursive-state}
- code that modifies and searches recursive state factored out into stack-checker.recursive-state
- recursive state is now a set of three binary hash trees instead of an alist, and no longer contains unnecessary data
- binary hash trees are in stack-checker.recursive-state.tree: unbalanced, persistent
- ~8 second speedup on bootstrap, ~20 second speedup in "peg.javascript" require
2008-11-13 00:07:45 -06:00
Slava Pestov
4a1bcacfd4
Refactoring recursive-state alist; now its a mapping from words to local state triples, reduces searching by a bit
2008-11-12 19:08:40 -06:00
Slava Pestov
c19f2257f4
Fix permission bits
2008-10-02 08:34:49 -05:00
Slava Pestov
3d790d8ac8
Memory ricing to make deploy tests pass on Mac OS X/PowerPC
2008-09-19 00:26:27 -05:00
Slava Pestov
cf80dd122a
Updating code for make and fry changes
2008-09-10 22:11:40 -05:00