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
|
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
|
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
|
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
|
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
|
5190530417
|
oops, remember units...
|
2024-02-16 13:44:42 -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 |
|
Ryan Fleury
|
816f94ef71
|
further raddbgi -> rdi naming pass
|
2024-02-13 15:56:30 -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
|
87d9d0be05
|
readme
|
2024-02-13 15:37:27 -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 |
|
Ryan Fleury
|
ecd21d0c1b
|
pdbconv -> p2r
|
2024-02-13 15:05:46 -08:00 |
|
Ryan Fleury
|
67859f228b
|
fix parse error checks in raddbgi_from_pdb
|
2024-02-13 14:37:59 -08:00 |
|
Ryan Fleury
|
348034a490
|
reading/cleanup/organization pass over main symbol conversion pass in raddbgi_from_pdb; automate & table-drive a few pieces via metacode tables
|
2024-02-13 14:26:01 -08:00 |
|
Ryan Fleury
|
725481fcc7
|
fix codeview struct
|
2024-02-13 13:36:15 -08:00 |
|
Ryan Fleury
|
608055e447
|
metagen: simplify catchall generations; move some codeview enums into metacode; generate enum->string code
|
2024-02-13 13:27:02 -08:00 |
|
Ryan Fleury
|
66a24a226a
|
adjust contain -> center cursor threshold
|
2024-02-13 11:42:20 -08:00 |
|
Ryan Fleury
|
9c7fd0a411
|
metagen: simplify & straighten out table generation further; raddbgi_cons: fix incorrect str8_list_join
|
2024-02-13 11:38:43 -08:00 |
|
Ryan Fleury
|
348e93162a
|
metagen: simplify & unify error gathering & printing path
|
2024-02-13 11:26:31 -08:00 |
|
Ryan Fleury
|
1d9dc2b9a9
|
metagen: simplify data tables
|
2024-02-13 11:16:45 -08:00 |
|
Ryan Fleury
|
742d2387e2
|
metagen: simplify metacode structs
|
2024-02-13 11:00:58 -08:00 |
|
Ryan Fleury
|
ea840a71e8
|
metagen: simplify enum generation; reading/organization pass over raddbgi_from_pdb
|
2024-02-13 10:55:06 -08:00 |
|
Ryan Fleury
|
4a9e5512f6
|
fix this_function_name macro
|
2024-02-13 09:56:46 -08:00 |
|
Ryan Fleury
|
ac30c8a84b
|
add codeview/msf/pdb notes to readme
|
2024-02-13 09:53:52 -08:00 |
|
Ryan Fleury
|
7defce94c7
|
float codeview, msf, pdb layers up as regular codebase layers, and out of converter-specific code; clangify some builds
|
2024-02-13 09:51:50 -08:00 |
|
Ryan Fleury
|
017116aee9
|
formalize codebase's library exports; document in README
|
2024-02-13 09:27:52 -08:00 |
|
Ryan Fleury
|
8c70b5efc9
|
raddbgi_cons: get building standalone, without base layer; complete first pass of librarification
|
2024-02-13 08:58:10 -08:00 |
|
Ryan Fleury
|
4aa2cb655b
|
further progress on raddbgi cons librarification
|
2024-02-12 21:05:05 -08:00 |
|
Ryan Fleury
|
440dcf21a2
|
further raddbg_cons librarification
|
2024-02-12 20:32:20 -08:00 |
|
Ryan Fleury
|
2a85e1d37d
|
raddbgi cons: more overrides work
|
2024-02-12 19:10:31 -08:00 |
|
Ryan Fleury
|
7022c58018
|
begin libraryifying raddbgi_cons; switch to raddbgi_format types, or overrideable base-layer-style types; just override & include in codebase-local inclusion sites. next step is to break out this stuff, along with stringization, into a raddbgi helper layer
|
2024-02-12 16:17:54 -08:00 |
|
Ryan Fleury
|
840e1da5f3
|
update github workflows to new debug info naming
|
2024-02-12 15:26:06 -08:00 |
|
Ryan Fleury
|
02825f3b3e
|
move raddbgi stringize into standalone layer
|
2024-02-12 15:22:41 -08:00 |
|
Ryan Fleury
|
cf19b13b78
|
dump -> raddbgidump
|
2024-02-12 15:19:20 -08:00 |
|
Ryan Fleury
|
ad4003e70d
|
cons -> raddbgic
|
2024-02-12 15:17:23 -08:00 |
|
Ryan Fleury
|
5c33c410d3
|
flatten cons api; eliminate private/public distinction
|
2024-02-12 15:11:20 -08:00 |
|
Ryan Fleury
|
d35bdf2128
|
adjust readme for new debug info naming convention
|
2024-02-12 15:08:40 -08:00 |
|
Ryan Fleury
|
aa2a0948ba
|
raddbg -> raddbgi
|
2024-02-12 15:03:13 -08:00 |
|
Ryan Fleury
|
4b68967fbe
|
raddbg format stuff -> raddbgi; partial naming/organization over raddbgi_cons
|
2024-02-12 14:29:24 -08:00 |
|
Ryan Fleury
|
cc26a22e40
|
apply cancel/ok ordering note from jeff
|
2024-02-12 10:33:04 -08:00 |
|
Ryan Fleury
|
4fde6addc4
|
raddbg_cons: parameterize bake ctx with bucket sizes; make initial prediction based on symbol count
|
2024-02-11 13:29:06 -08:00 |
|
Ryan Fleury
|
60b6e2d597
|
Merge branch 'dev' of https://github.com/EpicGames/raddebugger into dev
|
2024-02-11 09:23:37 -08:00 |
|
Ryan Fleury
|
e5c35a4035
|
oops! fix wrong type fwd reference condition
|
2024-02-11 09:23:16 -08:00 |
|
Ryan Fleury
|
47bb3464e1
|
oops!
|
2024-02-11 09:23:06 -08:00 |
|
Ryan Fleury
|
2e8afad5f0
|
adjust conversion visualization; strip out old profiling markup
|
2024-02-10 19:40:19 -08:00 |
|
Ryan Fleury
|
e7897f302f
|
do some more fine tuning of symbol id hash functions used in pdb -> raddbg path; also eliminate unnecessary per-type work
|
2024-02-10 18:25:47 -08:00 |
|
Ryan Fleury
|
c81ee6d9bc
|
extend id -> handle cons APIs with separate hash channel, so usage code completely controls both unique IDs and how they're hashed; second pass at designing better local variable hashing function
|
2024-02-10 16:21:55 -08:00 |
|
Ryan Fleury
|
801518ea75
|
improve local map hash
|
2024-02-09 18:02:44 -08:00 |
|
Ryan Fleury
|
ebfddabd0b
|
raddbg cons: extend u64 -> ptr map api with separate channel for hash, which reduces scan space, independently from unique keys which were previously assumed to be a reasonable hash (which they weren't)
|
2024-02-09 16:59:42 -08:00 |
|
Ryan Fleury
|
6c872566af
|
raddbg_from_pdb: greatly improve speed of line info combining pass; do not linearly scan for line numbers, use line as hash -> slot key and search only slots
|
2024-02-09 15:31:24 -08:00 |
|
Ryan Fleury
|
44d9b57eb5
|
track bucket collision counts, include in table diagnostics dump; finish moving pdb->raddbg conversion tables over to dynamic & heuristically chosen table sizes
|
2024-02-09 14:55:07 -08:00 |
|
Ryan Fleury
|
cdb53ebed0
|
pdb -> raddbg table diagnostic dumping
|
2024-02-09 12:59:06 -08:00 |
|
Ryan Fleury
|
2d63234c92
|
eliminate static, absurdly large table sizes in all cases in pdb->raddbg path; markup & diagnostics of table sizes vs. counts, to begin gathering data for table size prediction path
|
2024-02-09 11:50:04 -08:00 |
|