[Lldb-commits] [lldb] [lldb][test] Check debugserver's expedited memory in its replies (PR #216165)
Yao Qi via lldb-commits
lldb-commits at lists.llvm.org
Fri Aug 14 03:03:47 PDT 2026
qiyao wrote:
>
> do you think it's worth testing that the stack frame memory is correctly expedited in the stop reply packet in this test, too? If we ever regressed that, it would slow every private stop in lldb.
They tested it already. `test_stop_reply_expedites_frame_pointer_backchain` checks `memory:` entry in stop reply is only about frame backchain, it fails if `memory:` has anything else, for example, if expedited stack memory goes into stop reply by mistake,
```
+ backchain_entry_size = 2 * results["ptrsize"]
+ for entry in entries:
+ addr, sep, hex_bytes = entry.partition("=")
+ self.assertEqual(sep, "=", "malformed memory entry %r" % entry)
+ self.assertEqual(
+ len(hex_bytes),
+ 2 * backchain_entry_size,
+ "memory:%s= should carry %d bytes (2 * ptrsize), got %d: %r"
+ % (addr, backchain_entry_size, len(hex_bytes) // 2, entry),
+ )
```
OTOH, `test_threads_info_expedites_stopped_frame_stack` checks the reply to `jThreadsInfo` must have expedited stack memory in stop thread only,
```
+ if thread_info["tid"] == stopped_tid:
+ saw_stopped = True
+ # One chunk, or two when $fp is usable.
+ self.assertIn(
+ len(frame_0_stack_memory),
+ (1, 2),
+ "no frame 0 stack memory for stopped %s" % where,
+ )
+ else:
+ self.assertEqual(
+ frame_0_stack_memory,
+ [],
+ "unexpected frame 0 stack memory for %s" % where,
+ )
```
https://github.com/llvm/llvm-project/pull/216165
More information about the lldb-commits
mailing list