Doug Coleman
14fb58f448
swap ... 3append -> surround in basis
2008-12-06 18:58:45 -06:00
Slava Pestov
145b635eb6
More optimization intended to reduce compile time. Another 10% speedup on compiling empty PEG parser
...
- new map-flat combinator replaces usages of 'map flatten' in compiler
- compiler.tree.def-use.simplified uses an explicit accumulator instead of flatten
- compiler.tree.tuple-unboxing uses an explicit accumulator instead of flatten
- fix inlining regression from last time: custom inlining results would sometimes be discarded
- compiler.tree's 3each and 3map combinators rewritten to not use flip
- rewrite math.partial-dispatch without locals (purely stylistic, no performance increase)
- hand-optimize flip for common arrays-of-arrays case
- don't run escape analysis and tuple unboxing if there are no allocations in the IR
2008-12-06 11:17:19 -06:00
Slava Pestov
e256846acd
Tweak string representation; high bit indicates if character has high bits in aux vector. Avoids memory access in common case. Split set-string-nth into two primitives; set-string-nth-fast is open-coded by optimizing compiler. 13% improvement on reverse-complement
2008-12-05 06:38:51 -06:00
Slava Pestov
a558f91d5d
Better command-line processing
2008-12-01 16:10:48 -06:00
Doug Coleman
ed2c3a22fe
remove >r r>
2008-11-29 13:40:43 -06:00
Slava Pestov
ab689c098b
Clean up direct literal code and make a first attempt at PowerPC support
2008-11-24 08:16:14 -06:00
Slava Pestov
d86524f4bc
Non-optimizing compiler now compiles dip, 2dip, 3dip, if, with direct branches instead of indirect branches. 8% bootstrap time improvement on Core Duo 2
2008-11-24 00:23:17 -06:00
Slava Pestov
7788b3e0db
Merge branch 'master' into microseconds
2008-11-23 03:06:32 -06:00
Slava Pestov
a4d9cdfeb3
Refactor all usages of >r/r> in core to use dip, 2dip, 3dip
...
Non-optimizing compiler now special-cases dip, 2dip, 3dip following a
literal quotation: this allows us to break the dip/slip meta-circle
without explicit calls to >r/r>
2008-11-23 02:44:56 -06:00
Slava Pestov
7c61cf190f
Circularity between vocabularies no longer causes an infinite loop; loading a vocabulary like json or furnace no longer loads certain files twice
2008-11-23 00:04:18 -06:00
Slava Pestov
f5513877ec
Don't load listener into deployment image
2008-11-22 19:58:05 -06:00
Slava Pestov
8819f23312
Replace millis primitive with micros primitive
...
Add millis as a library word
sleep now takes either a duration or a microsecond count; code using durations doens't need to be updated, code using millisecond counts updated to use durations for the most part
2008-11-19 01:50:05 -06:00
unknown
93c8f5a2f4
Use our MD5 library instead of OpenSSL so that we can run builder without OpenSSL being installed
2008-11-17 18:43:59 -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
Eduardo Cavazos
2489ac5205
bootstrap.stage2: Factor out 'print-time'
2008-11-10 21:27:48 -06:00
Eduardo Cavazos
78d9452b7e
basis/bootstrap/stage2: Show core bootstrap time in report
2008-11-10 20:05:50 -06:00
Slava Pestov
9cc193ea5b
Add unportable tags and fix my-arch word
2008-11-07 22:37:40 -06:00
Slava Pestov
000affca5a
Merge branch 'master' of git://factorcode.org/git/factor
2008-11-07 21:09:45 -06:00
Slava Pestov
1b744ab14b
Updating code for boot image renaming
2008-11-07 21:09:42 -06:00
unknown
7365959f01
Starting work on Win64 port
2008-11-07 20:33:32 -06:00
Slava Pestov
29279f305e
Fix 32-bit bootstrap
2008-11-06 01:58:07 -06:00
Slava Pestov
5def7c5dea
Don't load random number generator on bootstrap
2008-11-06 01:30:59 -06:00
Slava Pestov
53cd75b06c
Add string-nth intrinsic
2008-11-06 01:11:28 -06:00
Slava Pestov
be798dd5e9
We need to internalize tuple layouts in bootstrap, but since they're arrays we have to use a predicate class to detect them
2008-11-06 00:01:50 -06:00
Slava Pestov
cc879fa9b7
Tuple layouts are now arrays, instead of built-in types. The superclass
...
array is now part of the tuple layout object itself, and class hashcodes
are stored alongside class words there. This removes 2 indirections when
reading a superclass, and 3 when reading a superclass hashcode.
2008-11-05 22:20:29 -06:00
Slava Pestov
cdb5c30bd3
Only build a generic word once, even if a compilation unit defines several methods on it, by adding generics to a set and building them at the end. 25% improvement on bootstrap time
2008-11-03 03:51:28 -06:00
Slava Pestov
7fb39a14c1
Compile compiler early
2008-10-23 02:49:55 -05:00
Slava Pestov
c19f2257f4
Fix permission bits
2008-10-02 08:34:49 -05:00
Slava Pestov
34952ff5c4
Faster call-next-method
2008-10-01 08:20:49 -05:00
Slava Pestov
4ce3cc4141
Bug fixes
2008-09-18 22:08:12 -05:00
Slava Pestov
562118e158
Better fix for *BSD resource path
2008-09-18 00:20:51 -05:00
Slava Pestov
34faf1f786
Fix cache polution issue
2008-09-17 23:28:54 -05:00
Slava Pestov
cf80dd122a
Updating code for make and fry changes
2008-09-10 22:11:40 -05:00
Slava Pestov
44f53de164
Move make to its own vocabulary, remove fry _ feature
2008-09-10 20:07:00 -05:00
Slava Pestov
079cbbfb77
Fix generation of 32-bit images on a 64-bit machine
2008-09-10 03:17:22 -05:00
Slava Pestov
8fb26cd759
Tweak stage2
2008-09-07 21:32:15 -05:00
Slava Pestov
ac97c1e14c
Working on removing delegation slot
2008-09-02 23:21:08 -05:00
Slava Pestov
0c304b8fc6
Removing old accessor usages from core and basis
2008-08-31 07:45:33 -05:00
Doug Coleman
4272938b63
add IN:
2008-08-29 00:41:26 -05:00
Doug Coleman
d4d236441b
add missing using
2008-08-29 00:37:23 -05:00
Slava Pestov
e96228b24c
Move a few UI dependencies into basis
2008-08-22 22:10:49 -05:00
Slava Pestov
86f11713e3
Fixing some more bugs
2008-08-22 03:12:15 -05:00
Slava Pestov
9b6fb70eba
Debugging optimizer
2008-08-18 15:47:49 -05:00
Slava Pestov
a5ff214d67
More load fixes
2008-08-12 03:38:56 -05:00
Slava Pestov
48fa2e2d0e
Updating some code
2008-08-12 03:31:48 -05:00
Slava Pestov
279aeddeb3
Various fixes
2008-07-30 04:12:17 -05:00
Slava Pestov
f5c15481fe
Move io.styles to basis
2008-07-28 22:28:13 -05:00
Slava Pestov
d66f887736
Create basis vocab root
2008-07-28 22:03:13 -05:00