Commit Graph

  • 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 Ryan Fleury 2024-03-05 14:55:49 -08:00
  • f85718f1e2 fix eval header Ryan Fleury 2024-03-05 14:48:23 -08:00
  • 4074551a1a hook up demon2 initialization to base layer entry point Ryan Fleury 2024-03-05 14:27:40 -08:00
  • 0c436f0d5b first pass at demon replacement layer; just trimming out old code & cruft & reading & naming pass Ryan Fleury 2024-03-05 14:17:41 -08:00
  • 091269b1d8 eliminate synchronous per-thread string map building, just do it as-needed on each thread; Ryan Fleury 2024-03-04 11:53:12 -08:00
  • 4d6860b3a1 raddbgi_from_pdb/raddbgi_make: kill old synchronous string map code; naming pass Ryan Fleury 2024-03-04 11:14:54 -08:00
  • 778f4eb08d raddbgi_from_pdb: complete initial parallelization pass over string map building, joining, & sorting Ryan Fleury 2024-03-04 11:02:48 -08:00
  • 0ad795ba4c eliminate old udt string baking kickoff code Ryan Fleury 2024-03-01 11:36:03 -08:00
  • ac22e24841 raddbgi_from_pdb: switch string baking to using fixed per-thread maps, rather than per-task maps Ryan Fleury 2024-03-01 11:21:30 -08:00
  • 2fc0b4eac2 extend task system with thread count, so usage code can easily create per-thread state; pass thread idx into task entry points Ryan Fleury 2024-03-01 11:08:00 -08:00
  • 7eca2a35cd raddbgi_dump: dump string table Ryan Fleury 2024-02-29 11:04:53 -08:00
  • 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... Ryan Fleury 2024-02-28 16:48:25 -08:00
  • a38742d80b adjust string map sorting tasks to be wide, but less granular than per-slot; divide up table into chunks Ryan Fleury 2024-02-28 16:18:11 -08:00
  • e94b530758 new bake string map gathering/merging passes & async usage in converter Ryan Fleury 2024-02-28 15:51:17 -08:00
  • 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 Ryan Fleury 2024-02-28 13:27:48 -08:00
  • 56690a703f fix padding insertion pass over members gathering Ryan Fleury 2024-02-27 06:35:11 -08:00
  • bb0ebb5df2 raddbgi prefix on breakpad converter Ryan Fleury 2024-02-26 17:01:52 -08:00
  • 70d004e5d3 clean up command line arguments & help in converters Ryan Fleury 2024-02-26 16:49:57 -08:00
  • 3b7a4f3331 clean up pdb -> raddbgi converter parameters; extend conversion parameterization with optional type/udt disabling; use in breakpad converter Ryan Fleury 2024-02-26 14:11:26 -08:00
  • 1c2c82cc58 breakpad_from_pdb per-function line info writing Ryan Fleury 2024-02-26 13:34:33 -08:00
  • 03763e3444 raddbgi_from_pdb/raddbgi_make: split top-level units baking from per-unit baking; do per-unit baking wide Ryan Fleury 2024-02-26 12:15:18 -08:00
  • d9897161c2 first half of first pass at breakpad textual symbol info format exporter Ryan Fleury 2024-02-26 11:49:19 -08:00
  • 874f40244c eliminate per-executable initialization, just pull that down into the base layer entry point Ryan Fleury 2024-02-26 10:45:00 -08:00
  • 443c3fb74b get dwarf -> raddbgi converter on new entry point style Ryan Fleury 2024-02-25 15:03:27 -08:00
  • 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 Ryan Fleury 2024-02-25 15:02:05 -08:00
  • dd05eaa21e sketch out some codebase-wide standard thread entry point boilerplate Ryan Fleury 2024-02-25 14:13:27 -08:00
  • 93ab48ecdf organization/naming/dead-code-elimination pass over base Ryan Fleury 2024-02-25 14:00:35 -08:00
  • 3ec1edaff1 oops, fix clang Ryan Fleury 2024-02-25 13:33:27 -08:00
  • d8cf83b4d7 pull out & organize build configuration options, including entry point style, to context cracker Ryan Fleury 2024-02-25 13:30:15 -08:00
  • c4b8916bcf raddbgi dump - fix bad condition Ryan Fleury 2024-02-25 09:59:56 -08:00
  • 642acdf474 switch voff -> symbol name path to graceful failure RDI lookups Ryan Fleury 2024-02-25 09:57:51 -08:00
  • 7c9f127425 cleanup/naming pass over raddbgi_dump, do not require specific named params Ryan Fleury 2024-02-24 22:03:08 -08:00
  • 93c0e657fd eliminate old test files Ryan Fleury 2024-02-24 20:08:44 -08:00
  • 10ab27eb43 oops - actually respect operating system file system match flags in dbgi layer Ryan Fleury 2024-02-24 18:16:59 -08:00
  • 4c76eb73f1 respect operating system file system case sensitivity rules in dbgi layer Ryan Fleury 2024-02-24 14:04:41 -08:00
  • d9aa49e45c respect wait timeouts in task system join Ryan Fleury 2024-02-23 12:17:57 -08:00
  • 4da33c0d2c eliminate noop in ui layout pass Ryan Fleury 2024-02-23 11:21:47 -08:00
  • dd0416f9f9 fix nil expressions mapping to valid expression kinds, thus implying children nodes Ryan Fleury 2024-02-23 11:18:53 -08:00
  • c1984edadf dont over-eagerly join udt building tassk Ryan Fleury 2024-02-23 11:13:12 -08:00
  • ac8a7ba988 fix enumerate gathering in new udt building pass Ryan Fleury 2024-02-23 11:07:09 -08:00
  • 6beb9951e6 adjust default task sizes in raddbgi_from_pdb Ryan Fleury 2024-02-22 16:54:39 -08:00
  • 5813cb2af8 proper thread names Ryan Fleury 2024-02-22 16:20:27 -08:00
  • 74d051f383 walk args as dependent types for member function types Ryan Fleury 2024-02-22 15:51:18 -08:00
  • 7facfb7d08 kill single threaded udt conversion code Ryan Fleury 2024-02-22 15:50:07 -08:00
  • fe1e0cc2fd move udt info conversion to task threads, divide up itype stream and do it wide Ryan Fleury 2024-02-22 15:49:46 -08:00
  • bcbd01bf2c eliminate type revisiting task list, just iterate itypes again - in preparation for dividing up the itype stream and doing udt building in parallel Ryan Fleury 2024-02-22 15:37:50 -08:00
  • 34f500ce27 push unit conversion & src file gathering to background task threads; dont preemptively join initial independent parses until they are necessary Ryan Fleury 2024-02-22 15:11:13 -08:00
  • 0e352f92df separate per-name-map baking stages from each other, and from top-level name map section build; do them all independently Ryan Fleury 2024-02-22 14:45:09 -08:00
  • 50f7d53db2 eliminate unnecessary copy in raddbgi string map interner Ryan Fleury 2024-02-22 14:15:23 -08:00
  • b508489416 clean up old transitionary code Ryan Fleury 2024-02-22 10:03:26 -08:00
  • 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 Ryan Fleury 2024-02-22 09:48:19 -08:00
  • a5493d5edb appease the clang gods Ryan Fleury 2024-02-21 16:48:22 -08:00
  • 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. Ryan Fleury 2024-02-21 16:27:29 -08:00
  • 6a49672904 raddbgi_from_pdb: idx run baking; raddbg: catch up to new converter interface Ryan Fleury 2024-02-21 15:23:35 -08:00
  • 2dd4526dd9 raddbgi_from_pdb: path tree & string baking Ryan Fleury 2024-02-21 15:12:08 -08:00
  • f2cf518231 raddbgi_from_pdb: name map baking, small fixes with new baking strategy Ryan Fleury 2024-02-21 14:55:50 -08:00
  • 41b1f1c7e3 raddbgi_from_pdb: organize new baking path, which does all independent section list builds separately; do first pass of baked string map building Ryan Fleury 2024-02-21 14:36:15 -08:00
  • 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 Ryan Fleury 2024-02-21 13:43:56 -08:00
  • 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 Ryan Fleury 2024-02-21 10:36:22 -08:00
  • 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 Ryan Fleury 2024-02-20 16:32:09 -08:00
  • 7581a6866d raddbgi_from_pdb: overlap link name map building with type info building, since they are independent streams of work Ryan Fleury 2024-02-20 15:13:22 -08:00
  • 923714c3c9 raddbgi_make: split final blob flattening & encoding from 'baking' phase Ryan Fleury 2024-02-20 14:07:58 -08:00
  • b8a4aeac39 raddbgi_from_pdb: offload c13 line info parsing to task threads Ryan Fleury 2024-02-20 13:16:52 -08:00
  • e7ab92e07c raddbgi_from_pdb: move comp unit contributions parsing out to task threads; move per-comp-unit top-level symbol parsing to task threads Ryan Fleury 2024-02-20 13:09:23 -08:00
  • 53bc258c4a raddbgi_from_pdb: move itype dependency chain building to task threads Ryan Fleury 2024-02-20 12:58:04 -08:00
  • 7e36c25a31 fix more async fwd map building bugs; move symbol stream conversion to task system Ryan Fleury 2024-02-20 12:04:57 -08:00
  • 66ef1b3eeb raddbgi_from_pdb: move top-level compilation unit parsing to asynchronous tasks Ryan Fleury 2024-02-20 11:30:01 -08:00
  • 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 Ryan Fleury 2024-02-20 11:16:54 -08:00
  • 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 Ryan Fleury 2024-02-19 16:41:22 -08:00
  • 0b73582b87 raddbgi_from_pdb: multithread initial independent parsing/preparation phases of converter Ryan Fleury 2024-02-19 15:52:26 -08:00
  • 8369637026 raddbgi_from_pdb: multithread itype forward resolution map building Ryan Fleury 2024-02-19 15:07:25 -08:00
  • 86ee3cb4b6 raddbgi_from_pdb: multithread per-unit symbol conversion Ryan Fleury 2024-02-19 14:42:13 -08:00
  • 5cd5503db1 raddbgi_make: adjust baking-phase bucket counts based on estimates from parameters Ryan Fleury 2024-02-19 12:13:42 -08:00
  • 29c21b43af fix busted vmap section size Ryan Fleury 2024-02-19 11:52:28 -08:00
  • f7f57a2c7a fix enumerate parsing Ryan Fleury 2024-02-19 11:18:34 -08:00
  • 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 Ryan Fleury 2024-02-19 11:13:29 -08:00
  • e44128de96 bugfix udt member parsing Ryan Fleury 2024-02-17 21:26:23 -08:00
  • b93bb5904a more itype generation fixes Ryan Fleury 2024-02-17 17:14:11 -08:00
  • cfe089de8c eliminate forward reference parsing work in non-forward-reference cases Ryan Fleury 2024-02-17 12:31:15 -08:00
  • e752eebfc9 fix itype conversion Ryan Fleury 2024-02-17 10:50:56 -08:00
  • d0fe5b9e04 raddbgi make: export scope voffs section Ryan Fleury 2024-02-17 10:36:07 -08:00
  • c790ee3de0 fix reversed-order path building Ryan Fleury 2024-02-17 08:44:55 -08:00
  • 4f9e3bb4f5 clean up / debugging / bugfixes in new converter Ryan Fleury 2024-02-17 08:41:27 -08:00
  • e9d2cb82b2 eliminate all old raddbgi_make and raddbgi_from_pdb code Ryan Fleury 2024-02-16 13:46:55 -08:00
  • 5190530417 oops, remember units... Ryan Fleury 2024-02-16 13:44:42 -08:00
  • 626ad29b91 converge raddbg to new conversion/raddbgi-make layers Ryan Fleury 2024-02-16 13:39:52 -08:00
  • 178719c479 transfer over idx run baking Ryan Fleury 2024-02-16 13:35:00 -08:00
  • 9cccabfa21 transfer over string baking Ryan Fleury 2024-02-16 13:33:45 -08:00
  • 3735e82579 source file baking Ryan Fleury 2024-02-16 13:31:58 -08:00
  • 75263c5833 path node tree baking Ryan Fleury 2024-02-16 13:29:26 -08:00
  • c64fba90a1 transfer over name map baking Ryan Fleury 2024-02-16 13:26:43 -08:00
  • 3fb632c23d raddbgi_make: name maps Ryan Fleury 2024-02-16 13:11:57 -08:00
  • 7597bccd46 raddbgi from pdb: fix chunk list concats Ryan Fleury 2024-02-16 12:51:17 -08:00
  • 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 Ryan Fleury 2024-02-16 11:53:03 -08:00
  • a38241ebe0 raddbgi_make: overrideable profile macros; raddbgi_from_pdb: itype name resolution, link anme resolution Ryan Fleury 2024-02-16 11:18:48 -08:00
  • 5ae9259253 raddbgi_from_pdb: global variable, thread variable, procedure, scope, local, location info baking Ryan Fleury 2024-02-16 09:04:15 -08:00
  • 7646487a90 raddbgi_from_pdb: type info baking Ryan Fleury 2024-02-16 07:28:55 -08:00
  • e8ca548360 transfer over unit vmap baking Ryan Fleury 2024-02-15 16:11:24 -08:00
  • 5f1ab8fdb4 move over per-source-file line info baking Ryan Fleury 2024-02-15 15:56:20 -08:00
  • c3c1906d43 first pass over raddbgi make baking phase rewrite/cleanup pass, getting off of old cons API Ryan Fleury 2024-02-15 15:44:24 -08:00