Switch branches/tags
Find file History
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
6model Make sure nqp::serializetobuffer always returns a buffer Nov 11, 2018
core Fix error in format string in validate_reg_operand Nov 3, 2018
instrument [IO] Don't wait until the event loop thread starts Sep 24, 2018
jit JIT compile coerce_us Nov 3, 2018
mast Use larger integer time to iterate strings heap Jul 16, 2018
platform [fork] Implement fork() opcode Sep 24, 2018
spesh it's important to use these facts, or else crashes Nov 11, 2018
strings Update Unicode Collation data to UCA 11.0 Oct 1, 2018
README.md s/moarvm/moar/ for most places. Oct 5, 2013
gcc_diag.h Add gcc_diag.h header, for macros used to do fine-grained exceptions … Feb 4, 2013
main.c [JIT] Dump bytecode in /tmp Sep 30, 2018
moar.c Fix some printf format type specifiers Sep 30, 2018
moar.h [JIT] Log -> Dump Sep 30, 2018


MoarVM Source Code

MoarVM is written in C, and is designed to (eventually) have a couple of build targets: a dynamic library (so it can be loaded by other VMs or programs that embed it) with a small executable front-end wrapper, but also a fully statically-built standalone executable that can run .moarvm files only. Another option could be for incorporating programs (such as a perl6 build) to statically link the moar library so it can be self-contained itself.

moar.c will contain the main embedding API, and main.c will utilize that API. This is not yet fully realized. It will eventually be compiled to libmoar, or similar.

moar.h is the primary header file that embedders should include to gain access to the publicly exported MVM_ routines and macros. It includes all the other .h in the src/ tree. Some individual .c files also include other .h files, but the symbols from those files aren't necessarily intended to be part of MoarVM's public API.

main.c is currently compiled to the ./moar executable, which is able to run or dump .moarvm bytecode files only. Use the --help flag to see the options available to the moar (moar.exe on Windows) executable.