Did you know ... Search Documentation:
vm.pl -- SWI-Prolog Virtual Machine utilities
PublicShow source

This is an internal developers module to manage the virtual machine instructions.

Source vm_list(:Spec) is det
Lists the definition of the predicates matching Spec to current_output. Spec is also allowed to be a clause-reference.
Source clause_vm(+ClauseRef, -VM:list) is det
True when VM is the virtual machine code of ClauseRef. Each instruction is a term vmi(VMI,Size).
Source vmi_labels(?VMI, ?Labeled)
Translated between a raw and a labeled representation for a VMI sequence as produced by clause_vm/2. Assumes we only jump forwards.

In the labeled represention the jump arguments of VMIs are label names and there are entries label(Name) in the list.

Source jmp_rel(+VMIName, +Start, +End, -JmpRel)[private]
Relative position for the (choice) jump. This is the end of the instruction for most, but after the address for the compiled trie instructions. Should be made consistent.