[binutils-gdb] Update use of deque in _frame_iterator
Tom Tromey via Gdb-cvs <[email protected]> Mon, 22 Jun 2026 23:47:43 +0000 (GMT)
| Newsgroups | gmane.comp.gdb.cvs |
|---|---|
| Message-ID | <[email protected]> |
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=072a4cfdb580bb878ee59e8b89aa218e55fab441 commit 072a4cfdb580bb878ee59e8b89aa218e55fab441 Author: Tom Tromey <[email protected]> Date: Mon Jun 1 17:45:52 2026 -0600 Update use of deque in _frame_iterator _frame_iterator has an old comment about some hand-written code that was needed when supporting Python 2.6. This patch simplifies the code by using a couple of features of collections.deque. Diff: --- gdb/python/lib/gdb/frames.py | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/gdb/python/lib/gdb/frames.py b/gdb/python/lib/gdb/frames.py index de954e4fb38..6539416b1c2 100644 --- a/gdb/python/lib/gdb/frames.py +++ b/gdb/python/lib/gdb/frames.py @@ -186,18 +186,7 @@ def _frame_iterator(frame, frame_low, frame_high, dap_semantics): # Is this a slice from the end of the backtrace, ie bt -2? if frame_low < 0: - count = 0 - slice_length = abs(frame_low) - # We cannot use MAXLEN argument for deque as it is 2.6 onwards - # and some GDB versions might be < 2.6. - sliced = collections.deque() - - for frame_item in frame_iterator: - if count >= slice_length: - sliced.popleft() - count = count + 1 - sliced.append(frame_item) - + sliced = collections.deque(iterable=frame_iterator, maxlen=abs(frame_low)) return iter(sliced) # -1 for frame_high means until the end of the backtrace. Set to