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

# User Rev Content
1 root 1.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 root 1.2 - 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 root 1.1 - 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