static void HandlePrim0(Vm vm)
{
var instruction = vm.CurrentInstruction ();
if (vm.GetCurrentCache () == null) {
var primName = (string)instruction.Arguments;
if (!Vm.Prim0Hash.ContainsKey (primName)) {
vm.RaiseShovelError (String.Format (
"Cannot take address of primitive '{0}' (implemented as instruction).",
primName)
);
}
vm.SetCurrentCache (Value.Make (Vm.Prim0Hash [primName]));
}
vm.stack.Push ((Value)vm.GetCurrentCache ());
vm.IncrementTicks (1);
vm.programCounter++;
}