ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/cvsroot/microscheme/Changes
Revision: 1.2
Committed: Sat Nov 28 05:30:12 2015 UTC (8 years, 7 months ago) by root
Branch: MAIN
Changes since 1.1: +3 -1 lines
Log Message:
*** empty log message ***

File Contents

# Content
1
2 - major size optimisations
3 - struct layout for both typical CISC and RISC cpus.
4 - optional error messages.
5 - optional error checking.
6 - cell size reduced from 24 to 8 bytes on amd64 (at the cost
7 of speed and code size hit).
8 - major dependency optimisations (no stdio etc.)
9 - faster and vastly simpler vector memory management (execution speed
10 is roughly twice faster than tinyscheme when optimised for size, and 2.5
11 times faster when optimised for speed).
12 - no need for consecutive cells
13 - more compact and faster vectors.
14 - resizable vectors (TODO)
15 - simpler cell memory management, only one block
16 - much faster call stack implementation, fully supporting continuations,
17 while greatly reducing cell thrashing, thus fewer gc's and overall
18 much faster execution.
19 - allow full 32 bit size range for strings and vectors.
20 - made ports optional.
21 - made error checking and error strings optional.
22 - ripped out features: dynamic loading, nonstandard C targets.
23 - fix numerous ISO C violations (mostly _ namespace).
24 - fix numerous uninitialised value violations.
25 - fix some bufer overflows (mostly relying on _sprintf terminating with 0).
26 - fix numerous sign/truncation problems.
27 - remove limit of 65535 args maximum.
28 - move ~5kb opcode table into read-only segemnt, saves 5kb rss.
29 - reduce ~5kb opcode table to 1.2kb.
30 - subnormals are no longer flushed to zero in some comparisons.
31
32 TODO: atom names starting with dot cannot currently be parsed due to a tinyscheme bug.
33