CLobby | Root namespace, the global environment and parent class of all builtins |
CPN_OP | PN_OP - a compressed three-address op (as 32bit int bitfield) TODO: expand to 64bit, check jit then |
CPNArg | PNArg - call a function (unused). See now macro PN_S(name,1), PN_S(name,2) |
CPNAsm | |
CPNBHeader | .pnb binary dump header |
CPNBoolean | From cmp (x<y) to immediate object (no struct) 0x...2 |
CPNBytes | Byte strings are raw character data, volatile, may be appended/changed |
CPNClosure | Closure is an anonymous function, without closed values, |
CPNCont | Continuation saves the stack and all stack pointers |
CPNData | Struct to wrap arbitrary data that we may want to allocate from Potion |
CPNDouble | Doubles are floating point numbers stored as binary data |
CPNError | Error, including a description, file location, a brief excerpt |
CPNFile | File is wrapper around a file descriptor, non-volatile but mutable |
CPNFwd | Forwarding pointer (in case of reallocation) |
CPNInteger | Either a PN_INT immediate object (no struct) 0x...1 Integer: 31bit/63bit shifted off the last 1 bit or a PNDouble double |
CPNJumps | Record labels to be patched |
CPNLick | Lick is a unit of generic tree data |
CPNLoop | Jump table for loops, for the 2 args b and c Note: only statically allocated (max 1024) |
CPNMemory | Garbage collector |
CPNObject | Standard objects act like C structs the fields are defined by the type and it's a fixed size, not volatile |
CPNProto | Prototype is compiled source code, a closure block (lambda) non-volatile |
CPNSource | |
CPNString | Strings are immutable UTF-8, the ID is incremental and they may be garbage collected |
CPNTable | Table class, based on khash |
CPNTarget | Definition of the jit targets: x86, ppc, arm |
CPNTuple | Tuple is an array of PNs |
CPNVtable | Central vtable, see io http://www.piumarta.com/pepsi/objmodel.pdf |
CPNWeakRef | Weak ref is used for upvals, it acts as a memory slot, non-volatile but mutable |
CPotion_State | Global interpreter state P. currently singleton (not threads yet) |