Author: Armin Rigo <ar...@tunes.org> Branch: reverse-debugger Changeset: r85496:0210f3ef956a Date: 2016-07-01 18:55 +0200 http://bitbucket.org/pypy/pypy/changeset/0210f3ef956a/
Log: Minor clean-up, and don't trace hidden_applevel bytecodes at all (previously it would still trigger at bytecode index 0). diff --git a/pypy/interpreter/pyopcode.py b/pypy/interpreter/pyopcode.py --- a/pypy/interpreter/pyopcode.py +++ b/pypy/interpreter/pyopcode.py @@ -53,14 +53,10 @@ ### opcode dispatch ### def dispatch(self, pycode, next_instr, ec): - if self.space.config.translation.reverse_debugger: - from pypy.interpreter.reverse_debugging import prepare_code - prepare_code(pycode) - # # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code - # + try: while True: next_instr = self.handle_bytecode(co_code, next_instr, ec) diff --git a/pypy/interpreter/reverse_debugging.py b/pypy/interpreter/reverse_debugging.py --- a/pypy/interpreter/reverse_debugging.py +++ b/pypy/interpreter/reverse_debugging.py @@ -26,7 +26,7 @@ # invariant: "f_revdb_nextline_instr" is the bytecode offset of # the start of the line that follows "last_instr". -pyframe.PyFrame.f_revdb_nextline_instr = 0 +pyframe.PyFrame.f_revdb_nextline_instr = -1 # ____________________________________________________________ @@ -69,6 +69,10 @@ if dbstate.breakpoint_stack_id != 0 and caller_frame is not None: if dbstate.breakpoint_stack_id == revdb.get_unique_id(caller_frame): revdb.breakpoint(-1) + # + code = callee_frame.pycode + if code.co_revdb_linestarts is None: + build_co_revdb_linestarts(code) def leave_call(caller_frame, callee_frame): if dbstate.breakpoint_stack_id != 0 and caller_frame is not None: @@ -172,10 +176,6 @@ code.co_revdb_linestarts = lstart return lstart -def prepare_code(code): - if code.co_revdb_linestarts is None: - build_co_revdb_linestarts(code) - def get_final_lineno(code): lineno = code.co_firstlineno lnotab = code.co_lnotab _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit