Commit Graph

257 Commits

Author SHA1 Message Date
Ryan Fleury 02611de6af broadcast wakeup event on ctrl cache commits 2025-05-22 11:39:08 -07:00
Ryan Fleury d254d8edb4 switch singular frame scopes to stack of frame scopes; always ensure scopes are closed before breaks in frames. 2025-05-22 09:28:13 -07:00
Ryan Fleury 895a965f70 defer call stack scope touches until retry loop exit 2025-05-21 17:33:30 -07:00
Ryan Fleury 0eb37c527c fix incorrect abort-on-0-rip condition in unwinder path; we can still have nonzero rsps and find valid frames. 2025-05-20 15:09:35 -07:00
Ryan Fleury 95dbba1144 debugging notes of programmatic data breakpoints 2025-05-20 13:18:15 -07:00
Ryan Fleury a55c5b49aa similarly adjust call stack cache timeout periods 2025-05-20 13:06:16 -07:00
Ryan Fleury 15459edc75 adjust wait timeout properties of ctrl process memory cache grab; don't wait forever to submit, don't wait if work was completed even if results bad, etc. 2025-05-20 13:03:58 -07:00
Ryan Fleury 7fc39a3d97 eliminate old debug engine unwind cache 2025-05-20 11:13:04 -07:00
Ryan Fleury 56b975a6b1 adjust async call stack querying API to guard against waiting in clearly-invalid cases (trying to wait for call stacks when running, for example); also eliminate logs 2025-05-20 10:36:44 -07:00
Ryan Fleury 7dc4399300 dead ctrl process memory cache elimination 2025-05-19 19:38:27 -07:00
Ryan Fleury 54325828b2 absolutify target stdout/stderr/stdin paths based on working directory 2025-05-19 18:56:13 -07:00
Ryan Fleury b9e3df4cae pass over hash store layer / all users, to switch to explicit 64-bit root alloc/dealloc, and 128-bit ids, for a full 192-bit hs key 2025-05-19 14:52:28 -07:00
Ryan Fleury 0a51de094d switch to stripe-cv-based waiting mechanism on nonzero scope touches 2025-05-18 12:58:44 -07:00
Ryan Fleury 66fdfc84fc further pass over call stack cache lookup path 2025-05-17 10:16:49 -07:00
Ryan Fleury 7a44cbbd0d adjust high priority call stack timeout threshold 2025-05-17 08:41:51 -07:00
Ryan Fleury a379134ed8 demon tweaks / debugging; adjust call stack cache reading API to account for high-priority path, where we want to try computing the thread's call stack immediately 2025-05-16 21:12:58 -07:00
Ryan Fleury 86eabe0d6d offer priority selection in call stack retrieval; prioritize selected thread & operations which require a result; adjust call stack builder path to be a bit more generous while waiting for memory reads 2025-05-15 21:57:50 -07:00
Ryan Fleury ed9866e9e2 retry call stack commits a bit more aggressively 2025-05-15 14:17:17 -07:00
Ryan Fleury 95032147e8 lock ctrl thread entity ctx for much less long when doing unwinds; only copy the minimal entity tree needed into a mini entity ctx, then use that to do the unwind 2025-05-15 13:47:55 -07:00
Ryan Fleury 9a805b8bb5 adjust call stack cachc committing mechanism, to guarantee commits in face of scope touches, and to ensure waiting for new commits in face of cache lookup 2025-05-15 13:27:11 -07:00
Ryan Fleury e5d6a49055 first pass at call stack cache, need a lot of clean up before this is working... 2025-05-14 21:44:09 -07:00
Ryan Fleury a84739e1c4 set up async cached call stack building 2025-05-14 20:15:10 -07:00
Ryan Fleury 981dd2e02c tighten up usage of ctrl entity ctx vs. r/w ctx store vs. accel 2025-05-14 19:16:06 -07:00
Ryan Fleury 1b26c3f180 entity_ctx * entity_store -> entity_ctx, entity_ctx_rw_store, thread-local entity_ctx_lookup_accel 2025-05-14 19:11:02 -07:00
Ryan Fleury 1e6b3ee2e6 split read-only ctrl entity operations from read-write ctrl entity operations, represent in type system via EntityCtx vs. EntityStore 2025-05-14 18:35:25 -07:00
Ryan Fleury 60e47fb821 unwind cache -> callstack cache 2025-05-14 15:28:57 -07:00
Ryan Fleury 81483f5100 eliminate per-callstack-frame 'parent num' - redundant info 2025-05-14 14:41:13 -07:00
Ryan Fleury 1e53ac29ef still protect against infinite unwinds, but require that both rsp/rip remain unchanged, rather than just rip 2025-05-14 13:55:16 -07:00
Ryan Fleury 99a8108b2a eliminate now-unnecessary debug info references in call stack data structure 2025-05-14 13:53:24 -07:00
Ryan Fleury a7b6e6f02a eliminate usage of old overcomplicated call stack data structure, which required actively holding debug info references... we want to eliminate this so that we can trivially cache call stacks / unwinds 2025-05-14 13:51:59 -07:00
Ryan Fleury b49f4559ce get main unwinding path off of requiring entire ctrl entity store 2025-05-14 13:32:32 -07:00
Ryan Fleury f12b66c1ee sketch out asynchronous unwinding stuff 2025-05-14 13:27:10 -07:00
Ryan Fleury e60e0c8555 sketch out unwind cache 2025-05-14 11:43:54 -07:00
Ryan Fleury 10c4dcecd1 do not prohibit same-rips from stopping unwinds 2025-05-14 10:15:42 -07:00
Ryan Fleury a5b227a1c6 egl/glx work; eliminate unneeded path normalization paths; do not assume os current path when normalizing paths; gl synchronous debug strings 2025-05-12 16:03:36 -07:00
Ryan Fleury 3fd1f9d255 stub out demon/fontprovider so we can build debugger 2025-05-10 14:28:14 -07:00
Ryan Fleury 8b7e7471f5 markup: thread id based APIs for names/colors; handle names/colors-before-thread, or id-based application, in ctrl layer 2025-05-03 16:45:45 -07:00
Ryan Fleury 473f84cbda flip priority of (handle, id) thread name events; prefer id if it is there, to correctly work with the set-suspended-thread-name-by-ID case 2025-05-03 16:17:10 -07:00
Ryan Fleury b1d63cd130 unattached process evaluation / lister 2025-04-30 13:34:05 -07:00
Ryan Fleury 81425e8b90 use more stable IDs for ctrl entity evaluations 2025-04-28 10:25:37 -07:00
Ryan Fleury 9bb592786a eliminate all old evaluation bundled helpers, eliminate old fragmented eval caches; move all to unified evaluation cache 2025-04-24 09:07:29 -07:00
Ryan Fleury 2f7e48e5cf first pass at unified evaluation cache 2025-04-23 17:29:31 -07:00
Ryan Fleury ba29350939 parse cache, ir-tree cache 2025-04-23 16:00:23 -07:00
Ryan Fleury c9a05bc76f adjust block tree building from being on expr -> being on eval 2025-04-23 14:45:15 -07:00
Ryan Fleury 264dbc8199 deduplication from evaluation ctxs - just have base ctx with deduplicated info, then separate type-state, ir-ctx, and interpretation-ctx 2025-04-23 11:49:44 -07:00
Ryan Fleury 7c668388eb hook up programmatic breakpoint state to trap list 2025-04-12 19:38:07 -07:00
Ryan Fleury 8a857b2154 use set/unset breakpoint events to build bp entities in ctrl entity tree 2025-04-12 15:32:27 -07:00
Ryan Fleury 7ba027e841 sketch out new markup API for programmatic address/data breakpoints 2025-04-12 15:21:48 -07:00
Ryan Fleury 0f380e9228 transmit user breakpoints hit from demon -> ctrl using ctrl-defined IDs, correllate those IDs to rd-defined IDs, use rd-defined IDs in stop events to count bp hits, rather than re-resolving breakpoints. further fixes & work on first pass of data breakpoints 2025-04-12 14:28:38 -07:00
Ryan Fleury ecad70ca19 pass through data breakpoint length, more progress on fixes/correctness in first pass 2025-04-11 18:07:00 -07:00