Commit Graph
4386 Commits
Author SHA1 Message Date
Ryan Fleury b0841ff2da first pass at custom load-module exception (long term for JIT) 2026-07-23 20:22:54 -07:00
Ryan Fleury 16c447bb79 eval2: leaf bytecode in ir tree 2026-06-28 07:36:24 -07:00
Ryan Fleury 96cfb441fd correctly use command titles in native file explorer 2026-06-27 12:07:24 -07:00
Ryan Fleury 0e2b4ac5e7 ui discoverability adjustments 2026-06-27 06:21:31 -07:00
Ryan Fleury 969851b6f0 flip NO_ASYNC; turn on as needed, if a layer requiring it is included 2026-06-27 04:54:30 -07:00
Ryan Fleury 410a8e3afa eval2: function pointer type parsing/compiling 2026-06-27 04:43:58 -07:00
Ryan Fleury cae9754099 eval2: fix parsing task popping rules, still give chance to rhs when popping tasks in all cases 2026-06-27 04:25:05 -07:00
Ryan Fleury b704e797e2 notes 2026-06-27 03:50:17 -07:00
Ryan Fleury 773e6554dc cycle detection in fully qualified string generation 2026-06-26 20:35:50 -07:00
Ryan Fleury fdbcf7ccdc eval2: first pass at c recursive type expression parsing 2026-06-26 16:19:19 -07:00
Ryan Fleury f1f654ecfd eval2: simplify expression parsing info, allow child reversal (for parsing non-canonical expression orders into canonical shapes, e.g. Rust-style casts like 123 as float32 -> cast(float32, 123); ptr/array type operators, etc./ 2026-06-26 13:20:38 -07:00
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 SmithandRyan Fleury 4daefad31e map GNU lib extension 2026-06-23 12:32:52 -07:00
Nikita SmithandRyan Fleury 765b61152d sort import library member refs by input index 2026-06-23 12:32:52 -07:00
Nikita SmithandRyan Fleury ad20900fc0 import hash table -> hash map 2026-06-23 12:32:51 -07:00
Nikita SmithandRyan Fleury 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 SmithandRyan Fleury 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 a425936f56 run_tests test data download -> fail if curl fails, follow http redirects 2026-06-22 14:42:50 -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 MozeikoandRyan Fleury 401383bbd8 reorganize intrinsic includes to make clang happy 2026-06-22 14:21:01 -07:00
Ryan Fleury 76fa2be5a9 correct arch flags to clang 2026-06-22 13:45:53 -07:00
Ryan Fleury c8c8e02ab0 Revert "use CL driver when compiling with clang on windows to simplify compile and link lines"
This reverts commit ba32d7fdec.

This causes tons of compatibility issues, some of which were preventing
Clang builds on specific Clang versions due to command line
incompatibility between lld-link and link.
2026-06-22 13:44:18 -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 fa4c003f79 run_tests.bat -> download test data if stale 2026-06-21 16:20: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 SmithandRyan Fleury 4f899ac678 update memfun 2026-06-19 20:12:27 -07:00
Nikita SmithandRyan Fleury 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