p2  0.0
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Data Structures
Here are the data structures with brief descriptions:
 CAio_barrierCreate and init a Aio_barrier request
 CAio_checkCreate and init a Aio_check object
 CAio_connectCreate a Aio_connect request
 CAio_fs_eventCreate and init a Aio_fs_event
 CAio_fs_pollCreate and init a Aio_fs_poll object
 CAio_getaddrinfoCreate a async Aio_getaddrinfo request
 CAio_handleCreate a Aio_handle
 CAio_idleCreate and init a Aio_idle object
 CAio_loopCreate and init a Aio_loop object, TODO: as uv_default_loop only so far
 CAio_pipeCreate and init a Aio_pipe
 CAio_prepareCreate and init a Aio_prepare object Every active prepare handle gets its callback called exactly once per loop iteration, just before the system blocks to wait for completed i/o
 CAio_processInitializes uv_process_t and starts a new process
 CAio_reqCreate a Aio_req
 CAio_semCreate and init a Aio_sem semaphore
 CAio_shutdownCreate a Aio_shutdown request
 CAio_signalCreate and init a Aio_signal object
 CAio_streamCreate a Aio_stream
 CAio_tcpCreate and init a Aio_tcp object
 CAio_timerCreate and init a Aio_timer object
 CAio_ttyCreate and init a Aio_tty
 CAio_udpCreate and init a Aio_udp object
 CAio_udp_sendCreate a Aio_udp_send request
 CAio_workCreate a Aio_work request
 CAio_writeCreate a Aio_write request
 CLobbyRoot namespace, the global environment and parent class of all builtins
 CPN_OPPN_OP - a compressed three-address op (as 32bit int bitfield) TODO: expand to 64bit, check jit then
 CPNArgPNArg - call a function (unused). See now macro PN_S(name,1), PN_S(name,2)
 CPNBHeader.pnb binary dump header
 CPNBooleanFrom cmp (x<y) to immediate object (no struct) 0x...2
 CPNBytesByte strings are raw character data, volatile, may be appended/changed
 CPNClosureClosure is an anonymous function, without closed values,
 CPNContContinuation saves the stack and all stack pointers
 CPNDataStruct to wrap arbitrary data that we may want to allocate from Potion
 CPNDoubleDoubles are floating point numbers stored as binary data
 CPNErrorError, including a description, file location, a brief excerpt
 CPNFileFile is wrapper around a file descriptor, non-volatile but mutable
 CPNFwdForwarding pointer (in case of reallocation)
 CPNIntegerEither a PN_INT immediate object (no struct) 0x...1 Integer: 31bit/63bit shifted off the last 1 bit or a PNDouble double
 CPNJumpsRecord labels to be patched
 CPNLickLick is a unit of generic tree data
 CPNLoopJump table for loops, for the 2 args b and c Note: only statically allocated (max 1024)
 CPNMemoryGarbage collector
 CPNObjectStandard objects act like C structs the fields are defined by the type and it's a fixed size, not volatile
 CPNProtoPrototype is compiled source code, a closure block (lambda) non-volatile
 CPNStringStrings are immutable UTF-8, the ID is incremental and they may be garbage collected
 CPNTableTable class, based on khash
 CPNTargetDefinition of the jit targets: x86, ppc, arm
 CPNTupleTuple is an array of PNs
 CPNVtableCentral vtable, see io http://www.piumarta.com/pepsi/objmodel.pdf
 CPNWeakRefWeak ref is used for upvals, it acts as a memory slot, non-volatile but mutable
 CPotion_StateGlobal interpreter state P. currently singleton (not threads yet)