Commit Graph
100 Commits
Author SHA1 Message Date
Ryan Fleury d842da0b2e checkpoint on wide all-debug-info fuzzy searching cache 2025-09-29 17:21:37 -07:00
Ryan Fleury 4d30933c44 debug info load gen, to easily key anything based on entire set of loaded debug info 2025-09-29 17:15:03 -07:00
Ryan Fleury d2678db25f first pass at new wide async all-debug-info fuzzy searching 2025-09-29 17:09:44 -07:00
Ryan Fleury 768755b0a4 equip conversion subprocesses with info to signal parent on completion, + plug into a wakeup thread, which can re-trigger the async wavefront. also fix duplicate line counts in text parsing 2025-09-29 16:38:57 -07:00
Ryan Fleury 3a409f5ab3 throttle new conversion process launches based on available system-wide threads, with heuristic threshold of oversubscription; tweak size -> thread count heuristic 2025-09-29 16:07:16 -07:00
Ryan Fleury 92809ee6b6 new debug info loading layer debugging & fixes 2025-09-29 15:07:08 -07:00
Ryan Fleury 08904c9e2d another checkpoint on new dbg info loading 2025-09-29 14:51:28 -07:00
Ryan Fleury 46527c8465 checkpoint in new debug info layer: 16-byte key (set up to use GUIDs or otherwise unique keys at the base), better control over oversubscribing cores for conversion, better prioritization of conversions 2025-09-29 14:12:33 -07:00
Ryan Fleury d7fc7d1fa9 handle aliases gracefully in eval expansion & string iterator 2025-09-26 16:23:17 -07:00
Ryan Fleury eda4f6bafa preserve & visualize restrict type modifiers in eval 2025-09-26 15:32:13 -07:00
Ryan Fleury 5fa3efe76a bugfix evictions, correctly maintain downstream content hash counts 2025-09-26 15:09:47 -07:00
Ryan Fleury ad9c67ae43 eliminate old caches from ctrl layer 2025-09-26 13:44:19 -07:00
Ryan Fleury b2acc13fb8 eliminate old async call stack computation / call stack cache code 2025-09-26 12:00:25 -07:00
Ryan Fleury 99195282f1 async call stack tree computation -> artifact cache 2025-09-26 11:57:08 -07:00
Ryan Fleury 9033ad8a2e no dashes in guid formatting in breakpad output; also include age 2025-09-26 11:44:42 -07:00
Ryan Fleury cd7e2d3f89 breakpad dumping: include pdb name if missing exe name, include pdb guid if no exe hash 2025-09-26 11:37:07 -07:00
Ryan Fleury 9ad7361cb9 thin out needed entities for call stack build; fix unnecessary re-loops on async threads 2025-09-25 17:07:02 -07:00
Ryan Fleury 88eddce324 same for clang 2025-09-25 16:42:26 -07:00
Ryan Fleury b1b03ebd56 turn on opt:ref and opt:icf for all builds 2025-09-25 16:38:42 -07:00
Ryan Fleury d1845bf51f no_inline on entry_point 2025-09-25 15:52:58 -07:00
Ryan Fleury 366c63e3ce extend artifact cache loop with an early-out cancellation path, when new high priority requests have been pushed, while low priority ones are still being worked on 2025-09-25 15:35:22 -07:00
Ryan Fleury c4bf855af9 extend artifact cache nodes with last requested vs. last completed gen; pass last requested gen to artifact creation to support cancellation 2025-09-25 14:59:29 -07:00
Ryan Fleury 05fbd06f82 delete dead code, dbgi -> dbg_info 2025-09-25 11:57:23 -07:00
Ryan Fleury 6d39a66672 eliminate ptr graph cache experiment 2025-09-25 11:52:33 -07:00
Ryan Fleury f61cd2b673 fix use of unused layers 2025-09-25 11:47:56 -07:00
Ryan Fleury 7990b043a0 eliminate geo cache, replace with trivial use of artifact cache defined by geo visualizer 2025-09-25 11:47:31 -07:00
Ryan Fleury d8fcbcd868 eliminate texture_cache; replace with trivial usage of artifact cache, in raddbg layer defining the bitmap visualizer, which was the only usage 2025-09-25 11:40:35 -07:00
Ryan Fleury b4d672efba flag ctrl memory reads as high priority 2025-09-25 11:20:14 -07:00
Ryan Fleury a338b3413e artifact cache fixes, move ctrl process memory streaming to artifact cache 2025-09-25 10:35:47 -07:00
Ryan Fleury ca7bfab7ea bucket artifact cache requests by wideness/priority; do high/wide, high/thin, low/wide, low/thin 2025-09-24 17:08:08 -07:00
Ryan Fleury 10e8a10d9b adjust new call stack artifact cache hooks to work gracefully with terminated threads/processes 2025-09-24 16:06:46 -07:00
Ryan Fleury 3dc3707b22 maintain fs change gen alsog 2025-09-24 15:41:00 -07:00
Ryan Fleury bdfd4c14ae eliminate old file stream cache, just use simplified cache for linting filesystem changes; otherwise switch everything to artifact cache 2025-09-24 15:40:11 -07:00
Ryan Fleury 684f6344c5 switch to old call stack cache for now 2025-09-24 15:08:07 -07:00
Ryan Fleury 4b335103bc begin moving call stack computation / cache to artifact cache; fix incorrect broadcast val location 2025-09-24 15:04:45 -07:00
Ryan Fleury 0679b4b04c #if 0 out old evictor thread for ptr graph 2025-09-24 13:43:51 -07:00
Ryan Fleury fa0b2440ec subset flag for constants conversion; fix empty-tpi-hash case 2025-09-24 12:42:04 -07:00
Ryan Fleury 7f2a066e8f tear out old file stream tick; switch disasm to using new file stream for interleaved text lines 2025-09-24 12:09:59 -07:00
Ryan Fleury 8e68187107 fix incorrect file artifact reading offsets; switch file eval reads to new artifact cache 2025-09-24 11:53:52 -07:00
Ryan Fleury 5f883860e0 move part of file evaluations onto new async file reads 2025-09-24 11:50:53 -07:00
Ryan Fleury e7368af35c artifact cache waitable cache access; debugging / fixes; start plugging in file stream to artifact cache 2025-09-24 11:25:18 -07:00
Ryan Fleury 7e05a60ffe checkpoint on more artifact cache port of ctrl process memory streaming 2025-09-23 17:05:45 -07:00
Ryan Fleury 141b6c1396 sketch out artifact cache hooks for file streaming layer 2025-09-23 11:58:00 -07:00
Ryan Fleury 6cdce22284 expand artifacts a bit more, to be more useful with larger-than-ptr but not huge allocations 2025-09-23 11:27:56 -07:00
Ryan Fleury 9787c698e6 sketch out new async path for ctrl memory streaming 2025-09-23 10:58:17 -07:00
Ryan Fleury 2ce581fa19 more subset flag respecting 2025-09-22 17:39:26 -07:00
Ryan Fleury 5c1cf77fda respect subset flags in pdb -> rdi converter 2025-09-22 17:32:05 -07:00
Ryan Fleury 8078b90f51 text_cache / dasm_cache -> text / disasm 2025-09-22 16:52:55 -07:00
Ryan Fleury 408c57639a eliminate dasm cache hook calls 2025-09-22 16:23:11 -07:00
Ryan Fleury 6ac8c588f7 eliminate old disasm cache code 2025-09-22 16:22:33 -07:00
Ryan Fleury 4b1939bd6d provide u64 broadcasting mechanism in base layer wavefront lane context, allows more flexible data sharing mechanism which does not depend on statics; reshape dasm building codepath for clicking into artifact cache 2025-09-22 16:21:30 -07:00
Ryan Fleury 8a1e6ab2e6 extend artifact cache with non-key-included generations, to allow gracefully decaying certain computations 2025-09-22 15:25:01 -07:00
Ryan Fleury 811e58c249 progress on single async-filled computation artifact cache; hook up to text cache layer, eliminate bespoke cache for text only 2025-09-22 15:13:31 -07:00
Ryan Fleury 9459327687 pull out table stripe arrays as base layer primitive; unified 'artifact cache' experiment 2025-09-22 14:07:21 -07:00
Ryan Fleury aa0eec5763 prevent focusing null window, which was causing weird input event stealing on run... 2025-09-19 16:58:41 -07:00
Ryan Fleury 1745ad4758 eliminate old profiling markup 2025-09-19 16:55:07 -07:00
Ryan Fleury 53054e5add fix incorrect loop-again logic on async threads 2025-09-19 16:41:49 -07:00
Ryan Fleury 8fa01d3e30 expand access scope touches to automatically record update clock idx touch time, + timestamp; move texture cache to new async wavefront 2025-09-19 15:31:30 -07:00
Ryan Fleury 8e2ceeee9e provide mechanism to not wait at top of async loop 2025-09-18 16:20:17 -07:00
Ryan Fleury 30ae9620f9 eliminate ptr graph scope; simplify dasm cache eviction loop 2025-09-18 15:59:21 -07:00
Ryan Fleury 4e99312b75 eliminate tex_scope; fold into access 2025-09-18 15:53:00 -07:00
Ryan Fleury c5bcdbf232 eliminate geo_scope, fold into base layer's 'access' construct 2025-09-18 15:40:13 -07:00
Ryan Fleury 2131e792a1 eliminate text cache scope; fold into base layer's 'access' construct 2025-09-18 15:25:11 -07:00
Ryan Fleury 1b93dbd4bd promote content scope to base layer, rename as 'access'; generalize based just on list of scope refcounts, + optional cvs; eliminate c_scope; replace dasm_scope with access as well 2025-09-18 15:21:22 -07:00
Ryan Fleury 5381307e90 hash_store -> content 2025-09-18 14:42:25 -07:00
Ryan Fleury 364e15491c switch from static lane distribution in file/dasm to dynamic counter 2025-09-18 14:19:00 -07:00
Ryan Fleury 7c08d6846b dasm cache in new async wavefront 2025-09-18 11:18:36 -07:00
Ryan Fleury 0c1010b72d move hash store eviction to base layer async wavefront; start dasm transition 2025-09-17 16:38:14 -07:00
Ryan Fleury 7d7edd7cf7 renormalize line endings 2025-09-17 15:21:24 -07:00
Ryan Fleury 6abdadcccb garbage collect window states on quit as well 2025-09-17 14:50:06 -07:00
Ryan Fleury 0d15b8670b eliminate bifurcated rw lock path based on exclusive mode; promote thread operations to base layer, use os layer as impl; first pass on moving file streaming layer to base layer's async wavefront 2025-09-17 14:47:55 -07:00
Ryan Fleury 99c989a3c3 first pass at setting up base layer async thread path 2025-09-17 10:06:21 -07:00
Ryan Fleury 443646b356 rdi make: fix incorrect base encoding offset initialization when pushing into new location chunk 2025-09-16 12:28:33 -07:00
Ryan Fleury 49bcb252d9 remove year from license 2025-09-16 11:51:10 -07:00
Ryan Fleury c5a1da5c80 bump to 22 2025-09-16 11:48:00 -07:00
Ryan Fleury 3ab9f72c76 readme pass 2025-09-16 11:47:04 -07:00
Ryan Fleury 937c6c8bce eliminate radcon, eliminate unused string helpers 2025-09-16 10:17:02 -07:00
Ryan Fleury 1b82c52803 only enable priority thread running on initial run loop; do not pay the cost every run loop iteration 2025-09-15 17:18:59 -07:00
Ryan Fleury 2a8ca37cb3 record & restore target window on runs 2025-09-15 14:10:30 -07:00
Ryan Fleury c7bb49092f radbin dump: isolate output bundling on lane 0 2025-09-15 13:28:43 -07:00
Ryan Fleury cf94b3757e wide rdi dumping 2025-09-15 13:02:32 -07:00
Ryan Fleury 26606d7895 do not strip enums/aliases on array index ops 2025-09-15 11:32:22 -07:00
Ryan Fleury e021079d05 bump rdi encoding version 2025-09-09 08:28:08 -07:00
Ryan Fleury 80b65bc0fb fix treatment of unitless pdbs 2025-09-08 16:06:45 -07:00
Ryan Fleury 40d6ce2f59 do not return zeroes for top-level structures in pdb parser; ensure you have a top-level readable pointer, always 2025-09-06 09:53:04 -07:00
Ryan Fleury 0c161f83c7 fix clang 2025-09-05 17:09:01 -07:00
Ryan Fleury 23a68faadd rdim2 -> rdim; p2r2 -> p2r 2025-09-05 17:06:19 -07:00
Ryan Fleury 51ef166e60 eliminate all old conversion/baking code 2025-09-05 17:02:56 -07:00
Ryan Fleury 78530fb10d merge p2r2 into original p2r, delete old conversion path; replace pdb -> breakpad converter & dependency on old converter 2025-09-05 16:35:35 -07:00
Ryan Fleury a2b4e7bdc5 fix missing null voff in scope voff data section 2025-09-05 16:02:38 -07:00
Ryan Fleury 4eca7f7fea source file / source line map baking 2025-09-05 15:19:30 -07:00
Ryan Fleury efb24fb0fa checkpoint on src file / src line map baking 2025-09-05 15:19:30 -07:00
Ryan Fleury d2e6e5de5a oops - fix non-allocation in previous part 2025-09-05 15:19:30 -07:00
Ryan Fleury 15e9cda7d2 new location info baking, new constants baking 2025-09-05 15:19:30 -07:00
Ryan Fleury ee8dc27428 location data / location block baking 2025-09-05 15:19:30 -07:00
Ryan Fleury cd77ddb1b7 pdb converter - new location info building for all cases 2025-09-05 15:19:30 -07:00
Ryan Fleury 6f9b22b258 plug in new location building code to pdb conversion 2025-09-05 15:19:30 -07:00
Ryan Fleury cc9f45299a eliminate separate chunk list for location cases 2025-09-05 15:19:30 -07:00
Ryan Fleury fa05bbf2a5 udt member/enum-val layout & nested baking; use rio to pre-fault all commits 2025-09-05 15:19:30 -07:00
Ryan Fleury a84142ed77 re-nest enum vals & members into udts; we want to keep the building API flexible with order of member building, and we can assume ~statistically-uniform distribution across all udts, so it makes more sense to just parallelize on udts, and pay the small cost of an upfront per-lane layout. 2025-09-05 15:19:30 -07:00