命令セットはもう少しリッチにしないといかんが、
バイトコード列の長さが有限のとき、実行する命令数に制限を作って

lp:
y = 最大x命令実行して停止するバイトコード列から得られる数の最大
if (y > x) { x = y; goto lp; }
return x;

ってした場合、停止するんかね?