/
README
36 lines (26 loc) · 1.16 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
Extended Ngaro VM
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This is a very low-level, but platform independent, vm written
in C. It evolved from Ngaro (see Retro Forth 10) and is binary
compatible with it.
It is uncommon mainly in tree aspects (when finished):
* New instructions can be generated at runtime (which extend
the instruction set) from vm-code sequences.
* The vm encoding is extended though a native-code compiler
with added support for stack, register and matrix operations.
This way optimized machine code can be generated in a
platform independent way.
* It's a accumulator/store design with efficient interpretation
in mind.
Current status:
* The vm is usable and the compiler is finished but it's
integration into the vm is at current untested so some tests
are needed to figure out possible bugs in the vm interface.
Compilation:
* "make"
Remark:
The replicated-switch threading method performs better on my
Athlon64 3000x than the older indirect-token threading
interpreter (see ngaro-fast [retro10.1]) and results in an
equal performance on Celeron M and possibly Atom based cpu's.
So, for performance reasons use this vm !