Commit Graph

100 Commits

Author SHA1 Message Date
Ryan Fleury fbd78525d2 sketch out new eval type-system-defined hooks for all eval-layer view rules; accesses (., [] operators), expansion ranges, id <-> num mapping 2025-04-10 14:29:56 -07:00
Ryan Fleury 7c0a37fef3 boil down expr/irtree/type -> lookup_rule mapping more - since lens arguments are now stored in type info, we no longer need other ways of smuggling through expression trees. also fill out new path of pointer eval single-line string generation. 2025-04-10 14:29:56 -07:00
Ryan Fleury 9bfa4f87e3 work on new eval-viz layer stringification which factors out measurement/limiting/etc., but just walks an eval tree and stringifies each part; start working on new types <-> lookup-rule stuff 2025-04-10 14:29:56 -07:00
Ryan Fleury b1f17b217c checkpoint - extend constructed types w/ expression arguments, new 'lens' type operator, which can wrap evaluations of other types, + provide a name/args. e.g., bitmap(256, 256) <- (uint8 *), as a well-formed type. this also is the first step to collapsing all 'expression introspection' paths, and making sure they all compose properly. 2025-04-10 14:29:56 -07:00
Ryan Fleury da69d9e91c more progress on new eval/view-rule integration; raddbg_entry_point markup feature 2025-04-10 14:29:55 -07:00
Ryan Fleury ecb3992b93 eval stability tests in tester; tear out last pass' view rule extensions 2025-04-10 14:29:55 -07:00
Ryan Fleury 710828c67d checkpoint in switching to new call-style of view rules for everything 2025-04-10 14:29:55 -07:00
Ryan Fleury 0705ba0a96 begin plugging in view rules as formal call part of expression language 2025-04-07 08:01:33 -07:00
Ryan Fleury c6add5f8f0 fix incorrect type name short-circuit check 2025-04-02 15:12:32 -07:00
Ryan Fleury 9bf69afd0b eval: procedure, type, thread-variable name mapping; sketch out implicit member access path 2025-04-02 15:07:35 -07:00
Ryan Fleury 33de625373 eval: register, register alias name mapping in new name resolution pass 2025-04-02 14:56:53 -07:00
Ryan Fleury 9146594ff9 eval: global name resolution in new ir-stage name resolution path 2025-04-02 14:39:38 -07:00
Ryan Fleury 6113a2e3db eval: do simplification pass over identifier resolution, shift from parsing stage -> ir generation / typechecking stage; do simplifications over expr tree, eliminate redundant kinds 2025-04-02 14:30:12 -07:00
Ryan Fleury a5d6e8a335 make eval ctxs more robust to missing info, e.g. in the test harness case 2025-03-31 13:48:19 -07:00
Ryan Fleury 1adf280354 delete dead code in eval 2025-03-31 11:02:17 -07:00
Ryan Fleury da3c15c7ed short-circuit rule lookups if explicit default is found 2025-03-27 15:41:47 -07:00
Ryan Fleury b154c5a120 use slightly looser mapping for auto-view-rules, to not generate false negatives when looking up 2025-03-26 14:57:58 -07:00
Ryan Fleury ef1685adc9 pass over cfg meta evaluations; instead of forming artificial 'eval blob', just use sets/queries/hooks to do the lookups. eliminate cfg -> eval blob cache. switch to 'enabled' rather than 'disabled' as the cfg default. more convergences/fixes/tweaks. 2025-03-25 13:49:59 -07:00
Ryan Fleury cb6a66b98d member filtering, better visualization for selection state in targets/bps/threads/etc. 2025-03-14 13:27:26 -07:00
Ryan Fleury 24ddab0db2 fix slice view rule to apply correctly to pointers/refs->structs too 2025-03-14 12:41:48 -07:00
Ryan Fleury d10547d2c0 don't assume offset evaluation mode in array dereferences; could apply to type info too, thus null mode; fix visualizer drag/drop causing close of hover eval, invalidating the dragged view too early; fix close-window not exiting if last window 2025-03-13 08:30:16 -07:00
Ryan Fleury 8bca57ef7f improved stability w.r.t. cfgs and ctrl entities expansion across changes 2025-02-21 18:14:02 -08:00
Ryan Fleury 03337a7280 more convergence on lister/queries 2025-02-21 13:01:28 -08:00
Ryan Fleury 9e0fe942e6 allow base/opl style slices in slice view rule 2025-02-21 10:20:11 -08:00
Ryan Fleury 92df402ad1 member filtering 2025-02-20 18:46:22 -08:00
Ryan Fleury 428a3f2536 always prefer explicitly attached tags (view rules); give all tags a chance in sequence; allow 'default' to be explicitly attached, to disable auto-view-rules etc. 2025-02-20 16:38:27 -08:00
Ryan Fleury ec782fa39c correct tag poisoning in lookup-rule tag usage within ir generation, allow lookup-rules to call dependent irgens 2025-02-20 16:26:40 -08:00
Ryan Fleury 13bfa42acf more work on watch-window-driven file lister 2025-02-20 14:49:25 -08:00
Ryan Fleury f61d87e0ce extend command info with query expressions for lister 2025-02-19 17:09:48 -08:00
Ryan Fleury a8f72dd5f1 progress on per-view searching operation - will be specialized & used for replacements for finding text, for going to line/address, and filtering in query views 2025-02-19 11:33:16 -08:00
Ryan Fleury 9805f8cd20 begin work on lister-flavored watch windows; begin on using that for the query ui 2025-02-19 08:37:34 -08:00
Ryan Fleury 2636f296cc simplify stylized watch row building rules; allow buttons to be editable, maintain expr key stability even in different watch row styles 2025-02-17 09:48:26 -08:00
Ryan Fleury 5d8e6dac91 begin working on watch window stylization for file system evaluations 2025-02-16 22:16:59 -08:00
Ryan Fleury c77f2de156 more work on file evaluation; move eval_string <-> eval <-> file_path to formal filesystem/file spaces, rather than inferring from the expression tree; imply '.data' when generating file contents visualizer tabs 2025-02-16 18:36:45 -08:00
Ryan Fleury 5e98e40af7 file/folder evaluation work 2025-02-16 17:57:00 -08:00
Ryan Fleury 7d84ec79c5 formalize file/folder evaluations; use set-types for files/folders so that we can evaluate both file metadata & contents, rather than just assuming the contents; adjust slice view rule to just expand to the contents, rather than achieving the slice with a changed type 2025-02-16 14:13:48 -08:00
Ryan Fleury c603457460 dead code deletion, begin extending eval/eval-viz to work on expr-chains rather than single expressions; fixes / convergence for watch window 2025-02-15 18:11:22 -08:00
Ryan Fleury b7f6b301ec eliminate unnecessary complication for debugger query evaluations; formalize them in the schemas, use set-hook rule to automatically plug in querying functions for them 2025-02-15 14:52:40 -08:00
Ryan Fleury f58c13b3a0 plug full data member calculation path & padding member visualization back in 2025-02-13 15:26:21 -08:00
Ryan Fleury 863d98c43e do the same reuse of the computed irtree for array-index expr extensions 2025-02-13 08:13:53 -08:00
Ryan Fleury 50b195deb3 eliminate member-expr-extension irtree/oplist/etc. recomputations; just convert lhs irtree to bytecode and attach that to new expr as a leaf bytecode 2025-02-13 06:51:50 -08:00
Ryan Fleury 312ddd5899 fix array-index ir tree generation - was incorrectly applying array value rules to address value evaluations; plug in ir-generation hooks for slices, arrays, etc.; eliminate old view rule code 2025-02-11 15:25:42 -08:00
Ryan Fleury 29033fe6cc fix incorrect type usage in default lookup-range eval path; fixes broken pointer/reference expansions to structs/unions/classes 2025-02-10 16:14:11 -08:00
Ryan Fleury d48cd460d1 begin prepping watch window ui for reintroduction of fancy rows; extend target/thread evaluations with .environment & .call_stack sketch; more convergence progress 2025-02-10 12:15:03 -08:00
Ryan Fleury 4b85df0725 fix expr chain parsing; fix panel tree building 2025-02-10 09:44:32 -08:00
Ryan Fleury 90c86dc812 eval/eval-viz: pull out rules for mapping exprs/irtrees -> lookup/expansion rules; use this path in the single-line value string generator; eliminate old non-view-rulified string generation paths 2025-02-04 13:20:25 -08:00
Ryan Fleury afd113adcc rd: derive schema tree parse on startup rather than recomputing every time 2025-02-04 12:16:28 -08:00
Ryan Fleury b9756d222a eval: sketch out parse/ir cache 2025-02-04 10:29:52 -08:00
Ryan Fleury 657b78c4ef eval: separate ir_ctx -> ir_state & ir_ctx; ir_state for implicit thread-local caching mechanisms for eval, ir_ctx for explicitly supplied user info 2025-02-04 09:57:13 -08:00
Ryan Fleury 9a405bee20 eval: lookup info hook -> just pass irtree, do not recompute; cache for type-key -> auto hook tag exprs; use tags/auto-tags in lookup rule for . operator; fix tag poisoning in ir generation pass; cache for type-key -> unpacked type info; replace all unpacked type info paths with cache usage 2025-02-03 13:21:08 -08:00