Commit Graph
59 Commits
Author SHA1 Message Date
Ryan Fleury 0c434583bc eval, local variable resolution -> do not assume offset evaluations. infer evaluation mode from location info 2026-07-27 14:47:40 -07:00
Ryan Fleury e2430fa23e remove redundant incs of xxhash - undef cpuid macro before xxhash is
included, so that we don't have conflicting definitions due to memfun
2026-06-22 13:43:19 -07:00
Ryan Fleury 645cf46e55 explicit process address space evaluation 2026-06-10 11:57:53 -07:00
Ryan Fleury 56ee3bbf7b eval: use resolution qualifiers to express disambiguating debug info, or module, or unit, and use in debug info resolution matching path; automatically prefer selected thread voff's unit 2026-06-02 12:10:43 -07:00
Ryan Fleury 58caf0d3d5 upgrade eval space reads with staleness/bad/change info, to expand process memory cache reading abilities to all evaluation spaces; unmapped address visualization (both memory view & single line eval) 2026-05-13 14:48:00 -07:00
Ryan Fleury aea4a4ff9d eliminate os_core, move into base; eliminate regs, move into arch abstraction layer, define x64 regs in x64 layer; move win32 backend for os core (now base) functionality to top-level win32 layer 2026-05-08 15:21:21 -07:00
Ryan Fleury 9a923e9bf9 d2r2: .debug_loclists parsing, DWARF expression -> RDI location info; first pass at baking frame base into var locations to match simpler PDB behavior; fixes to high-pc address evaluation (based on form kind) 2026-04-29 12:40:43 -07:00
Nikita Smith d607d6377d build fixes 2026-04-20 11:00:54 -07:00
Ryan Fleury 7a59548d5b remove 'Symbols' from section titles, now that old sections are gone 2026-04-20 09:57:33 -07:00
Ryan Fleury 881e19c842 get debugger onto new location info & symbol format 2026-04-20 09:57:33 -07:00
Ryan Fleury 21eb134f24 formalized addr bar in memory view, complete first pass of memory view peek types, various fixes 2026-04-13 14:39:31 -07:00
Ryan Fleury b33a257bc4 switch eval viz stringification, and lister completions, over to working correctly with process-less (but not debug-info-less) evaluations 2025-10-22 16:59:24 -07:00
Ryan Fleury c8c25c0f98 processless debug info loading/unloading; separate modules from dbg infos in eval; keep dbg infos around after debugging via config, correllate to new modules, evict when necessary, when generating new versions 2025-10-22 16:39:29 -07:00
Ryan Fleury 2e8c0875c8 only use type-derived sizes in eval ranges when the evaluation is an offset, not a value 2025-07-28 14:34:46 -07:00
Ryan Fleury 5134d1ce4c adjust eval -> space range mapping to fix a few edge cases 2025-07-28 14:32:47 -07:00
Ryan Fleury 4057e00fa1 further memory view fixes / tweaks; rich hover coverage for virtual address ranges in memory views / watch views 2025-06-06 14:57:46 -07:00
Ryan Fleury 94b969f203 copyright year 2025-06-02 14:13:57 -07:00
Ryan Fleury 7350c2d576 fix trailing wildcard matches 2025-05-28 15:51:15 -07:00
Ryan Fleury f116d88b08 wildcard instance identifier resolution in type views; ?{arg1, arg2, arg3} in type view pattern -> use arg1, arg2, or arg3 in expression 2025-05-28 15:41:48 -07:00
Ryan Fleury 1d72de8c4a pattern parts as strings -> pattern part type, which can include wildcard inst names 2025-05-28 14:52:21 -07:00
Ryan Fleury de3782c974 do not advance wildcard scan position if wildcard match done 2025-05-28 14:42:20 -07:00
Ryan Fleury d0a2c0f22c auto hook list(expr) -> auto hook list(match), where match includes both an expression and a list of comma-delimited wildcard instances 2025-05-28 14:37:44 -07:00
Ryan Fleury 1609c8f948 clean up & fixup pass over type pattern matching, allow closed {}s, ()s, []s, <>s in wildcards 2025-05-28 14:08:53 -07:00
Ryan Fleury 70ccfd2d86 do greedy ? matching in type pattern matching by default 2025-05-28 13:07:18 -07:00
Ryan Fleury 914273d5af hack in quick fix for overambitious type pattern matching - will do a better pass shortly... 2025-05-22 12:29:56 -07:00
Ryan Fleury 258b45a837 eliminate a bit of duplicate font cache lookups in code view build, + eliminate unnecessary per-box color lookups 2025-05-13 15:11:41 -07:00
Ryan Fleury fe3cac7ac3 parameterize irtree generation path with identifier resolution rules; in most cases, we want the usual order: implicit accesses -> locals -> registers -> globals/tlocals/types/procedures -> macros; but if we are specifically evaluating a call expression tree, we want to prefer callables - in this case, macros should be prioritized. 2025-05-12 11:56:57 -07:00
Ryan Fleury f38da420e9 force hover eval in window on X axis only; store expr strings rather than expr trees in auto hook map 2025-05-09 12:51:02 -07:00
Ryan Fleury 80f1a8b7ba enum value filtering / lookup cache 2025-05-07 15:46:59 -07:00
Ryan Fleury 1284c25b9e sketch out better usage of expansion info in text visualizer; notes; naming pass 2025-05-07 08:58:12 -07:00
Ryan Fleury cf33470cb1 fix incorrect usage of type byte size for eval memory range sizes 2025-05-05 10:49:52 -07:00
Ryan Fleury c840071bf8 clean up visualizer default sizes, clean up rough edges of various combos of theme setting / config state 2025-05-05 09:54:29 -07:00
Ryan Fleury 2dbe8d42eb eliminate more old view settings code, simplify new, also clean up the targetless launch flow even more - if we only have one target, but it's inactive, and the user is trying to launch, then it doesn't hurt to just act as if that target was selected, then select it for them... 2025-05-01 17:04:29 -07:00
Ryan Fleury 3a46e66efa expand eval expression tree location info to being based on textual range, rather than just offset 2025-05-01 09:05:42 -07:00
Ryan Fleury 10ff98faa8 fix type pattern matching for auto hooks, improve slice array indexing operations to rely less on the full irtree path (it composes poorly when using combining type views 2025-04-30 10:15:32 -07:00
Ryan Fleury 4cccc9cb42 proper cast parsing, elimninate chained casts entirely 2025-04-29 14:53:35 -07:00
Ryan Fleury 09372bd7c1 color visualizer / theme editing work 2025-04-29 12:15:41 -07:00
Ryan Fleury f4e2728e9c full evaluation expression string computation, use for expression drag/drop - resolve parent expression chain in order 2025-04-29 09:16:26 -07:00
Ryan Fleury bc67abe4ca fix block type extraction in row build; the block tree build resolves evals to whatever types it is using for expansion, but sometimes we need to see types which have been stripped for row building (e.g. tables) 2025-04-29 09:01:09 -07:00
Ryan Fleury 9fdfc7fab9 eval: distinguish irtree 'parents' from 'overrides' - parents are any irtree which some other expression is extending, and overrides are a subset of those, being just the irtrees overridden by auto-hooks. doing this because when we unwind the parent chain, sometimes we do not want to do that for basic expression extensions - we just want to undo the overrides. 2025-04-28 15:37:30 -07:00
Ryan Fleury c62ad20a9a switch cast expressions from being formally represented in the expression tree - instead use cast-like tree shapes to perform casts in the ir/typechecking phase. this is odd, given C's casting syntax, but it is much more natural given that the parser is not any longer doing identifier resolution, and as such it fixes a bunch of nasty edge cases. 2025-04-28 11:50:23 -07:00
Ryan Fleury 2092f5ca69 eval space generation, to gracefully mark cached evaluations as dirty when desired 2025-04-26 12:33:48 -07:00
Ryan Fleury a9685e6b9d pass through eval msgs appropriately in eval cache evaluations; fix rules for reverting to overridden IR trees on usage of 'raw'; more fixes/improvements 2025-04-24 13:04:32 -07:00
Ryan Fleury a35e483629 switch type expansion hooks to being eval-based, not expr/irtree-based 2025-04-24 09:36:00 -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 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 b2ae4d89d7 eval: re-slice helper map data structures -> core 2025-04-02 11:08:27 -07:00
Ryan Fleury 92e68701d0 eval: lookup rule map building; eval: use general 'set' type-kind to specify custom lookup rule; watch: new table <-> stable-point mappings 2025-01-30 10:57:29 -08:00
Ryan Fleury 7cd1d175de deduplicate string escaping paths in eval/cfg/etc 2024-09-13 12:08:22 -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