Commit Graph
4113 Commits
Author SHA1 Message Date
Ryan Fleury 60b266a1cc support size_of and type_of in clike expressions 2026-06-26 11:28:01 -06:00
Ryan Fleury 9491fdf5c2 eval2: split out expression kinds from parse styles of expressions - lets us separate semantic expression tree from frontend, so that we can easily switch frontend 2026-06-26 11:22:43 -06:00
Ryan Fleury bcbc5e4a2a eval2: macro argument expression tree parsing 2026-06-26 10:07:02 -06:00
Ryan Fleury d7393b2f65 eval2: split string -> expr compilation path into frontend / middle end - string -> expr, where expr is a loose structural syntax tree (where we can get macros and stuff without doing typechecking etc.), and expr -> irtree, where irtree is the usual typed / typechecked / ir structured representation - preserve minimal identifier resolution path for parser, but move most resolution things to the middle-end 2026-06-25 15:48:14 -07:00
Ryan Fleury c2b74260ef eval2: opkind -> exprkind, prepare for exprs being looser 2026-06-25 13:58:03 -07:00
Ryan Fleury 6b52d68c62 eval2 checkpoint: type operations, constructed types, checkpoint before splitting back to frontend / compiler split - we need to do things with the parse tree that we can't with an ir tree 2026-06-25 13:50:16 -07:00
Ryan Fleury c1b3461709 eval2: switch to extrusive lists for expression lists - this lets us reuse expression trees. also solve strange isolated unload module events in win32 demon as well 2026-06-25 11:36:18 -06:00
Ryan Fleury 6c309038ce dbg_engine: ctrl thread - be robust to strange duplicate module unload events 2026-06-25 09:51:13 -06:00
Ryan Fleury 9d651f4bd5 EpicGamesExt -> EpicGames 2026-06-25 09:08:52 -06:00
Ryan Fleury 38c1e2a414 eval2: ptr arithmetic & comparisons 2026-06-25 09:07:34 -06:00
Ryan Fleury c817d1f136 eval2: type keys checkpoint 2026-06-24 20:39:53 -07:00
Ryan Fleury 296c851272 eval2 checkpoint: casts, function calls, expression-embedded identifier definitions, ternaries, compile-time ternaries 2026-06-24 16:29:57 -07:00
Ryan Fleury 6b841d9959 rdi_make: allow duplicates in bake name map insertions - they become extremely costly to check for, and we don't produce them anyways... 2026-06-24 07:20:06 -06:00
Ryan Fleury 1901e67f39 use synchronous reads for call stack computation, but extend artifact cache with the ability to say that a non-retryable failure occurred, so that we can fall back to stale call stacks 2026-06-23 20:00:57 -06:00
Ryan Fleury 3d6851c57a rdi_from_Dwarf: count dependency counts correctly when using cached type content hashes 2026-06-23 16:07:53 -07:00
Nikita Smith 4daefad31e map GNU lib extension 2026-06-23 12:32:52 -07:00
Nikita Smith 765b61152d sort import library member refs by input index 2026-06-23 12:32:52 -07:00
Nikita Smith ad20900fc0 import hash table -> hash map 2026-06-23 12:32:51 -07:00
Nikita Smith 8dbced6995 set flag on import member from the originally linked library, otherwise
on subsequent passes linker may queue same import
2026-06-23 12:32:50 -07:00
Nikita Smith 84d025e940 force inline string compars 2026-06-23 12:32:50 -07:00
Ryan Fleury 98b7b5859c rdi_from_dwarf: stub out pointers for now, cache as we go, merge type dependency count calculation with hash computation 2026-06-23 12:32:11 -07:00
Ryan Fleury 28009ec01e rdi_from_dwarf type dedup hashing experiments checkpoint 2026-06-23 10:05:28 -07:00
Ryan Fleury fef78609d8 turn off d2r tests for now while new deduper is in progress; better tag skipping in dedup hashing 2026-06-22 14:25:25 -07:00
Martins Mozeiko 401383bbd8 reorganize intrinsic includes to make clang happy 2026-06-22 14:21:01 -07:00
Ryan Fleury e2430fa23e remove redundant incs of xxhash - undef cpuid macro before xxhash is
included, so that we don't have conflicting definitions due to memfun
2026-06-22 13:43:19 -07:00
Ryan Fleury 28d037a924 checkpoint on faster rdi_from_dwarf type/namespace deduping 2026-06-22 13:31:08 -07:00
Ryan Fleury 73e9f3c9da rdi_from_dwarf: determinism / regression tests 2026-06-21 20:56:46 -07:00
Ryan Fleury dac63d6bef fix linux build 2026-06-21 20:47:09 -07:00
Ryan Fleury 286589f4de rdi_from_pdb: exemplar tests 2026-06-21 20:37:52 -07:00
Ryan Fleury c890b806d5 pull out test input/exemplar path formation helpers to base; fix torture crash 2026-06-21 20:13:44 -07:00
Ryan Fleury bc324a9041 remove exemplars from repo; switch to storing on test data server 2026-06-21 19:54:37 -07:00
Ryan Fleury ed6afcb180 checkpoint on rdi_from_dwarf pass, start addressing O(N lg N) hashing problem for type content, use sibling tags, etc.; remove test inputs from data/, just rely on local folder (filled via data server) 2026-06-21 15:53:38 -07:00
Ryan Fleury d3d35e40d7 rdi_from_dwarf: use sibling tags to advance in hash path too - set up for deduplicating hash work 2026-06-19 20:53:01 -07:00
Nikita Smith 4f899ac678 update memfun 2026-06-19 20:12:27 -07:00
Nikita Smith 05a024ddb3 remove /RAD_ALT_PCH_DIR
* Instead of matching on file path in LF_PRECOMP, loop over the objects
  with .debug$P and probe leaves at the index specified in LF_PRECOMP.
  If signatures match, use the PCH.
