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
|
4cccc9cb42
|
proper cast parsing, elimninate chained casts entirely
|
2025-04-29 14:53:35 -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
|
0cdcb06db8
|
fix some edge cases in new casting compilation, fix some old usage of cast expr trees
|
2025-04-28 12:11:38 -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
|
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
|
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
|
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
|
f3974b2af7
|
only/omit; disallow chained fastpaths (vs-style ,x ; ,b; ,count) in nested irtree generations
|
2025-04-17 15:36:43 -07:00 |
|
Ryan Fleury
|
ee0c1b25c3
|
eval ir generation: adjust autohook-allowance to be a stack, and correctly disable it for all sub-evaluations when using a raw lens, such that autohooks do not apply for evaluation of the parameter (e.g. raw(foo) -> foo, without allowing mapping of foo to something else)
|
2025-04-14 11:07:18 -07:00 |
|
Ryan Fleury
|
abd33f7160
|
new (and successful :) ) story for 'parent/overridden irtrees'. basically, if we have a rule which maps some eval X's type from A -> B, we preserve the original ir-tree compilation of A in the 'history' when we inevitably produce the ir-tree compilation of B. this can be used for accesses on overridden evaluations, and it allows us to implement $ in auto view rules.
|
2025-04-11 11:58:43 -07:00 |
|
Ryan Fleury
|
b60329c817
|
eliminate view rule column; eliminate 'parent irtree' experiment, need to do something else
|
2025-04-11 11:25:16 -07:00 |
|
Ryan Fleury
|
297c576623
|
irtree parent experiment (failed)
|
2025-04-10 16:20:52 -07:00 |
|
Ryan Fleury
|
0dd0f1b8bc
|
rephrase type irgen hook -> irext, to eliminate cases where it'd be very easy to accidentally cause infinite recursion of ir generation (e.g. slice(x) requiring evaluation of 'lhs.count', where lhs == slice(x)). also bring back slice hooks
|
2025-04-10 15:19:29 -07:00 |
|
Ryan Fleury
|
fbe747a8b4
|
further work on convergence, dead code elimination, and lens (view rule) calls
|
2025-04-10 14:29:57 -07:00 |
|
Ryan Fleury
|
d3f0a9a672
|
checkpoint in moving from old lookup hooks -> new type hooks; elimination of unnecessary recomputation of ir-trees/evals, just use information in already-computed evals
|
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
|
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
|
33de625373
|
eval: register, register alias name mapping in new name resolution pass
|
2025-04-02 14:56:53 -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
|
999eca5e29
|
more old eval trimming
|
2025-03-31 15:41:10 -07:00 |
|
Ryan Fleury
|
1adf280354
|
delete dead code in eval
|
2025-03-31 11:02:17 -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
|
cb6a66b98d
|
member filtering, better visualization for selection state in targets/bps/threads/etc.
|
2025-03-14 13:27:26 -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
|
92df402ad1
|
member filtering
|
2025-02-20 18:46:22 -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
|
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
|
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
|
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
|
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
|
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 |
|
Ryan Fleury
|
59fe6c79cb
|
distinguish root block from non-root blocks; in root case, we do not want to do a lookup-range to generate the block's expression (but in all other cases we do)
|
2025-02-03 10:07:20 -08:00 |
|
Ryan Fleury
|
6f4533d8f5
|
rd: new ctrl entity meta evaluation path; ctrl entity meta evaluation cache; eval: auto-view-rules (via 'auto hook map'), + support for 'type patterns', e.g. for templates; ir generation / typechecking hook application + source-tag coloring (to avoid infinite recursion of repeatedly-applied auto view rules
|
2025-02-02 17:08:14 -08:00 |
|
Ryan Fleury
|
eab5c7c971
|
eval_visualization: eliminate expansion-range hook; move expansions & block tree building completely to new eval hooks for lookups
|
2025-02-02 14:39:43 -08:00 |
|
Ryan Fleury
|
07c9268941
|
eval: specify formal way in which tags (view rules) can fit into expression language, both in parsing & in structure; introduce ir-generation hook step in eval pipeline, transfer most of the default non-vbisualization view rule features to that layer
|
2025-02-01 20:50:31 -08:00 |
|
Ryan Fleury
|
aac93b5952
|
move over all expansion view rules to new eval-system lookup hooks; eliminate most of old hooks
|
2025-02-01 17:37:24 -08:00 |
|
Ryan Fleury
|
5b82fc2339
|
eliminate member-filtering hack for cfg views; eliminate deref-space-ptr hack
|
2025-01-30 15:52:26 -08: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
|
394d35287a
|
fix default lookup rule
|
2025-01-29 17:00:50 -08:00 |
|
Ryan Fleury
|
baa19f3de4
|
begin introducing 'lookup' hook path in eval ir-tree generation, to collapse/universalize all 'access' operations, such that ., ->, and [] operations can be overridden via view rules, for cfg evaluations, and so on
|
2025-01-29 16:41:14 -08:00 |
|