Commit Graph

53 Commits

Author SHA1 Message Date
Ryan Fleury b6eb13761f fix breakpad_from_pdb build; robustify to typeless global vars 2024-04-25 11:53:23 -07:00
Ryan Fleury 56bc399fd5 initial pass for compression in converter; decompression in debuggerdbgi layer 2024-04-10 09:33:55 -07:00
Ryan Fleury 693d20ec1a fix incorrect generation of modifier flags, container types, and out-of-order pointer/modifier types in new pdb -> raddbgi converter. fixes many 'nil type' issues, missing this ptr, etc. 2024-03-30 19:29:16 -07:00
Ryan Fleury 60e1f105e4 raddbgi: correctly encode bitfields; type_graph: correctly stringify bitfield types 2024-03-29 09:22:13 -07:00
Ryan Fleury 091269b1d8 eliminate synchronous per-thread string map building, just do it as-needed on each thread; 2024-03-04 11:53:12 -08:00
Ryan Fleury 4d6860b3a1 raddbgi_from_pdb/raddbgi_make: kill old synchronous string map code; naming pass 2024-03-04 11:14:54 -08:00
Ryan Fleury 778f4eb08d raddbgi_from_pdb: complete initial parallelization pass over string map building, joining, & sorting 2024-03-04 11:02:48 -08:00
Ryan Fleury 1ea3a14a50 shift to slice-granularity of string map gathering, rather than chunk-granularity - gives a bit more flexibility. set up pdb converter type name gathering tasks for slice subdivision. before going forward with this plan it's imperative that we start sparsely allocating these name maps... 2024-02-28 16:48:25 -08:00
Ryan Fleury e94b530758 new bake string map gathering/merging passes & async usage in converter 2024-02-28 15:51:17 -08:00
Ryan Fleury 0916c2a3c8 first pass at bake string chunk list, bake string chunk list map, and bake string chunk list sorting paths/datastructures - basic machinery for going wide on the string/name map builds 2024-02-28 13:27:48 -08:00
Ryan Fleury 03763e3444 raddbgi_from_pdb/raddbgi_make: split top-level units baking from per-unit baking; do per-unit baking wide 2024-02-26 12:15:18 -08:00
Ryan Fleury 0e352f92df separate per-name-map baking stages from each other, and from top-level name map section build; do them all independently 2024-02-22 14:45:09 -08:00
Ryan Fleury 50f7d53db2 eliminate unnecessary copy in raddbgi string map interner 2024-02-22 14:15:23 -08:00
Ryan Fleury b508489416 clean up old transitionary code 2024-02-22 10:03:26 -08:00
Ryan Fleury a5493d5edb appease the clang gods 2024-02-21 16:48:22 -08:00
Ryan Fleury c7e80ee135 raddbgi_from_pdb: move all top-level baking phases to task system threads. still a lot of improvement to do, these are top-level tasks and there is a lot of work *within* these tasks that is happening serially unnecessarily, but this is a good first step to parallelizing the bake. 2024-02-21 16:27:29 -08:00
Ryan Fleury 6a49672904 raddbgi_from_pdb: idx run baking; raddbg: catch up to new converter interface 2024-02-21 15:23:35 -08:00
Ryan Fleury 2dd4526dd9 raddbgi_from_pdb: path tree & string baking 2024-02-21 15:12:08 -08:00
Ryan Fleury f2cf518231 raddbgi_from_pdb: name map baking, small fixes with new baking strategy 2024-02-21 14:55:50 -08:00
Ryan Fleury 41b1f1c7e3 raddbgi_from_pdb: organize new baking path, which does all independent section list builds separately; do first pass of baked string map building 2024-02-21 14:36:15 -08:00
Ryan Fleury f93b71d8c3 raddbgi_from_pdb: untangle all baking stages - move almost all baking stages to a strictly read-only path of strings, idx runs, and so on. make section layout, given some loose input baking params, completely deterministic & well-defined, such that section list building for each stage of baking can be completely independent 2024-02-21 13:43:56 -08:00
Ryan Fleury 25ef98a98c raddbgi_make: eliminate old bake src files, switch over completely to user-specified src files; enforce nil entries in all tables for all cases 2024-02-21 10:36:22 -08:00
Ryan Fleury 529262d471 begin untangling source file & path tree building in converter/maker/baker; this cannot happen as another implicitly-mutated-context thing that magically happens behing a top-level 'baking' function. instead, this needs to be constructed according to the rules of the user, and passed to baking stages as a batch 2024-02-20 16:32:09 -08:00
Ryan Fleury 7581a6866d raddbgi_from_pdb: overlap link name map building with type info building, since they are independent streams of work 2024-02-20 15:13:22 -08:00
Ryan Fleury 923714c3c9 raddbgi_make: split final blob flattening & encoding from 'baking' phase 2024-02-20 14:07:58 -08:00
Ryan Fleury 0b73582b87 raddbgi_from_pdb: multithread initial independent parsing/preparation phases of converter 2024-02-19 15:52:26 -08:00
Ryan Fleury 5cd5503db1 raddbgi_make: adjust baking-phase bucket counts based on estimates from parameters 2024-02-19 12:13:42 -08:00
Ryan Fleury 29c21b43af fix busted vmap section size 2024-02-19 11:52:28 -08:00
Ryan Fleury d0fe5b9e04 raddbgi make: export scope voffs section 2024-02-17 10:36:07 -08:00
Ryan Fleury c790ee3de0 fix reversed-order path building 2024-02-17 08:44:55 -08:00
Ryan Fleury 4f9e3bb4f5 clean up / debugging / bugfixes in new converter 2024-02-17 08:41:27 -08:00
Ryan Fleury e9d2cb82b2 eliminate all old raddbgi_make and raddbgi_from_pdb code 2024-02-16 13:46:55 -08:00
Ryan Fleury 626ad29b91 converge raddbg to new conversion/raddbgi-make layers 2024-02-16 13:39:52 -08:00
Ryan Fleury 178719c479 transfer over idx run baking 2024-02-16 13:35:00 -08:00
Ryan Fleury 9cccabfa21 transfer over string baking 2024-02-16 13:33:45 -08:00
Ryan Fleury 3735e82579 source file baking 2024-02-16 13:31:58 -08:00
Ryan Fleury 75263c5833 path node tree baking 2024-02-16 13:29:26 -08:00
Ryan Fleury c64fba90a1 transfer over name map baking 2024-02-16 13:26:43 -08:00
Ryan Fleury 3fb632c23d raddbgi_make: name maps 2024-02-16 13:11:57 -08:00
Ryan Fleury 7597bccd46 raddbgi from pdb: fix chunk list concats 2024-02-16 12:51:17 -08:00
Ryan Fleury 335f22e00b raddbgi_make & raddbgi_from_pdb: solve multithreaded 'indexing' problem - how do we correllate loose pointer relationships, constructed by various threads, with final indices in the baked file 2024-02-16 11:53:03 -08:00
Ryan Fleury a38241ebe0 raddbgi_make: overrideable profile macros; raddbgi_from_pdb: itype name resolution, link anme resolution 2024-02-16 11:18:48 -08:00
Ryan Fleury 5ae9259253 raddbgi_from_pdb: global variable, thread variable, procedure, scope, local, location info baking 2024-02-16 09:04:15 -08:00
Ryan Fleury 7646487a90 raddbgi_from_pdb: type info baking 2024-02-16 07:28:55 -08:00
Ryan Fleury e8ca548360 transfer over unit vmap baking 2024-02-15 16:11:24 -08:00
Ryan Fleury 5f1ab8fdb4 move over per-source-file line info baking 2024-02-15 15:56:20 -08:00
Ryan Fleury c3c1906d43 first pass over raddbgi make baking phase rewrite/cleanup pass, getting off of old cons API 2024-02-15 15:44:24 -08:00
Ryan Fleury a9c5ec8878 symbol conversion passes in new converter 2024-02-15 12:00:02 -08:00
Ryan Fleury a118ff79cd partial first pass over converter & raddbgi make layer rewrites/optimizations 2024-02-14 13:34:39 -08:00
Ryan Fleury f18e236431 a few more raddbgi, raddbgic -> rdi, rdim notes 2024-02-13 16:06:56 -08:00