Commit Graph
140 Commits
Author SHA1 Message Date
Nikita Smith 8005c31276 remove x86 register code 2025-12-05 16:39:02 -08:00
Ryan Fleury f396b2eaa3 start dwarf -> rdi cleanup; eliminate some assertions-as-validation, remove incorrect assumption that line info addresses are vaddrs (they seem to be voffs) 2025-11-10 15:06:52 -08:00
Ryan Fleury b1a91b8247 adjust expiration timeouts for searches; fix unnecessary lowercasing when generating paths from pdbs 2025-10-23 16:41:08 -07:00
Ryan Fleury c318c10486 pipe through guids in rdi conversion; sketch out 'query' meta cfg evaluation members, which are not stored but computed, but are not sets; plug in debug info guid evaluation that way 2025-10-23 12:10:23 -07:00
Ryan Fleury b371bff6f2 do not skip basic itypes when building type building dependency chains! 2025-10-20 14:52:10 -07:00
Ryan Fleury d9d321c074 mask off name map builds 2025-10-15 15:34:08 -07:00
Ryan Fleury d6a7c8bd00 adjust chunk sizes for per-sym-stream symbol chunk lists 2025-10-15 15:21:42 -07:00
Ryan Fleury 9377efbe13 eliminate rest of p2r_shared usage, just use lane syncs 2025-10-15 14:21:32 -07:00
Ryan Fleury d347e2473b eliminate most reliance on p2r_shared for shared data - isolate scratch allocations, pull into scratch arenas, pop when possible 2025-10-15 14:07:42 -07:00
Ryan Fleury 0d06b7d2d2 regrel32: interpret rbp-relative offsets as potential parameters as well (this only shows up with /ZI - usually everything is rsp-relative) 2025-10-14 10:13:44 -07:00
Ryan Fleury c1e32b93a7 switch from variable size checksum data sections to just making well-defined fixed size ones for all of the concrete cases 2025-10-02 15:43:01 -07:00
Ryan Fleury 56b5792546 rdi checksum kinds, rdim checksums, pull parsed checksum kinds/values from cv, fill out rdim checksums (still haven't put into rdi itself yet) 2025-10-02 13:40:45 -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 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 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 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 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
Ryan Fleury 8b83e5ef48 more non-determinism & bug fixes in name map & idx run map building 2025-09-05 15:19:29 -07:00
Ryan Fleury 4c3bb98c64 more determinism fixes 2025-09-05 15:19:29 -07:00
Ryan Fleury 27f2acd45d further progress/fixes on pdb -> rdi determinism 2025-09-05 15:19:29 -07:00
Ryan Fleury 27d4793900 fix line table building non-determinism 2025-09-05 15:19:29 -07:00
Ryan Fleury f093ba9d35 fix src file path gathering determinism - was caused by interleaving each lane's non-inline and inline file paths - with different thread counts, these subdivisions will be different, so the order will change 2025-09-05 15:19:29 -07:00
Ryan Fleury 955f033043 fix incorrect idx run baking; slots need to be laid out based on *idx counts*, rather than *value counts*! 2025-09-05 15:19:29 -07:00
Ryan Fleury 3b1aae44d0 location info baking 2025-09-05 15:19:29 -07:00
Ryan Fleury 71cbdba76e remove old section requirement part of rdi, since all sections are now fixed; unit/scope/global vmap baking; collapse chunk list impls 2025-09-05 15:19:29 -07:00
Ryan Fleury e4ac3febd0 finish new udt baking; pull members & enum vals out of sub-udt lists, makes it much harder to layout & parallelize - instead pull them aside into their own chunk lists, require that UDTs just point to their first member; that way we can go wide when baking UDT members/enum-vals 2025-09-05 15:19:29 -07:00
Ryan Fleury b169090dc6 checkpoint on new rdi baking; line table baking, string map building, plug in radsort over bad radix sort; arena tweak to aovoid unnecessary zeroes 2025-09-05 15:19:29 -07:00
Ryan Fleury 69d0da9586 checkpoint on moving all of radbin to wavefront-style, first step to going wide on rdi baking as well 2025-09-05 15:19:28 -07:00
Ryan Fleury be5634c448 p2r2 - final conversion output bundling 2025-08-19 17:02:05 -07:00
Ryan Fleury cdec8d5980 ctrl/demon: fastfail exception codes / notes; p2r2: finish symbol conversion etc. in new wavefront-style version 2025-08-19 16:47:12 -07:00
Ryan Fleury cff69f287a p2r2 more progress; src file line sequence equipping, sketch out symbol conversion - we unfortunately cannot currently easily subdivide units! we need to pull out the few 'record-range' concepts and make them flat first, e.g. proc base address for inline sites, frameproc info, etc. 2025-08-18 16:58:05 -07:00
Ryan Fleury 83d4afabd5 p2r2: types building 2025-08-18 16:28:22 -07:00
Ryan Fleury 0fa45fe71b p2r2: reslice per-lane work; bucket subsets of units by record count, rather than assigning units to lanes 2025-08-18 15:24:25 -07:00
Ryan Fleury 55f21018df unit conversion, line info conversion 2025-08-18 14:19:48 -07:00
Ryan Fleury 34cb8ded2c better uniform lane range distribution when count / lanes is not cleanly divisible; plug in source file path gathering 2025-08-18 12:01:55 -07:00
Ryan Fleury d52b6d7bca go wide on msf stream extraction 2025-08-18 11:36:33 -07:00
Ryan Fleury d0ece7bc57 hook up p2r2 to radbin 2025-08-18 11:26:05 -07:00
Ryan Fleury e566b2ed30 checkpoint on wavefront-style pdb -> rdi converter 2025-08-15 16:50:28 -07:00
Ryan Fleury 83650a5fe0 support unsigned -> unsigned int; support as-style casts in expressions; pack int alias in pdb-produced rdis 2025-08-15 10:56:42 -07:00
Ryan Fleury c4374810cb fix wrong void type in pdb -> rdi 2025-08-05 13:41:10 -07:00
Ryan Fleury 31973ac2ac eliminate extra type stuff in rdim, organize / reslice dwarf conversion code, start reading through dwarf conversion 2025-08-04 14:19:17 -07:00
Ryan Fleury 66d5d93fc9 build path tree via non-case-mutated (non-normalized) src file paths in rdi build; still sanitize paths, but do not normalize them until we actually have to build the normalized file path map build 2025-07-23 17:18:54 -07:00