Ryan Fleury
|
fe1e0cc2fd
|
move udt info conversion to task threads, divide up itype stream and do it wide
|
2024-02-22 15:49:46 -08:00 |
|
Ryan Fleury
|
bcbd01bf2c
|
eliminate type revisiting task list, just iterate itypes again - in preparation for dividing up the itype stream and doing udt building in parallel
|
2024-02-22 15:37:50 -08:00 |
|
Ryan Fleury
|
34f500ce27
|
push unit conversion & src file gathering to background task threads; dont preemptively join initial independent parses until they are necessary
|
2024-02-22 15:11:13 -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
|
d2adf3e067
|
extend task system with ability to specify per-task arenas, if needed - not necessary in the converter, since it is fire-and-forget, but this will make it more useful for the debugger later
|
2024-02-22 09:48:19 -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
|
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
|
b8a4aeac39
|
raddbgi_from_pdb: offload c13 line info parsing to task threads
|
2024-02-20 13:16:52 -08:00 |
|
Ryan Fleury
|
e7ab92e07c
|
raddbgi_from_pdb: move comp unit contributions parsing out to task threads; move per-comp-unit top-level symbol parsing to task threads
|
2024-02-20 13:09:23 -08:00 |
|
Ryan Fleury
|
53bc258c4a
|
raddbgi_from_pdb: move itype dependency chain building to task threads
|
2024-02-20 12:58:04 -08:00 |
|
Ryan Fleury
|
7e36c25a31
|
fix more async fwd map building bugs; move symbol stream conversion to task system
|
2024-02-20 12:04:57 -08:00 |
|
Ryan Fleury
|
66ef1b3eeb
|
raddbgi_from_pdb: move top-level compilation unit parsing to asynchronous tasks
|
2024-02-20 11:30:01 -08:00 |
|
Ryan Fleury
|
6b2e4abe81
|
unify async task kickoff/await mechanism in first pass of 'task system' layer; use in organizing various independent parsing passes of a pdb; also fix busted multithreaded fwd resolution pass
|
2024-02-20 11:16:54 -08:00 |
|
Ryan Fleury
|
10a0420264
|
raddbgi_from_pdb: parameterize symbol stream conversion pass with sub-range of symbols; this cannot be applied to unit conversion, since they have cross-sym-record concepts, but it *can* be used for global symbol streams, which are also the most expensive to convert. this majorly speeds up global symbol stream conversion
|
2024-02-19 16:41:22 -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
|
8369637026
|
raddbgi_from_pdb: multithread itype forward resolution map building
|
2024-02-19 15:07:25 -08:00 |
|
Ryan Fleury
|
86ee3cb4b6
|
raddbgi_from_pdb: multithread per-unit symbol conversion
|
2024-02-19 14:42:13 -08:00 |
|
Ryan Fleury
|
f7f57a2c7a
|
fix enumerate parsing
|
2024-02-19 11:18:34 -08:00 |
|
Ryan Fleury
|
694e9d27d6
|
raddbgi_from_pdb: adjust itype -> type node building strategy; do initial pass of finding dependent itypes from a given itype, since those *must* be built first in order to comply with raddbgi's rule of type nodes only ever referencing earlier type nodes; then do a single itype build pass where you build all itypes by iterating their dependency chains
|
2024-02-19 11:13:29 -08:00 |
|
Ryan Fleury
|
e44128de96
|
bugfix udt member parsing
|
2024-02-17 21:26:23 -08:00 |
|
Ryan Fleury
|
b93bb5904a
|
more itype generation fixes
|
2024-02-17 17:14:11 -08:00 |
|
Ryan Fleury
|
cfe089de8c
|
eliminate forward reference parsing work in non-forward-reference cases
|
2024-02-17 12:31:15 -08:00 |
|
Ryan Fleury
|
e752eebfc9
|
fix itype conversion
|
2024-02-17 10:50:56 -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
|
5190530417
|
oops, remember units...
|
2024-02-16 13:44:42 -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
|
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
|
b9f010dff6
|
raddbgi_ -> rdi_
|
2024-02-13 15:52:53 -08:00 |
|
Ryan Fleury
|
30d2dea951
|
complete raddbgi_cons -> raddbgi_make
|
2024-02-13 15:38:38 -08:00 |
|
Ryan Fleury
|
db35e09629
|
raddbgic -> rdim (rad debug info make)
|
2024-02-13 15:36:06 -08:00 |
|
Ryan Fleury
|
90dce510cc
|
raddbgi_from_pdb: eliminate unnecessary files
|
2024-02-13 15:16:42 -08:00 |
|
Ryan Fleury
|
fb56951264
|
collapse raddbgi_convert folder into just being separate from_pdb and from_dwarf layers
|
2024-02-13 15:12:40 -08:00 |
|