bool StepVm()
{
if (this.IsLive ()) {
this.CheckVmWithoutError ();
this.CheckQuotas ();
try {
var instruction = this.CurrentInstruction();
//TraceInstruction(instruction);
Vm.handlers[instruction.NumericOpcode](this);
this.executedTicks++;
this.executedTicksSinceLastNap++;
return true;
} catch (ShovelException ex) {
this.programmingError = ex;
throw;
}
} else {
return false;
}
}