* Demote LNK_Error_PrecompObjNotFound to a recoverable error.
2026-06-19 20:12:27 -07:00
Nikita Smith 9b63131f37 ditch semaphores in thread pool in favor of barriers 2026-06-19 20:12:26 -07:00
Nikita Smith 6ea9bfc5a3 fix tail comparisons 2026-06-19 20:12:25 -07:00
Nikita Smith c81c072018 includes for rdi_from_codeview 2026-06-19 20:12:25 -07:00
Nikita Smith 3534100e8d lazy touch obj string tables 2026-06-19 20:12:24 -07:00
Nikita Smith 9616307503 add extra node to the symbol ref for better insertion per 2026-06-19 20:12:24 -07:00
Nikita Smith 871f94a202 use vectorized memory functions in the base strings 2026-06-19 20:12:23 -07:00
Nikita Smith 8ef58def99 update torture
* factor test registration logic out of the macro to improve debuggability
* expand the test registration logic
* rename group -> layer for consistency
* fix indentation in the slow tests summary
2026-06-19 20:12:22 -07:00
Ryan Fleury 0d62c49c52 only rewrite stdout/stderr/etc. if passed cli specifically 2026-06-19 20:12:21 -07:00
Ryan Fleury fe2aa4d14c com shim for launching raddbg in cli mode, for proper console subsystem style usage of packaged bin utilities; checkpoint on eval2 2026-06-19 20:12:20 -07:00
Ryan Fleury 3fd7b40f4d remove 'global stream' specialities in codeview -> rdi conversion; just have the caller pass all units, and in the case of pdb conversion, we simply make a global unit at that layer. 2026-06-19 20:12:20 -07:00
Ryan Fleury 15601d48d4 rdi_from_dwarf: use sibling tag attributes to gather root-level tag offsets when present - 15x speedup in the gather on webkit DWARFs... 2026-06-19 20:11:50 -07:00
Ryan Fleury 9f82a6fe91 fix flipped interpretation of scope address ranges in dwarf - address class implies opl, not size 2026-06-19 12:41:17 -07:00
Ryan Fleury 3b22b1f13e fix incorrect work happening w/ subsets turned off for psym generation 2026-06-19 12:37:43 -07:00
Ryan Fleury 66bca76edd delete non-codeview-backed pdb conversion path, switch over to codeview conversion totally 2026-06-18 08:59:51 -07:00
Ryan Fleury a441a5eef3 plug in codeview-conversion-backed pdb converison 2026-06-18 08:54:41 -07:00