Commit Graph
34 Commits
Author SHA1 Message Date
Ryan Fleury cc099f55aa do not call destroy on caches without a destroy hook :( 2026-05-11 13:30:59 -07:00
Ryan Fleury de35a86505 fix artifact cache replaced-value deletion - this CAN NOT run if the new value == the old value 2026-05-11 13:29:29 -07:00
Ryan Fleury 52da228efe artifact_cache: fix leak of old-generation artifacts, when those artifacts are replaced by newer generation computations. artifacts can opaquely hold things like arena pointers, and so when we replace them in the cache, we need to respect the lookup api's provision of create/destroy hooks for the cache, such that the artifacts can be released correctly (using the destroy hook) before being replaced. this is separate from regular eviction. 2026-05-11 11:49:15 -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
Nikita Smith 13ce0cf020 fix race condition in artifact cache 2025-12-19 17:34:35 -08:00
Ryan Fleury 4ea3c5a0e4 artifact cache cancellation mutex -> semaphore (fixes cancellation thread on linux - we cannot take/drop across threads with mutexes); flip no_meta -> meta 2025-11-07 15:47:15 -08:00
Ryan Fleury bc49b806c1 do not retry artifact computation if cancelled 2025-11-07 10:33:17 -08:00
Ryan Fleury e6c3942ed3 artifact_cache: keep access points that we're waiting for up-to-date, even if we don't get the result, so that they are not prematurely cancelled. 2025-10-23 17:16:13 -07:00
Ryan Fleury ae17084b44 better artifact cache cancellation thread work organization - only do more frequent cancellation scans when in a tick, otherwise sleep 2025-10-23 14:39:44 -07:00
Ryan Fleury 721649b7ea tweak process working set size placement 2025-10-23 14:14:48 -07:00
Ryan Fleury 6bf2d2abb1 artifact cache cancellation mechanism - use in dbgi searching, since this gets huge (& is often not needed quickly after querying) 2025-10-17 14:10:51 -07:00
Ryan Fleury 9022efd3ab new strategy - allow artifact creation to report a completed generation which differs from the requested generation, thus preventing duplicate gen requests (in the case of ctrl process memory) 2025-10-09 11:24:48 -07:00
Ryan Fleury fe6eff9d3b pass requested gen to artifact creation hooks, use to retry ctrl memory reads on many successive mem gen bumps - prevents spurious duplicate hashes in content store history 2025-10-09 10:40:31 -07:00
Ryan Fleury f60ccb60f1 do not attach last successful filter to view state, since does not apply in all cases - fix artifact staleness default marker (if we do not get an artifact at all, then it is stale) 2025-10-07 12:09:14 -07:00
Ryan Fleury 2acf77ad9e fix impossible disasm loading condition; do not go wide on dbgi matching unless we have significant-enough dbgis 2025-10-07 11:34:30 -07:00
Ryan Fleury db66beaf22 correctly interpret conversion completions; single high priority re-loop bit for async threads 2025-10-01 14:32:44 -07:00
Ryan Fleury 5b00aaadaf debugging / fixes 2025-09-30 14:18:11 -07:00
Ryan Fleury bf27344a9b replace extra gen parameters in artifact creation hook; replace with explicit cancellation signal, passed by caller 2025-09-30 11:01:04 -07:00
Ryan Fleury 5fa3efe76a bugfix evictions, correctly maintain downstream content hash counts 2025-09-26 15:09:47 -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 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 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 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 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 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 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