Update use of deque in _frame_iterator
Checks
| Context |
Check |
Description |
| linaro-tcwg-bot/tcwg_gdb_build--master-aarch64 |
success
|
Build passed
|
| linaro-tcwg-bot/tcwg_gdb_build--master-arm |
success
|
Build passed
|
| linaro-tcwg-bot/tcwg_gdb_check--master-aarch64 |
success
|
Test passed
|
| linaro-tcwg-bot/tcwg_gdb_check--master-arm |
success
|
Test passed
|
Commit Message
_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.
---
gdb/python/lib/gdb/frames.py | 13 +------------
1 file changed, 1 insertion(+), 12 deletions(-)
@@ -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