Dis virtual machine

From Wikipedia, the free encyclopedia
Jump to: navigation, search
Dis virtual machine
Written in C
Operating system Inferno
Type Virtual machine
Website www.vitanuova.com/inferno/papers/dis.html

In computing, the Dis virtual machine provides the execution environment for application code in the Inferno operating-system. Its design, based on a register machine, closely models CISC-like architectures.[1] Dis bytecode is interpreted or is just-in-time compiled into machine code for the target architecture.

Dis is the target of Inferno's Limbo compiler.[2]

Dis has memory management built in. It uses a hybrid of reference counting and a real-time garbage-collector for cyclic data.[3]

The instruction-set architecture is based on a three-operand memory-to-memory machine. It includes instructions for arithmetic, control flow, and data motion. There are also instructions for creating new processes, synchronizing and communicating between processes, loading modules of code, and support for higher-level data-types: strings, arrays, lists, and communication channels.

Dis instructions operate on operands of byte (8 bits), word (32 bits), float (64 bits), and big integer (64 bits).

See also[edit]


  1. ^ "Dis Virtual Machine Specification", Inferno (paper), Vita nuova, 26 February 2009 .
  2. ^ Limbo(1) 
  3. ^ Lorenz Huelsbergen and Phil Winterbottom. "Very Concurrent Mark and Sweep Garbage Collection without Fine-Grain Synchronization". 

External links[edit]