Ryan Fleury
|
d3cdb97a4e
|
notes
|
2024-03-17 12:16:40 -07:00 |
|
Ryan Fleury
|
8f0e39024f
|
fix additional demon2 typo
|
2024-03-14 21:24:12 -07:00 |
|
Ryan Fleury
|
aa7c30d85b
|
ctrl: first pass at new thread registers cache; also checkpoint for progress on moving to new demon layer
|
2024-03-14 21:09:43 -07:00 |
|
Ryan Fleury
|
936c6149e3
|
remove timeout on thread register cache accessor
|
2024-03-12 16:35:43 -07:00 |
|
Ryan Fleury
|
c417f15912
|
fix task entry points in breakpad converter
|
2024-03-12 16:01:30 -07:00 |
|
Ryan Fleury
|
ea74f928cd
|
fix process memory cache query mechanism when ring buffer is near capacity
|
2024-03-12 15:51:26 -07:00 |
|
Ryan Fleury
|
871419de39
|
bugfixes in new demon layer; adjust retry mechanism in process memory cache query; ui fixes
|
2024-03-12 15:49:36 -07:00 |
|
Ryan Fleury
|
8639faabdd
|
ctrl entity string allocation & tracking, for thread names & module names; fix process memory cache in edge cases
|
2024-03-12 14:56:02 -07:00 |
|
Ryan Fleury
|
d1e88f781e
|
tweak ctrl entity building to be bucketed per 'entity store' - we can now have multiple 'entity stores', one on the frontend thread, one on the ctrl thread, and keep them in sync at specific points via event lists
|
2024-03-12 14:20:24 -07:00 |
|
Ryan Fleury
|
4a3cc9bb39
|
get raddbg building on new demon layer
|
2024-03-12 13:55:13 -07:00 |
|
Ryan Fleury
|
2749301777
|
checkpoint - moving ctrl mostly over to demon2; sketching out a few missing cache pieces
|
2024-03-12 11:41:53 -07:00 |
|
Ryan Fleury
|
49ccf50fd4
|
first pass at integrating new demon2 layer into debugger, need to change ctrl a bit to adopt some of the things that were previously being left up to demon layers
|
2024-03-08 12:49:06 -08:00 |
|
Ryan Fleury
|
0d0c599e00
|
begin process of moving pe unwinding info into pe layer; more demon2 work checkpoint
|
2024-03-05 16:54:57 -08:00 |
|
Ryan Fleury
|
e25364a835
|
strip out some unnecessary apis from the demon layer, since we'll be doing per-entity caching in ctrl and keep demon as close to a thin abstraction as possible
|
2024-03-05 14:55:49 -08:00 |
|
Ryan Fleury
|
f85718f1e2
|
fix eval header
|
2024-03-05 14:48:23 -08:00 |
|
Ryan Fleury
|
4074551a1a
|
hook up demon2 initialization to base layer entry point
|
2024-03-05 14:27:40 -08:00 |
|
Ryan Fleury
|
0c436f0d5b
|
first pass at demon replacement layer; just trimming out old code & cruft & reading & naming pass
|
2024-03-05 14:17:41 -08: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
|
0ad795ba4c
|
eliminate old udt string baking kickoff code
|
2024-03-01 11:36:03 -08:00 |
|
Ryan Fleury
|
ac22e24841
|
raddbgi_from_pdb: switch string baking to using fixed per-thread maps, rather than per-task maps
|
2024-03-01 11:21:30 -08:00 |
|
Ryan Fleury
|
2fc0b4eac2
|
extend task system with thread count, so usage code can easily create per-thread state; pass thread idx into task entry points
|
2024-03-01 11:08:00 -08:00 |
|
Ryan Fleury
|
7eca2a35cd
|
raddbgi_dump: dump string table
|
2024-02-29 11:04:53 -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
|
a38742d80b
|
adjust string map sorting tasks to be wide, but less granular than per-slot; divide up table into chunks
|
2024-02-28 16:18:11 -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
|
56690a703f
|
fix padding insertion pass over members gathering
|
2024-02-27 06:35:11 -08:00 |
|
Ryan Fleury
|
bb0ebb5df2
|
raddbgi prefix on breakpad converter
|
2024-02-26 17:01:52 -08:00 |
|
Ryan Fleury
|
70d004e5d3
|
clean up command line arguments & help in converters
|
2024-02-26 16:49:57 -08:00 |
|
Ryan Fleury
|
3b7a4f3331
|
clean up pdb -> raddbgi converter parameters; extend conversion parameterization with optional type/udt disabling; use in breakpad converter
|
2024-02-26 14:11:26 -08:00 |
|
Ryan Fleury
|
1c2c82cc58
|
breakpad_from_pdb per-function line info writing
|
2024-02-26 13:34:33 -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
|
d9897161c2
|
first half of first pass at breakpad textual symbol info format exporter
|
2024-02-26 11:49:19 -08:00 |
|
Ryan Fleury
|
874f40244c
|
eliminate per-executable initialization, just pull that down into the base layer entry point
|
2024-02-26 10:45:00 -08:00 |
|
Ryan Fleury
|
443c3fb74b
|
get dwarf -> raddbgi converter on new entry point style
|
2024-02-25 15:03:27 -08:00 |
|
Ryan Fleury
|
8eb0f90f3e
|
move to codebase-defined entry point style, with basic command line argument parsing, capture, thread-ctx, and other boilerplate deduplicated in the base layer's entry point definition
|
2024-02-25 15:02:05 -08:00 |
|
Ryan Fleury
|
dd05eaa21e
|
sketch out some codebase-wide standard thread entry point boilerplate
|
2024-02-25 14:13:27 -08:00 |
|
Ryan Fleury
|
93ab48ecdf
|
organization/naming/dead-code-elimination pass over base
|
2024-02-25 14:00:35 -08:00 |
|
Ryan Fleury
|
3ec1edaff1
|
oops, fix clang
|
2024-02-25 13:33:27 -08:00 |
|
Ryan Fleury
|
d8cf83b4d7
|
pull out & organize build configuration options, including entry point style, to context cracker
|
2024-02-25 13:30:15 -08:00 |
|
Ryan Fleury
|
c4b8916bcf
|
raddbgi dump - fix bad condition
|
2024-02-25 09:59:56 -08:00 |
|
Ryan Fleury
|
642acdf474
|
switch voff -> symbol name path to graceful failure RDI lookups
|
2024-02-25 09:57:51 -08:00 |
|
Ryan Fleury
|
7c9f127425
|
cleanup/naming pass over raddbgi_dump, do not require specific named params
|
2024-02-24 22:03:08 -08:00 |
|
Ryan Fleury
|
93c0e657fd
|
eliminate old test files
|
2024-02-24 20:08:44 -08:00 |
|
Ryan Fleury
|
10ab27eb43
|
oops - actually respect operating system file system match flags in dbgi layer
|
2024-02-24 18:16:59 -08:00 |
|
Ryan Fleury
|
4c76eb73f1
|
respect operating system file system case sensitivity rules in dbgi layer
|
2024-02-24 14:04:41 -08:00 |
|
Ryan Fleury
|
d9aa49e45c
|
respect wait timeouts in task system join
|
2024-02-23 12:17:57 -08:00 |
|
Ryan Fleury
|
4da33c0d2c
|
eliminate noop in ui layout pass
|
2024-02-23 11:21:47 -08:00 |
|
Ryan Fleury
|
dd0416f9f9
|
fix nil expressions mapping to valid expression kinds, thus implying children nodes
|
2024-02-23 11:18:53 -08:00 |
|
Ryan Fleury
|
c1984edadf
|
dont over-eagerly join udt building tassk
|
2024-02-23 11:13:12 -08:00 |
|
Ryan Fleury
|
ac8a7ba988
|
fix enumerate gathering in new udt building pass
|
2024-02-23 11:07:09 -08:00 |
|
Ryan Fleury
|
6beb9951e6
|
adjust default task sizes in raddbgi_from_pdb
|
2024-02-22 16:54:39 -08:00 |
|
Ryan Fleury
|
5813cb2af8
|
proper thread names
|
2024-02-22 16:20:27 -08:00 |
|
Ryan Fleury
|
74d051f383
|
walk args as dependent types for member function types
|
2024-02-22 15:51:18 -08:00 |
|
Ryan Fleury
|
7facfb7d08
|
kill single threaded udt conversion code
|
2024-02-22 15:50:07 -08:00 |
|
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
|
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
|
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
|
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
|
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 |
|