Commit Graph

35 Commits (fe0701deb10b60a800315b8c31ba91ebe9c1c3db)

Author SHA1 Message Date
Joe Groff aeba336601 separate stack effect typing from hints. put it in a "typed" vocab, and have a TYPED: word that adds the type checking directly to the word 2009-09-02 11:45:30 -05:00
Joe Groff cb56e95567 handle the stack effect type as a separate specialization pass, and use coercers when available 2009-09-01 23:13:08 -05:00
Joe Groff 333943188e typo in specialize-method 2009-09-01 15:59:59 -05:00
Joe Groff 6b512e3187 make type declarations in stack effects strong and throw an error if the inputs don't match 2009-09-01 15:49:08 -05:00
Joe Groff 19b10fb85e bring back ( x: type y: type -- ) stack effect syntax, and automatically hint words based on types in their declared effect 2009-09-01 14:39:22 -05:00
Slava Pestov a34a3bf417 hints: HINTS: now recompiles subwords too, 15% perf improvement on reverse-complement because encoder-write is compiled with hints now 2009-08-18 19:40:54 -05:00
Slava Pestov 1cb0f3370b math.vectors.specialization: first attempt at some call site splitting for vector ops. Specialized array types generate customized variants of all vector words, if input types are known at compile time, a call to the specialized version is inserted 2009-08-09 03:07:33 -05:00
Slava Pestov f1683f9fcf Move set-last from circular.private to sequences 2009-07-28 11:51:47 -05:00
Doug Coleman 407377fc98 rename peek -> last and update all usages 2009-05-25 16:38:33 -05:00
Doug Coleman 3722c0ad62 move some words to private vocabs 2009-05-25 15:35:50 -05:00
Slava Pestov a79e3eb687 Passing an invalid parameter to 'declare' doesn't break the compiler anymore 2009-04-30 20:40:47 -05:00
Slava Pestov 3dc9fdf9db Fleshed out new dispatch code 2009-04-24 20:43:01 -05:00
Slava Pestov c877146531 Move method-declaration to hints 2009-04-24 16:53:30 -05:00
Slava Pestov dea3987ca5 Silly workaround for performance regression 2009-04-22 00:44:06 -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 0fda643ab1 Optimizing string>number 2009-04-11 20:30:51 -05:00
Slava Pestov 37e278ed02 Use [ ] [ ] map-reduce instead of unclip [ ] reduce 2009-04-06 17:50:54 -05:00
Slava Pestov 268abfcf2a Remove method-specs in favor of M\ 2009-04-06 02:59:59 -05:00
Slava Pestov 932d44cab8 Small speedup for code using H{ } clone and with-scope 2009-03-31 08:16:04 -05:00
Slava Pestov caa89de401 hints: allow hints on generic words, these are propagated to each method 2009-03-26 21:25:21 -05:00
Slava Pestov ea60f8ae93 Changing : foo ; parsing to SYNTAX: foo ; 2009-03-21 01:27:50 -05:00
Daniel Ehrenberg 2c462745f1 Redoing string streams and byte-array streams without copying 2009-02-27 00:53:05 -06:00
Slava Pestov 60a1378a0a Faster dynamic variable lookup: 6% speedup in benchmark.fib5
- If type of first input of equal? is known but not second, rewrite it as swap equal? and try to inline again
- Fix hints on methods to work better
- Put hints for word and fixnum keys on at* and set-at on hashtables
2008-12-17 14:57:24 -06:00
Slava Pestov 09c6d97fea HINTS: now supports literals; they're tested with eq? 2008-11-29 12:03:56 -06:00
Slava Pestov bfd119e3b5 I/O ricing: various hints added so that UTF8 and ASCII fastpaths compile with less dispatch. 25% improvement on reverse-complement 2008-11-06 00:02:44 -06:00
Slava Pestov 8779784798 Support hints on methods 2008-09-13 03:12:52 -05:00
Slava Pestov 54232f80ca Adding identity optimization pass, tweak inlining heuristic 2008-09-12 08:18:44 -05:00
Slava Pestov cf80dd122a Updating code for make and fry changes 2008-09-10 22:11:40 -05:00
Doug Coleman 8a921c791c if-empty changes 2008-09-06 19:13:59 -05:00
Doug Coleman d308937546 fix docs 2008-09-02 16:52:58 -05:00
Slava Pestov f5fbd94a4c New compiled crossref implementation 2008-08-31 01:34:00 -05:00
Slava Pestov 3cef7c9992 Smarter usage tracking system 2008-08-30 02:31:27 -05:00
Slava Pestov 40e926609a Fixing unit tests 2008-08-22 22:07:59 -05:00
Slava Pestov 2440fc1ceb Fixing remaining issues 2008-08-22 17:38:23 -05:00
Slava Pestov d66f887736 Create basis vocab root 2008-07-28 22:03:13 -05:00