No description
Find a file
2011-09-26 03:09:15 -07:00
bin Updated .gitignore 2011-09-04 06:04:00 -07:00
include/tvm Moved program interpretation to explicitly called function 2011-09-25 05:47:31 -07:00
lib Updated .gitignore 2011-09-04 06:04:00 -07:00
libtvm Moved memory allocation for new instructions into tvm_program.c, parse_instructions() 2011-09-26 03:09:15 -07:00
programs Fix euler2.vm optimization 2011-08-20 12:45:13 -04:00
tdb Removed the redundancy introduced by tdb_step. 2011-09-04 17:06:08 -04:00
.gitignore Updated .gitignore 2011-09-04 06:04:00 -07:00
GNUmakefile Updated .gitignore 2011-09-04 06:04:00 -07:00
README * Rename BSD make incompatible Makefile to GNUmakefile 2011-08-16 11:33:24 -04:00
SYNTAX Update register documentation 2011-09-06 20:04:38 -04:00
tvmi.c Moved program interpretation to explicitly called function 2011-09-25 05:47:31 -07:00

TinyVM is a virtual machine where the goal is having a small footprint.
Low memory usage, a small amount of code, and a small binary. This
virtual machine has been branched into several other projects, including
FastVM and SimpleVM, where performance and simplicity are the main goals 
respectively.

TinyVM and all of its branches have differing goals, but they're each designed
to execute the same code. FastVM may have better performance than TinyVM and SimpleVM,
but it may also use more memory, more complex code, and take longer to compile. TinyVM
may be smaller, and have a lighter footprint than the other branches, but it doesn't have
the speed or simplicity of the other two. TVM code is made to be portable across these 
virtual machines, but there are tradeoffs to the VM you use to execute your code.

Building can be accomplished on UNIX-like systems with make and GCC.

There are no external dependencies, save the C standard library.

Building can be accomplished using "make," or "make rebuild".

To build a debug version, add "DEBUG=yes" after "make". To build a binary with
profiling enabled, add "PROFILE=yes" after "make".