case POP_TOP:
v = POP();
DECREF(v);
- break;
+ continue;
case ROT_TWO:
v = POP();
w = POP();
PUSH(v);
PUSH(w);
- break;
+ continue;
case ROT_THREE:
v = POP();
PUSH(v);
PUSH(x);
PUSH(w);
- break;
+ continue;
case DUP_TOP:
v = TOP();
INCREF(v);
PUSH(v);
- break;
+ continue;
case UNARY_POSITIVE:
v = POP();
x = pos(v);
DECREF(v);
PUSH(x);
+ if (x != NULL) continue;
break;
case UNARY_NEGATIVE:
x = neg(v);
DECREF(v);
PUSH(x);
+ if (x != NULL) continue;
break;
case UNARY_NOT:
x = not(v);
DECREF(v);
PUSH(x);
+ if (x != NULL) continue;
break;
case UNARY_CONVERT:
x = reprobject(v);
DECREF(v);
PUSH(x);
+ if (x != NULL) continue;
break;
case UNARY_INVERT:
x = invert(v);
DECREF(v);
PUSH(x);
+ if (x != NULL) continue;
break;
case BINARY_POWER:
DECREF(v);
DECREF(w);
PUSH(x);
+ if (x != NULL) continue;
break;
case BINARY_MULTIPLY:
DECREF(v);
DECREF(w);
PUSH(x);
+ if (x != NULL) continue;
break;
case BINARY_DIVIDE:
DECREF(v);
DECREF(w);
PUSH(x);
+ if (x != NULL) continue;
break;
case BINARY_MODULO:
DECREF(v);
DECREF(w);
PUSH(x);
+ if (x != NULL) continue;
break;
case BINARY_ADD:
DECREF(v);
DECREF(w);
PUSH(x);
+ if (x != NULL) continue;
break;
case BINARY_SUBTRACT:
DECREF(v);
DECREF(w);
PUSH(x);
+ if (x != NULL) continue;
break;
case BINARY_SUBSCR:
DECREF(v);
DECREF(w);
PUSH(x);
+ if (x != NULL) continue;
break;
case BINARY_LSHIFT:
DECREF(v);
DECREF(w);
PUSH(x);
+ if (x != NULL) continue;
break;
case BINARY_RSHIFT:
DECREF(v);
DECREF(w);
PUSH(x);
+ if (x != NULL) continue;
break;
case BINARY_AND:
DECREF(v);
DECREF(w);
PUSH(x);
+ if (x != NULL) continue;
break;
case BINARY_XOR:
DECREF(v);
DECREF(w);
PUSH(x);
+ if (x != NULL) continue;
break;
case BINARY_OR:
DECREF(v);
DECREF(w);
PUSH(x);
+ if (x != NULL) continue;
break;
case SLICE+0:
XDECREF(v);
XDECREF(w);
PUSH(x);
+ if (x != NULL) continue;
break;
case STORE_SLICE+0:
DECREF(u);
XDECREF(v);
XDECREF(w);
+ if (err == 0) continue;
break;
case DELETE_SLICE+0:
DECREF(u);
XDECREF(v);
XDECREF(w);
+ if (err == 0) continue;
break;
case STORE_SUBSCR:
DECREF(u);
DECREF(v);
DECREF(w);
+ if (err == 0) continue;
break;
case DELETE_SUBSCR:
err = assign_subscript(v, w, (object *)NULL);
DECREF(v);
DECREF(w);
+ if (err == 0) continue;
break;
case PRINT_EXPR:
softspace(w, 0);
}
DECREF(v);
+ if (err == 0) continue;
break;
case PRINT_NEWLINE:
#endif
INCREF(x);
PUSH(x);
+ if (x != NULL) continue;
break;
case STORE_FAST:
}
#endif
SETLOCAL(oparg, v);
- break;
+ continue;
case DELETE_FAST:
#ifdef SUPPORT_OBSOLETE_ACCESS
}
#endif
SETLOCAL(oparg, NULL);
- break;
+ continue;
case BUILD_TUPLE:
x = newtupleobject(oparg);
SETTUPLEITEM(x, oparg, w);
}
PUSH(x);
+ continue;
}
break;
break;
}
PUSH(x);
+ continue;
}
break;
case BUILD_MAP:
x = newdictobject();
PUSH(x);
+ if (x != NULL) continue;
break;
case LOAD_ATTR:
x = getattro(v, w);
DECREF(v);
PUSH(x);
+ if (x != NULL) continue;
break;
case COMPARE_OP:
DECREF(v);
DECREF(w);
PUSH(x);
+ if (x != NULL) continue;
break;
case IMPORT_NAME:
x = call_object(x, w);
DECREF(w);
PUSH(x);
+ if (x != NULL) continue;
break;
case IMPORT_FROM:
}
err = import_from(x, v, w);
locals_2_fast(f, 0);
+ if (err == 0) continue;
break;
#ifdef SUPPORT_OBSOLETE_ACCESS
case JUMP_FORWARD:
JUMPBY(oparg);
- break;
+ continue;
case JUMP_IF_FALSE:
err = testbool(TOP());
err = 0;
else if (err == 0)
JUMPBY(oparg);
- break;
+ else
+ break;
+ continue;
case JUMP_IF_TRUE:
err = testbool(TOP());
err = 0;
JUMPBY(oparg);
}
- break;
+ else if (err == 0)
+ ;
+ else
+ break;
+ continue;
case JUMP_ABSOLUTE:
JUMPTO(oparg);
- break;
+ continue;
case FOR_LOOP:
/* for v in s: ...
PUSH(x);
DECREF(w);
PUSH(u);
+ if (x != NULL) continue;
}
else {
DECREF(v);
but also an error: */
if (err_occurred())
why = WHY_EXCEPTION;
- else
+ else {
JUMPBY(oparg);
+ continue;
+ }
}
break;
case SETUP_FINALLY:
setup_block(f, opcode, INSTR_OFFSET() + oparg,
STACK_LEVEL());
- break;
+ continue;
case SET_LINENO:
#ifdef LLTRACE
printf("--- %s:%d \n", filename, oparg);
#endif
f->f_lineno = oparg;
- if (f->f_trace != NULL) {
- /* Trace each line of code reached */
- f->f_lasti = INSTR_OFFSET();
- err = call_trace(&f->f_trace, &f->f_trace,
- f, "line", None);
- }
+ if (f->f_trace == NULL)
+ continue;
+ /* Trace each line of code reached */
+ f->f_lasti = INSTR_OFFSET();
+ err = call_trace(&f->f_trace, &f->f_trace,
+ f, "line", None);
break;
case CALL_FUNCTION:
DECREF(w);
}
PUSH(x);
+ if (x != NULL) continue;
break;
}
DECREF(v);
XDECREF(w);
PUSH(x);
+ if (x != NULL) continue;
break;