Commit Graph

8884 Commits (eef45a1cc3a66b22ddb09b9bb4288b7ec4e74bec)

Author SHA1 Message Date
Slava Pestov eef45a1cc3 Tweak PowerPC %dispatch 2008-11-13 05:58:49 -06:00
Slava Pestov a14e1ebcb5 Fix PowerPC bootstrap 2008-11-13 05:55:34 -06:00
Slava Pestov 5b4e8e9d09 Rename tests/templates.factor to tests/codegen.factor since that's really what its testing 2008-11-13 04:16:58 -06:00
Slava Pestov eb05dd3a12 Optimize a ##dispatch that is applied to the result of a ##sub-imm or ##add-imm; this eliminates an instruction from the common 1 fixnum-fast { ... } dispatch and 8 fixnum-fast { ... } dispatch code sequences appearing in generic word expansions 2008-11-13 04:16:08 -06:00
Slava Pestov 029ee67525 Fix ppc make-image 2008-11-13 04:12:09 -06:00
Slava Pestov 6590c894bc Forgot a constant 2008-11-13 04:10:21 -06:00
Slava Pestov b1aa3697cb Emit branches in the same order they're written in code 2008-11-13 03:52:01 -06:00
Slava Pestov ef6206d4bb Try to optimize generic dispatch to speed up + on fixnums, nth on arrays for example 2008-11-13 03:51:04 -06:00
Slava Pestov cfa82cb474 New calling convention for VM primitives:
instead of the Factor side passing the stack pointer as the first parameter, and having the VM save it to stack_chain->top, we instead have the Factor side save it. Eliminates a lot of crud in the VM
2008-11-13 03:20:34 -06:00
Slava Pestov 3723b2e640 vlists: immutable sequences with mostly-O(1) push and pop, O(n) behavior when sharing: optimized for the unshared case. also contains valists, which are assocs built on vlists with O(n) search starting from the end, and mostly-O(1) insertion that shadows prior entries. Behaves similar to Lisp/Scheme alists 2008-11-13 00:12:14 -06:00
Slava Pestov 3f4eb5a09a Add changed-nth combinator: like change-nth but for persistent sequences 2008-11-13 00:10:55 -06:00
Slava Pestov a81e737e02 Add passociate word: like associate but for persistent hashtables 2008-11-13 00:10:37 -06:00
Slava Pestov 3bb778eab4 Remove unnecessary stack-checker.transforms dependency from macros 2008-11-13 00:09:47 -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 8f6f666a2a Neither here nor there 2008-11-12 14:40:01 -06:00
Doug Coleman a8f1680bcd slightly faster 2008-11-12 13:28:17 -06:00
Doug Coleman b45c03877b don't generate 4x the number of random bytes we actually need. map concat is slower than push-all 2008-11-12 12:40:09 -06:00
Eduardo Cavazos 6cc08f76dd help/handbook: Fix some headings 2008-11-12 03:58:41 -06:00
Doug Coleman 44b0cf94ab better fix for emacs 2008-11-12 01:14:19 -06:00
Doug Coleman 9656ce2e65 Merge branch 'master' of git://factorcode.org/git/factor 2008-11-12 00:40:11 -06:00
Doug Coleman 0d3a5e372a allow setting of emacsclient 2008-11-12 00:39:56 -06:00
Slava Pestov 9f52ee50b0 Another speedup to >alist: create vector with right size up-front. 10 second bootstrap time reduction 2008-11-12 00:10:50 -06:00
Slava Pestov eed1dd3d2b Fix byte vector prettyprinting 2008-11-11 23:38:19 -06:00
Slava Pestov c581311e03 Merge branch 'master' of git://factorcode.org/git/factor 2008-11-11 23:24:08 -06:00
Slava Pestov cdb94e4c62 Word constructor was not invoking relocation on the profiled block, so words constructed while profiling was on could not be executed. This prevented profiling of PEGs 2008-11-11 23:07:40 -06:00
Slava Pestov de02724135 Make a word inline for the win 2008-11-11 23:04:30 -06:00
Slava Pestov 57cf756c0e Use eq? instead of number= in a few places 2008-11-11 23:04:15 -06:00
Slava Pestov ed3a81a503 Faster M: hashtable >alist performs less dispatch and allocates less junk 2008-11-11 23:03:50 -06:00
James Cash c97e731d44 Fixing linked-assoc docs 2008-11-11 21:25:33 -05:00
James Cash 70b1f73466 Changing name in advice docs to pass help-lint test 2008-11-11 21:23:14 -05:00
Slava Pestov fab60f94a7 Minor performance improvements 2008-11-11 19:51:26 -06:00
Slava Pestov d970a632bb Fix nodes>quot 2008-11-11 19:51:12 -06:00
Slava Pestov 26f309d2ae Trying to make PEGs compile faster by reducing the number of low level IR nodes: merge functionality of #>r and #r> into #shuffle, and generate 1 node instead of 3 for calls to get-local 2008-11-11 18:46:31 -06:00
Slava Pestov 782671a50c Merge branch 'master' of git://factorcode.org/git/factor 2008-11-11 17:43:25 -06:00
Slava Pestov 5c6860fd0f Updating linked-assocs documentation, add <linked-assoc> word 2008-11-11 17:42:52 -06:00
Slava Pestov b4683bb00b Merge branch 'master' of git://factorcode.org/git/jamesnvc 2008-11-11 17:36:34 -06:00
Doug Coleman 0edfc83d50 document file-systems 2008-11-11 15:41:27 -06:00
Doug Coleman 5490b730b5 Merge branch 'master' of git://factorcode.org/git/factor 2008-11-11 15:37:42 -06:00
Doug Coleman fa282c5053 remove duplicate using 2008-11-11 15:37:32 -06:00
Doug Coleman 1f85b7ec14 catch errors for windows file-systems word and return a tuple with just a mount point
this happens on empty floppy disk drives
2008-11-11 15:35:17 -06:00
Doug Coleman 146340690f implement file-systems on windows 2008-11-11 15:17:35 -06:00
Doug Coleman 17916ed7f2 Merge branch 'master' of git://factorcode.org/git/factor 2008-11-11 14:04:25 -06:00
Doug Coleman 78ab09d8bb move file-systems word to core 2008-11-11 14:04:05 -06:00
Doug Coleman c860ab78b6 removed duplicate file-system-info definition. oops 2008-11-11 13:41:34 -06:00
Doug Coleman bbaa8b95bd mounted -> file-systems 2008-11-11 13:30:12 -06:00
Doug Coleman 65a844eb6b Merge branch 'master' of git://factorcode.org/git/factor 2008-11-11 13:20:15 -06:00
Doug Coleman 482933f4d3 remove duplicated slot from linux statfs 2008-11-11 13:19:53 -06:00
Slava Pestov d53d7d0baa Merge branch 'master' of git://factorcode.org/git/factor 2008-11-11 13:14:56 -06:00
Slava Pestov 0ad4f276fd Add time server demo 2008-11-11 13:14:39 -06:00