Slava Pestov
a56d480aa6
Various optimizations leading to a 10% speedup on compiling empty EBNF parser:
...
- open-code getenv primitive
- inline tuple predicates in finalization
- faster partial dispatch
- faster built-in type predicates
- faster tuple predicates
- faster lo-tag dispatch
- compile V{ } clone and H{ } clone more efficiently
- add fixnum fast-path to =; avoid indirect branch if two fixnums not eq
- faster >alist on hashtables
2008-12-06 09:16:29 -06:00
Slava Pestov
c49cbe5d9c
Fix typo in the docs
2008-12-03 04:07:36 -06:00
Slava Pestov
52c5b53e27
Refactoring usages of >r, r>, -rot, rot
2008-11-30 22:21:37 -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
3e29a31493
Residual fixes for curry/compose change
2008-11-21 05:17:20 -06:00
Slava Pestov
a95bb533b5
Remove more redundant branches from tuple type predicates and generic words with methods on tuple classes
2008-11-06 09:08:17 -06:00
Slava Pestov
9160e667a7
Fix tuple>array and tuple reshaping
2008-11-06 01:10:56 -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
b4d3473d5e
Tuple parsing didn't handle line breaks properly; if scan returns f, must throw unexpected-eof
2008-11-03 21:01:50 -06:00
Slava Pestov
94fa3929a8
Rice
2008-10-23 05:28:22 -05:00
Slava Pestov
325dbf3eef
Fix regression
2008-10-20 21:07:55 -05:00
Slava Pestov
ab61e5cd8c
Fix performance problem
2008-10-20 05:56:13 -05:00
Slava Pestov
d2dd7288b3
Fix parser bug with multi-line tuple literals
2008-10-08 23:43:37 -05:00
Slava Pestov
c19f2257f4
Fix permission bits
2008-10-02 08:34:49 -05:00
Slava Pestov
78881e1368
Better error message with invalid tuple literals
2008-09-24 21:23:26 -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
44f53de164
Move make to its own vocabulary, remove fry _ feature
2008-09-10 20:07:00 -05:00
Doug Coleman
b1d26e100a
use if/when/unless-empty, docs
2008-09-06 17:10:32 -05:00
Slava Pestov
32c2543571
Documentation fixes
2008-09-06 05:12:28 -05:00
Slava Pestov
57ca685e26
New tuple syntax
2008-09-05 20:39:45 -05:00
Slava Pestov
6b07c85fec
Minor fixes here and there for delegation slot removal
2008-09-03 06:05:50 -05:00
Slava Pestov
e1716d92b3
Remove delegation slot
2008-09-03 03:46:56 -05:00
Doug Coleman
1e8358eff5
Merge branch 'master' of git://factorcode.org/git/factor
2008-09-02 02:09:54 -05:00
Slava Pestov
110a5e5162
Change equality semantics
2008-09-02 02:02:05 -05:00
Doug Coleman
bef502adfc
ENABLE NEW ACCESSORS
2008-09-02 01:56:06 -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
85cdb1b767
Working on new compiled usage strategy; old one was wrong
2008-08-30 00:05:27 -05:00
Slava Pestov
74dccc7fbf
Debugging compiler
2008-08-28 22:28:34 -05:00
Slava Pestov
a4ac751605
Starting to remove delegation
2008-08-22 23:20:49 -05:00
Slava Pestov
2440fc1ceb
Fixing remaining issues
2008-08-22 17:38:23 -05:00
Slava Pestov
86f11713e3
Fixing some more bugs
2008-08-22 03:12:15 -05:00
Slava Pestov
95657e5742
Remove some funny retain stack usage
2008-08-18 20:13:24 -05:00
Slava Pestov
8b55b53269
Re-implement reverse to fix obscure problem
2008-08-18 16:40:50 -05:00
Slava Pestov
4cb64aaeb8
Fixing unit tests for eval word being moved
2008-07-29 00:05:01 -05:00
Slava Pestov
d66f887736
Create basis vocab root
2008-07-28 22:03:13 -05:00
Slava Pestov
c6915b1023
Working on tuple slot propagation
2008-07-25 02:07:45 -05:00
Slava Pestov
d0ae6bdb8f
Make array length foldable
2008-07-16 16:48:09 -05:00
Slava Pestov
817035099c
Fix erg's tuple definition bugs
2008-07-13 21:06:50 -05:00
Slava Pestov
966ef323bc
Expand allocations for simpler intrinsics
2008-07-13 03:53:34 -05:00
Slava Pestov
8160859c8b
Fixes
2008-07-12 13:12:45 -05:00
Slava Pestov
7ca3c2a878
Various minor compiler tweaks
2008-07-12 01:08:30 -05:00
Slava Pestov
2f560ffbe0
Fix typo
2008-07-11 17:46:57 -05:00
Slava Pestov
498986fe88
Fix tuple redefinition bug
2008-07-10 02:11:49 -05:00
Slava Pestov
5d9c1ea0a0
Documentation updates, rename unfold to produce
2008-07-10 01:00:27 -05:00
Slava Pestov
78d24d5a5d
Fix unit test failures
2008-07-05 23:08:30 -05:00
Slava Pestov
1c92b20a9a
Fix two bugs
2008-07-05 20:37:28 -05:00
slava
3dcc04675b
Merge branch 'master' of git://factorcode.org/git/factor
2008-07-05 03:07:48 -05:00
slava
8321a41db0
Tweak to reduce image size; don't produce prototypes for tuples with all slots set to f
2008-07-05 03:07:25 -05:00
Slava Pestov
44c1c1f679
Move tuple-class to classes.tuple where it belongs
2008-07-05 00:59:39 -05:00