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