-
Notifications
You must be signed in to change notification settings - Fork 3
Architecture
POCA uses a frame-stack-wise infinite-register-based byte code instruction set architecure (ISA).
Unlike almost all other script interpreters, POCA is thread-safe and scalable when called from multiple CPU threads. No special treatment is required and the threads can be scheduled simultaneously, so there is no global lock on the byte-code interpreter or Just-In-Time-Compiler execution engine. The only limit on scalability is the single-threaded incremental generational garbage collector, which must block all byte-code interpreter threads and from the Just-In-Time-Compiler compiled CPU-native code threads before running.
POCA's API design concept is more or less similiar to the concept from Lua. So concepts like hash tables (hashs), metatables (hash events), vectors (arrays), etc. exists here also.
Strings in POCA are UTF8-encoded with fallback to Latin1-encoding, when the string have only Latin1 code points for to save memory. The default string indexing is code point wise.