A pure-actor virtual machine with memory-safety and object-capability security. The uFork processor architecture features:
Applying the design principle of actors-all-the-way-down, uFork implements a virtual-machine that is memory-safe at the level of assembly-language instructions. All operations occur in the context of an actor message-event, which provides object-capability security throughout the system. The effects of individual instructions are isolated so they can only affect the state of their host actor, until a transactional commit releases additional asynchronous message-events into the system. This isolation allows interleaved execution of multiple instruction streams, so multiple actors can make progress concurrently. The virtual-machine implements automatic memory management with garbage-collection, and fine-grained resource quotas are enforced by the processor.
The blog post "Memory Safety Simplifies Microprocessor Design" describes the high-level architecture, and the rationale behind it.
github.com/organix/uFork
is the project repository.