ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/microscheme/Changes
Revision: 1.6
Committed: Sun Nov 29 00:02:21 2015 UTC (8 years, 6 months ago) by root
Branch: MAIN
Changes since 1.5: +11 -8 lines
Log Message:
*** empty log message ***

File Contents

# Content
1
2 TODO: call/cc broken with or with SCHEME_STACK, also in tinyscheme
3 TODO: fix .atom names
4 TODO: |name|? (TOK_STRATOM)
5 TODO: simpler cell memory management, only one block
6
7 - major size optimisations
8 - struct layout for both typical CISC and RISC cpus.
9 - optional error messages.
10 - optional error checking.
11 - cell size reduced by not storing both float and int forms of a number,
12 - major dependency optimisations (no stdio etc.)
13 - faster and vastly simpler vector memory management (execution speed
14 is roughly twice faster than tinyscheme when optimised for size, and 2.5
15 times faster when optimised for speed).
16 - no need for consecutive cells
17 - more compact and faster vectors.
18 - resizable vectors (TODO: not exposed yet).
19 - faster environment implementation, not hashed by name but by symbol address.
20 - simpler and faster memory management (no need for sorted free lists).
21 - much faster call stack implementation, fully supporting continuations,
22 while greatly reducing cell thrashing, thus fewer gc's and overall
23 much faster execution.
24 - allow full 32 bit size range for strings and vectors, where possible.
25 - made ports optional.
26 - made error checking and error strings optional.
27 - ripped out features: dynamic loading, nonstandard C targets.
28 - fix numerous ISO C violations (mostly _ namespace).
29 - fix numerous uninitialised value violations.
30 - fix some bufer overflows (mostly relying on _snprintf terminating with 0).
31 - fix numerous sign/truncation problems.
32 - remove limit of 65535 args maximum.
33 - move ~6kb opcode table into read-only segemnt, saves 6kb rss.
34 - reduce ~6kb opcode table to 1.2kb.
35 - subnormals are no longer flushed to zero in some comparisons.
36 - scheme fix: gensym does not intern the symbol.
37 - scheme fix: properly support atom names starting with '.'
38