thekaigonzalez/MercuryPIC
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Repository files navigation
Mercury PIC
a bytecode format designed to be 100% ABI compatible with NexFUSE
MercuryPIC has very small memory footprint, being 100% compatible with the
NexFUSE format, provides low-level abstractions which allow for performant
binary programs made for the NexFUSE family of formats.
to compile Mercury binaries using VOLT, use the -Wmercury option, mercury
files are not compatible with NexFUSE or OpenLUD, due to line endings being
different. Meaning that you are not able to use `runfuse' and `mpic' with
MercuryPIC.
you can use `--disable-runtime' to execute MercuryPIC binaries without any
standard instruction set. However, any internal system calls will still be
available.
To see the real differences, compile this program, then run the examples with
both `runfuse' and `mpic', and compare their valgrind memory usage.
in NexFUSE's `algo.asm':
total heap usage: 8,021 allocs, 8,021 frees, 287,951 bytes allocated
ERROR SUMMARY: 2059 errors from 16 contexts (suppressed: 0 from 0)
in MercuryPIC:
total heap usage: 1,366 allocs, 1,366 frees, 59,233 bytes allocated
ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
https://github.com/thekaigonzalez/MercuryPIC