4463 Commits
Author SHA1 Message Date
ed 132cf395b2 Merge remote-tracking branch 'EpicGamesExt/master' 2026-08-07 00:46:42 -04:00
Ryan Fleury 076d41130c fix qualified identifier expression tree buil 2026-07-29 11:40:41 -07:00
Ryan Fleury ba9d36624d lexer fixes; eval2 resolution qualifiers 2026-07-29 11:35:28 -07:00
Ryan Fleury b27585476a fix popup controls 2026-07-28 14:12:27 -07:00
Ryan Fleury 0fe5aa5a43 first pass at watch expr location locks - still some jank around the edges due to eval incompleteness, but works for basic cases 2026-07-28 11:18:00 -07:00
Ryan Fleury ae8960d563 watch lock (ui part, no caching yet) 2026-07-28 07:42:44 -07:00
Ryan Fleury ec520227c5 enforce standalone 'expression' child for watch expressions in cfg tree, adjust eval / ui to work on that child, instead of assuming the first child of a watch expression node is the expression string itself - this will let us tag watch expressions with other info, like project / lock status etc. 2026-07-27 16:02:10 -07:00
Ryan Fleury 0b4c20b165 fix the lack of using contextual cursor info to commit to command parameter registers 2026-07-27 15:50:52 -07:00
Ryan Fleury 81722ebbac fix oob mouse -> line path 2026-07-27 14:47:41 -07:00
Ryan Fleury 41735fbf8b fix mismatched spaces for token/line dragging 2026-07-27 14:47:41 -07:00
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 7fbea68613 fix line-terminated tokens causing incorrect token pt parsing - e.g. unmatched quote in a comment 2026-07-27 14:47:40 -07:00
Ryan Fleury 62241f0d55 fix text search fwds/bwds 2026-07-27 14:47:39 -07:00
Ryan Fleury aa94eb6901 fix find-text-forward 2026-07-27 14:47:38 -07:00
Ryan Fleury 65f5b81d49 fix incorrect multiline hotkey mode setting in text view 2026-07-27 14:47:38 -07:00
Ryan Fleury a27dc03ca2 start meta tokens correctly 2026-07-27 14:47:37 -07:00
Ryan Fleury e55fa733fd mostly restore existing read-only functionality, keep existing patching infrastructure but do not use 2026-07-27 14:47:36 -07:00
Ryan Fleury 9ed2e020e8 checkpoint 2026-07-27 14:47:36 -07:00
Ryan Fleury f247d3c52d fix chunk-up/down 2026-07-27 14:47:35 -07:00
Ryan Fleury 150a2247bb fix page-up 2026-07-27 14:47:34 -07:00
Ryan Fleury 604fe35d91 fix navigations when zero-delta-on-select is enabled in multi-line controls; thread line break parsing 2026-07-27 14:47:34 -07:00
Ryan Fleury 36da346590 binary search for off -> line num 2026-07-27 14:47:33 -07:00
Ryan Fleury c8dae72968 cleanup around single vs. multiline text mutation controls 2026-07-27 14:47:32 -07:00
Ryan Fleury 315e0672d3 checkpoint on text patches 2026-07-27 14:47:31 -07:00
Ryan Fleury bb85f6f692 text patches: checkpoint 2026-07-27 14:47:31 -07:00
Nikita SmithandRyan Fleury cd82268a07 polish ICF section color-space picker 2026-07-27 14:47:30 -07:00
Nikita SmithandRyan Fleury 4235fa85b4 search small libraries on the main thread to reduce wait times in barriers 2026-07-27 14:47:29 -07:00
Nikita SmithandRyan Fleury db0151c3e2 parallel radix sort and coalesce adjacent section contribs 2026-07-27 14:47:29 -07:00
Nikita SmithandRyan Fleury bbb136c9ea radix sort pass over section contribs 2026-07-27 14:47:28 -07:00
Nikita SmithandRyan Fleury 2d827ac15d make const data eligible for ICF 2026-07-27 14:47:28 -07:00
Nikita SmithandRyan Fleury c629c5b10e refactor PDB background file output
Add a shared multi-file background writer with lazy worker startup.
Represent PDB output as a file artifact, keep PDB output state internal
to the builder, and overlap deferred PDB writers with the file maps release.
2026-07-27 14:47:27 -07:00
Nikita SmithandRyan Fleury c96c9620d0 WIP PDB Writer Thread 2026-07-27 14:47:26 -07:00
Nikita SmithandRyan Fleury a73e3e0790 use cycle tracking only on weak and undefined symbols
* profile of /OPT:REF shows that early push to seen_hm dominates the pass;
  cost: 74.23ms -> 6.81ms (-90.8%)
