Interpreter Generating Extension
Specialize_interpret(byteCodes, pc, vsp) {
emit “valueStack[++vsp] = byteCodes[pc+1];”;
emit “valueStack[vsp-1] =
valueStack[vsp] + valueStack[vsp-1];”;
emit “if (valueStack[vsp] != 0) goto ?;”
// branch fall-through (else)
pc += 2; Specialize_interpret(byteCodes, pc, vsp);
pc = byteCodes[pc+1]; break;
emit “return valueStack[vsp];”;