asm.c | Some assembler functions |
asm.h | Some assembler macros |
ast.c | Ast for Potion code in-memory implements PNSource |
ast.h | Ast for Potion code in-memory |
callcc.c | Creation and calling of continuations, in non-portable asm, x86 only yet |
compile.c | Transform the ast to simple two-address lua-like bytecode |
config.h | |
contrib.c | Stuff written by other folks, seen on blogs, etc |
file.c | PNFile class for unbuffered blocking file descriptor IO |
gc.c | Generational copying garbage collector, non-precise with Cheney loop |
gc.h | Non-API GC internals |
internal.c | Memory allocation and innards |
internal.h | Non-API internal parts |
khash.h | Klib hash table library based on double hashing http://en.wikipedia.org/wiki/Double_hashing |
lick.c | PNLick class - the interleaved data format |
load.c | Loading of external code, bytecode and shared libs |
mt19937ar.c | Random numbers (mersenne twister) |
number.c | Simple arithmetic |
objmodel.c | Objects, classes, types, methods, weakrefs and mop |
opcodes.h | Potion VM instruction set (heavily based on Lua's) |
potion.c | |
potion.h | The potion API |
primitive.c | Methods for the immediate primitive types PN_NIL, PNBoolean, PNAny |
string.c | Internals of utf-8 and byte strings |
table.c | Implement unordered hashes and ordered lists (PNTable and PNTuple) |
table.h | Central table type, based on core/khash.h |
version.h | |
vm-arm.c | Arm7 jit (32-bit only), unfinished! |
vm-dis.c | Interface to various jit disassembler libs |
vm-ppc.c | Powerpc jit (32-bit only), unfinished! |
vm-x86.c | X86 and x86_64 jit |
vm.c | Vm execution loop, the "bytecode interpreter" |