diff options
Diffstat (limited to 'Python/ceval.c')
-rw-r--r-- | Python/ceval.c | 30 |
1 files changed, 9 insertions, 21 deletions
diff --git a/Python/ceval.c b/Python/ceval.c index 100aa3d..2b42c68 100644 --- a/Python/ceval.c +++ b/Python/ceval.c @@ -143,7 +143,7 @@ lltrace_instruction(_PyInterpreterFrame *frame, const char *opname = _PyOpcode_OpName[opcode]; assert(opname != NULL); int offset = (int)(next_instr - _PyCode_CODE(frame->f_code)); - if (HAS_ARG(opcode)) { + if (HAS_ARG(_PyOpcode_Deopt[opcode])) { printf("%d: %s %d\n", offset * 2, opname, oparg); } else { @@ -1165,14 +1165,7 @@ handle_eval_breaker: TARGET(NOP) { DISPATCH(); } - TARGET(RESUME) { - _PyCode_Warmup(frame->f_code); - GO_TO_INSTRUCTION(RESUME_QUICK); - } - - TARGET(RESUME_QUICK) { - PREDICTED(RESUME_QUICK); assert(tstate->cframe == &cframe); assert(frame == cframe.current_frame); if (_Py_atomic_load_relaxed_int32(eval_breaker) && oparg < 2) { @@ -1710,7 +1703,7 @@ handle_eval_breaker: PyObject *list = PEEK(oparg); if (_PyList_AppendTakeRef((PyListObject *)list, v) < 0) goto error; - PREDICT(JUMP_BACKWARD_QUICK); + PREDICT(JUMP_BACKWARD); DISPATCH(); } @@ -1722,7 +1715,7 @@ handle_eval_breaker: Py_DECREF(v); if (err != 0) goto error; - PREDICT(JUMP_BACKWARD_QUICK); + PREDICT(JUMP_BACKWARD); DISPATCH(); } @@ -2908,7 +2901,7 @@ handle_eval_breaker: if (_PyDict_SetItem_Take2((PyDictObject *)map, key, value) != 0) { goto error; } - PREDICT(JUMP_BACKWARD_QUICK); + PREDICT(JUMP_BACKWARD); DISPATCH(); } @@ -3576,8 +3569,11 @@ handle_eval_breaker: } TARGET(JUMP_BACKWARD) { - _PyCode_Warmup(frame->f_code); - GO_TO_INSTRUCTION(JUMP_BACKWARD_QUICK); + PREDICTED(JUMP_BACKWARD); + assert(oparg < INSTR_OFFSET()); + JUMPBY(-oparg); + CHECK_EVAL_BREAKER(); + DISPATCH(); } TARGET(POP_JUMP_IF_FALSE) { @@ -3707,14 +3703,6 @@ handle_eval_breaker: DISPATCH(); } - TARGET(JUMP_BACKWARD_QUICK) { - PREDICTED(JUMP_BACKWARD_QUICK); - assert(oparg < INSTR_OFFSET()); - JUMPBY(-oparg); - CHECK_EVAL_BREAKER(); - DISPATCH(); - } - TARGET(GET_LEN) { // PUSH(len(TOS)) Py_ssize_t len_i = PyObject_Length(TOP()); |