Commit Graph
100 Commits
Author SHA1 Message Date
Ryan Fleury 629ddec458 begin sketching out watch-window-driven scheduler replacement 2024-09-23 17:41:26 -07:00
Ryan Fleury 5690a9e19b further enriching of codebase type info & eval type info to encode code-contents of pointers, pretty names for members; further progress on improving watch views to support all needed features for replacing all table uis 2024-09-23 16:45:18 -07:00
Ryan Fleury 508d11c8d8 further progress on targets view replacement; split collection views into several types 2024-09-23 16:06:01 -07:00
Ryan Fleury bfe6f655be more work on watch view to replace all old uis 2024-09-23 14:26:27 -07:00
Ryan Fleury f728614e0b eliminate watch view fill kind; extend rtti & eval type system with 'external' pointers, for e.g. meta-space vaddr u64s pointing into an address space; begin sketching out paths for mutational rows in watch collections, use to add 'add target' fastpath in targets collection evaluations 2024-09-23 10:57:43 -07:00
Ryan Fleury ebaad35813 fix filter passthrough & fix double-application of view rules in some cases 2024-09-20 17:19:13 -07:00
Ryan Fleury 8babd89f47 modules view, watch window style 2024-09-20 17:04:53 -07:00
Ryan Fleury 066f5f6cf2 add correct inheritance rules for oct, hex, dec, bin, only, omit view rules 2024-09-20 16:24:09 -07:00
Ryan Fleury c98db01b63 replace watch view fill kind with top-level expression & view rule; collection macro for watches; reintroduce only/omit, with new expr-macro-based eval visualization system; remove root-expression-generation from expansion block generation, since it makes things a bit more complicated 2024-09-20 16:15:29 -07:00
Ryan Fleury a1debd9219 targets, breakpoints, watch pins, etc. collections; fix . access on enum types; add more information to meta evaluations 2024-09-20 13:49:27 -07:00
Ryan Fleury 432e70caf6 begin sketching out 'collections', which are the formal mechanism in the eval/eval-viz systems for visualizing synthetic structures/arrays/trees produced by the debugger, rather than ad-hocing / hardwiring the correct ev-block production for each kind of view - the views can still stay, but this is an important feature for other cases 2024-09-20 12:04:13 -07:00
Ryan Fleury bbd86449d8 fix ghost auto-view-rule text visualization to calculate auto view rule from raw type expression rather than post-view-rule-applied one 2024-09-19 16:07:14 -07:00
Ryan Fleury 454764b9f6 set up auto view rule table in frontend thread; visualize auto-view-rules as ghosted text in watch views 2024-09-19 15:29:08 -07:00
Ryan Fleury 05ec402a8e make eval visualization system robust to absence of auto view rule table 2024-09-19 15:23:55 -07:00
Ryan Fleury df4d18aa5c sketch out type-based auto-view-rule in eval visualization system 2024-09-19 15:22:47 -07:00
Ryan Fleury cc61df0c7b lazily-evaluate meta evaluations on an as-needed basis - with callstacks in particular it is just too expensive to do all threads every frame up-front 2024-09-19 14:38:24 -07:00
Ryan Fleury 7bec50db75 type-info-table-driven pointer rebasing for meta evals; add callstack info to entity meta evals 2024-09-19 14:04:40 -07:00
Ryan Fleury 0e993c5e7a eliminate old ctx menu paths 2024-09-19 11:36:34 -07:00
Ryan Fleury 16ba8a98cf shift source ctx menu to universal ctx menu path 2024-09-19 11:33:23 -07:00
Ryan Fleury 1e8413797a shift tab ctx menu into universal ctx menu 2024-09-19 11:27:55 -07:00
Ryan Fleury ca8fdd1d6e progress on universal ctx menu 2024-09-19 11:22:08 -07:00
Ryan Fleury 714c736530 eliminate old manual serialization code for meta evals in ctrl msgs 2024-09-18 17:01:59 -07:00
Ryan Fleury 7c41fc11e0 fix up issues with user <-> ctrl thread communication 2024-09-18 16:21:22 -07:00
Ryan Fleury 546e6e695f eliminate ad-hoc meta eval info type tables; switch to base layer meta type info; do first pass of shifting serialization of meta evals to meta type info driven system 2024-09-18 15:57:01 -07:00
Ryan Fleury 7e5759ed03 finish first pass sketching out basic base-layer-defined codebase type info & serialization/deserialization path with basic pointer cases 2024-09-18 14:52:39 -07:00
Ryan Fleury 9ae3b2eb92 base layer defined type info tables experiment - can ideally be used as a more whole solution for the ctrl meta eval info stuff 2024-09-17 17:52:23 -07:00
Ryan Fleury 85a07be1ac generate meta tables for meta evaluations; use to table-drive ctrl msg serialization, deserialization, meta eval type info generation, and info <-> serialized eval path 2024-09-17 15:43:39 -07:00
Ryan Fleury 3de6331a8e notes for 0.9.12 2024-09-17 14:17:04 -07:00
Ryan Fleury 487637aaaa fix while-loading command processing in text views 2024-09-17 14:05:40 -07:00
Ryan Fleury e825c0f5b5 keep 64mb reserve size default if possible with large pages enabling 2024-09-17 13:46:11 -07:00
Ryan Fleury 5dd89f350d --large_pages option; allow dynamic override of arena defaults 2024-09-17 13:41:56 -07:00
Ryan Fleury 4d41c32586 plug in fuzzy searching system to autocompletion lister; can now autocomplete procedures, types, globals in watch window 2024-09-17 11:52:33 -07:00
Ryan Fleury a368d04e3b checkpoint on new universal drag/drop stuff 2024-09-17 11:26:13 -07:00
Ryan Fleury ca9ee9a658 checkpoint in new universal regs-based rich hover / context menu / drag-drop systems 2024-09-17 11:05:43 -07:00
Ryan Fleury 8ce7626099 fix run-to-line & run-to-address (was accidentally zeroing extra_bps) 2024-09-16 18:09:19 -07:00
Ryan Fleury d66703a044 filter commands in views by view rather than window/panel 2024-09-16 17:57:48 -07:00
Ryan Fleury fa64116048 notes 2024-09-16 17:54:53 -07:00
Ryan Fleury cff6222863 additional small fixes 2024-09-16 17:48:39 -07:00
Ryan Fleury 515724f264 small fixes 2024-09-16 17:43:38 -07:00
Ryan Fleury a7ca8dd0a0 sketch out thread color events & client-driven thread color state, plug thread colors back into ui 2024-09-16 17:37:50 -07:00
Ryan Fleury 35659a4525 checkpoint on new drag/drop system; eliminate old drag/drop payload, just use regs like everything else 2024-09-16 17:25:21 -07:00
Ryan Fleury 4b382777e9 fix debug engine incorrectly using visual run state to soft halt, when ctrl thread did not necessarily report it was running; was leading to 'phantom halts'; other small fixes, dead code elimination, and begin sketching out proper cross-window drag/drop 2024-09-16 17:09:41 -07:00
Ryan Fleury 3cf27169b6 fix view snapping in frame selection & disasm 2024-09-16 16:25:02 -07:00
Ryan Fleury ba647a0b1d fix open-tab path; fix pending-file setup 2024-09-16 16:13:40 -07:00
Ryan Fleury 2f86e289a4 get all view code off of explicit view parameterization; merge row value cell ui hook with regular view ui hook 2024-09-16 15:59:01 -07:00
Ryan Fleury 9899efe93c merge view rules & view specs entirely; simplify graphical view rules down to single hook 2024-09-16 14:44:28 -07:00
Ryan Fleury 84f685803d fix set-space ir extension instruction; expand ctrlbits to u16, so that it can encode modern register sized decodes 2024-09-16 11:59:06 -07:00
Ryan Fleury c00fede4f1 fill out meta eval info system in frontend; get eval back up and running 2024-09-16 11:51:55 -07:00
Ryan Fleury adc9e0e512 begin sketching out meta eval info, to allow for debugger meta evaluations on both ctrl thread & on ui thread - e.g. breakpoint hit count evaluation in conditional bps 2024-09-16 10:36:22 -07:00
Ryan Fleury 17d062934e dead code elimination 2024-09-16 10:13:28 -07:00
Ryan Fleury e8c8df9c6e eliminate setup hook for views 2024-09-16 09:53:24 -07:00
Ryan Fleury 23a5c9eb44 eliminate view cmds hook; just use ui hook 2024-09-16 09:45:54 -07:00
Ryan Fleury 3c262fccf3 adjust top-level rd_frame structure to allow N cycles (rather than 1) of [rd cmds], [d tick] per frame; fix a few ctrl thread driving issues in dbg engine 2024-09-15 12:46:03 -07:00
Ryan Fleury 114ebfa27b adjust raddbg command queue to have two phases; first phase, r/w, core gets chance to push extra commands & consume them immediately same-frame; views get second phase, read-only, where they can consume all commands, but when they push new commands, those are distributed back at the top of the chain, where the core gets first chance 2024-09-15 09:47:37 -07:00
Ryan Fleury 7a1811fb71 begin eliminating setup hook for views 2024-09-14 08:12:26 -07:00
Ryan Fleury f396a88bac mdesk layer extensions for mutable tree manipulations 2024-09-13 17:16:42 -07:00
Ryan Fleury 4b526db0dd organization pass & straightening some things out before entity simplification/replacement 2024-09-13 16:12:55 -07:00
Ryan Fleury 8ffc9f4a9b more progress on entity simplification; df -> rd; eliminate dbg_frontend distinction from raddbg layer 2024-09-13 15:55:58 -07:00
Ryan Fleury 48ae9b6973 move rest of cfg-related stuff into frontend 2024-09-13 14:51:07 -07:00
Ryan Fleury 793ad8fe1e new view rule table definition in df, merging graphical view rules & views totally 2024-09-13 13:39:40 -07:00
Ryan Fleury 7cd1d175de deduplicate string escaping paths in eval/cfg/etc 2024-09-13 12:08:22 -07:00
Ryan Fleury 306f8d84c5 remainder of entity code -> df; exception code filters -> df 2024-09-13 11:59:46 -07:00
Ryan Fleury 573bad8487 entity from d -> df 2024-09-13 11:46:17 -07:00
Ryan Fleury 9b66a9c60e fix df/ctrl kind mismatch 2024-09-13 11:26:53 -07:00
Ryan Fleury 96b5f82964 run-to-line/address porting from old df_entity-based behavior 2024-09-13 11:21:13 -07:00
Ryan Fleury 6b758f08fa eliminate dead code; port breakpoint hit counting to frontend; begin floating entity code into frontend, prepping for simplification/replacement 2024-09-13 10:48:40 -07:00
Ryan Fleury 7fb711b07c eliminate more dead code 2024-09-13 10:41:42 -07:00
Ryan Fleury c8a892ad8f eliminate d_entity-based module mapping code; all of this is done via ctrl systems now 2024-09-13 10:39:32 -07:00
Ryan Fleury f9c541ea7b eliminate regs concept from engine; eliminate more d_entity mirroring ctrl_entity 2024-09-13 10:26:34 -07:00
Ryan Fleury 2dfa3dae42 snap-to-thread if none selected in frontend; fix soft halt logic to match old logic; fix ctrl entity store alloc gen on release 2024-09-12 17:10:39 -07:00
Ryan Fleury f13806b19f another checkpoint in moving previously engine-controlled behavior to frontend, and getting engine completely off d_entities 2024-09-12 16:51:48 -07:00
Ryan Fleury 71cb03f3be checkpoint in getting off of d_entities and onto ctrl_entities for frontend paths, including thread selection & df_regs 2024-09-12 16:30:26 -07:00
Ryan Fleury 3641c212b2 begin floating thread/frame selection mechanisms into frontend and out of engine 2024-09-12 14:58:48 -07:00
Ryan Fleury 638140ab87 another checkpoint, moving d_regs -> df_regs; eliminating more state & responsibilities from dbg_engine 2024-09-12 14:10:41 -07:00
Ryan Fleury 65ed1f0997 another checkpoint - eliminate cmd specs from engine, move all dynamic command definition things into frontend 2024-09-12 12:11:00 -07:00
Ryan Fleury 472e73137d checkpoint 2024-09-11 18:25:48 -07:00
Ryan Fleury 2f299e087a fix busted stepping mechanism 2024-09-11 17:44:30 -07:00
Ryan Fleury c8efacf707 split engine from frontend cmd structure; use to begin fixing/hardening engine commands and decoupling them from frontend complications 2024-09-11 17:42:34 -07:00
Ryan Fleury deef05d0d2 extend eval space size to allow u128 key for hash store & related cache keys, + some extra metadata determined by user (user-defined kind & extra u64) 2024-09-11 17:11:33 -07:00
Ryan Fleury 26fb91d539 fix top-level frontend exit logic; eliminate path -> entity code, since we are totally off filesystem entities 2024-09-11 16:25:02 -07:00
Ryan Fleury f59694fcfb float cfg from engine -> frontend; more elimination of dead code in engine 2024-09-11 15:40:11 -07:00
Ryan Fleury f4726eee0a eliminate old eval viz code in engine 2024-09-11 15:22:51 -07:00
Ryan Fleury cc2b5138b0 more dead code elimination & simplification & floating from engine -> frontend 2024-09-11 15:04:12 -07:00
Ryan Fleury e7b4912e4a eliminate more dead code in engine 2024-09-11 14:35:30 -07:00
Ryan Fleury af5825c89a move interaction register stack into frontend layer 2024-09-11 14:24:16 -07:00
Ryan Fleury be6458690f ctrl layer defined handle system, to replace machine-id/demon-handle pairs used everywhere by users 2024-09-11 14:01:38 -07:00
Ryan Fleury e6872cb71e eliminate all old debug engine eval visualization code; we're now moved over to the new more standalone eval viz codebase layer 2024-09-10 17:22:24 -07:00
Ryan Fleury 20aba085cd oops 2024-09-10 17:14:10 -07:00
Ryan Fleury 299ea04539 port debugger frontend to using eval visualization layer, over old debug engine code 2024-09-10 17:10:48 -07:00
Ryan Fleury bb50e88141 eval_visualization layer: builtin view rules, porting of more debug engine code over 2024-09-10 16:14:11 -07:00
Ryan Fleury e989da4087 float down dbg engine eval visualization stuff into formal codebase layer which just builds on top of eval 2024-09-10 15:46:05 -07:00
Ryan Fleury d3bf9cbb53 eliminate now-unnecessary config writing mechanism 2024-09-10 14:11:54 -07:00
Ryan Fleury d35bc56f8f further coalesce all frontend command processing into top-level frame path; have frontend commands for all possible engine commands 2024-09-10 14:01:06 -07:00
Ryan Fleury 9e7ce6a6c7 do not bake in this parameters in static methods 2024-09-10 13:51:59 -07:00
Ryan Fleury 09db3aacd0 formally split dbg engine/frontend commands; float entity operations & all ui-related operations up to frontend layer, keep engine to small set of control operations (we are trying to get the engine out of the mix in managing entity state) 2024-09-10 11:37:01 -07:00
Ryan Fleury 6534bff5d0 eliminate state delta history experiment codef 2024-09-10 07:24:33 -07:00
Ryan Fleury baaa853c7f dead code & unnecessary helper elimination 2024-09-08 16:49:27 -07:00
Ryan Fleury 8831781af4 reorder top-level frame structure; frontend gets chance first 2024-09-08 14:28:06 -07:00
Ryan Fleury dfe0c17b89 oops; fix incorrect usage of thread instead of process entity 2024-09-08 13:16:57 -07:00
Ryan Fleury 6cf0c7ee92 promote thread freeze state to ctrl entity tree; communicate via msgs for user -> ctrl, and communicate entity state changes back via events for ctrl -> user 2024-09-08 13:09:52 -07:00