2026-07-27 14:47:26 -07:00
Nikita SmithandRyan Fleury fcee35f3e9 rename RAD_TypeHashAlg; extend /RAD_DEBUG_TYPE_HASH with XXHASH option 2026-07-27 14:47:25 -07:00
Nikita SmithandRyan Fleury 97a1fe6006 radix sort PSI address map 2026-07-27 14:47:24 -07:00
Nikita SmithandRyan Fleury 134cfce799 merge debug info and llvm_addrsig finders into lnk_obj_initer to reduce
time spent in barrier_wait
2026-07-27 14:47:24 -07:00
Nikita SmithandRyan Fleury 4cc0f4813b WIP cache COFF symbol interp 2026-07-27 14:47:23 -07:00
Nikita SmithandRyan Fleury a779d3f1a5 WIP assigned symbols 2026-07-27 14:47:22 -07:00
Nikita SmithandRyan Fleury 493241c1da WIP light COFF symbol table parse 2026-07-27 14:47:22 -07:00
Nikita SmithandRyan Fleury bd2cbfc127 gate for page pre-faulting on windows 2026-07-27 14:47:21 -07:00
Nikita SmithandRyan Fleury cb6443ce4e release file maps before exit in parallel before exit 2026-07-27 14:47:20 -07:00
Nikita SmithandRyan Fleury 58b5b3d92d search chunks only grow while resolving libraries, so revisit only symbols appended since this library's last search 2026-07-27 14:47:20 -07:00
Nikita SmithandRyan Fleury b84d32d9fb optimize ICF refinement and COMDAT handling
Cache immutable section and relocation metadata before color refinement,
then reuse generated-tagged concurrent tables.

Parallelize grouping and fold marking.

Include associative COMDAT descendants in contribution hashes and
canonicalize relocation targets to selected COMDAT leaders.
2026-07-27 14:47:19 -07:00
Nikita SmithandRyan Fleury abfea7c33a update CHANGELOG.md 2026-07-27 14:47:18 -07:00
Nikita SmithandRyan Fleury d1b0bc0af7 refine COMDAT symlink handling
Stop treating COMDAT section-definition symbols as symlink anchors.
Keep zero-sized COMDAT sections only when they have an owned symlink,
so referenced empty COMDAT symbols still resolve while marker sections
like .gsspr/.gssep are skipped.

Update COMDAT/ICF tests to cover zero-sized COMDAT relocation behavior
and the adjusted removed-COMDAT handling.
2026-07-27 14:47:18 -07:00
Nikita SmithandRyan Fleury 8ec931d724 fix import data directory bounds
Include the null import descriptor in the import directory size and derive
the IAT directory RVA from the first import descriptor of the start of
the .idata contribution.
2026-07-27 14:47:17 -07:00
Nikita SmithandRyan Fleury 048b93b166 remove empty sections if it does not have any section contributions too 2026-07-27 14:47:17 -07:00
Nikita SmithandRyan Fleury f3d2792fb8 simplify COMDAT leader symbol patching
Collapse COMDAT leader symbol patching to a single raw-symbol write path
and make the same-object versus cross-object symlink handling explicit.
Preserve public symbol offsets for ICF folds while avoiding cross-object
section number rewrites.
2026-07-27 14:47:16 -07:00
Nikita SmithandRyan Fleury 7197398f31 split external-symbol handling from section-definition fallbacks 2026-07-27 14:47:15 -07:00
Nikita SmithandRyan Fleury d790412219 refactor radlink section gathering
Fold section definition and contributions collection into a worker-count
task with barriers around the serial merge. Share section filtering
between both phases and keep zero-size COMDATs so offset-zero symbols
still map to a section.
2026-07-27 14:47:15 -07:00