Commit Graph

1625 Commits

Author SHA1 Message Date
Nikita Smith db04792073 moved getter for process start time w32 2024-11-07 13:33:37 -08:00
Nikita Smith 4091373517 moved operating system -> string to base 2024-11-07 11:54:25 -08:00
Nikita Smith 214be8c433 moved Guid struct and related helpers to base 2024-11-07 11:54:25 -08:00
Nikita Smith f807dc4785 override entry point 2024-11-07 11:54:25 -08:00
Nikita Smith 0dd05169ee add ability to override entry point type 2024-11-07 11:54:25 -08:00
Nikita Smith ce9d43a92e pass over coff header 2024-11-07 11:54:25 -08:00
Nikita Smith 0886963d93 promote section definition number to 32-bit when linking big obj 2024-11-07 11:54:25 -08:00
Nikita Smith 27cd7a21a3 coff section definition for big obj 2024-11-07 11:54:24 -08:00
Nikita Smith 7bb88f480e mask compute typo 2024-11-07 11:54:24 -08:00
Nikita Smith fad817fb9e apply communal variable rule for largest comdat only 2024-11-07 11:54:24 -08:00
Nikita Smith 1d42f1bd66 speed up export table build with hash table 2024-11-07 11:54:24 -08:00
Ryan Fleury a5dd35b874 eliminate dbgi search layer usage 2024-11-07 10:14:17 -08:00
Ryan Fleury a89af7f6fd scratch that - *now* fix the arrayification 2024-11-07 10:07:36 -08:00
Ryan Fleury 5a19ab9c31 fix new search path arrayification 2024-11-07 10:06:49 -08:00
Ryan Fleury e204fe28c1 eliminate deadlocking mechanism in dbgi search cache lookup/mutation; replace with simpler but possibly worse mechanism for now 2024-11-07 09:57:25 -08:00
Ryan Fleury d036eb9fc5 eliminate old dbgi_search layer 2024-11-05 15:08:58 -08:00
Ryan Fleury 1621e504ce first half pass at new dbgi fuzzy searching functionality; distributes search amongst sub-tasks 2024-11-05 15:07:06 -08:00
Ryan Fleury 44b8c9e87c eliminate r/w lock promotion concept 2024-11-04 13:30:10 -08:00
Ryan Fleury 4a0e21d447 collapse user clock indices into base-layer-provided clock counter; fuzzy_search -> dbgi_search 2024-11-04 13:12:52 -08:00
Ryan Fleury 3cd32fa235 correctly prepare paths for windows launches in demon 2024-11-03 14:45:21 -08:00
Ryan Fleury c3a672cd02 fix incorrect async work ordering in dbgi layer 2024-11-03 12:48:34 -08:00
Ryan Fleury 9ce0bc5dbf [geo] move to async layer 2024-11-03 12:17:18 -08:00
Ryan Fleury ffb21277e9 [tex] move to async layer 2024-11-03 12:13:20 -08:00
Ryan Fleury a40edbba51 dasm, ctrl memstream, & more moving to async layer, rather than per-layer thread pools 2024-11-03 12:11:24 -08:00
Ryan Fleury c2855a9a46 eliminate txt layer parsing threads; use async layer 2024-11-03 11:12:24 -08:00
Ryan Fleury 61e7aaadeb implement 'work stealing' mechanism for falling back to synchronous task execution, if all work threads are taken 2024-11-01 16:41:43 -07:00
Ryan Fleury 5a0efe1261 move dbgi layer to async task layer 2024-11-01 15:30:17 -07:00
Ryan Fleury 6d55d21643 fix clang builds 2024-11-01 15:22:26 -07:00
Ryan Fleury 4164b30aac move breakpad converter to async layer; eliminate task system 2024-11-01 15:18:40 -07:00
Ryan Fleury aded54c97f fix pointer stability of async task output slot; finish moving converter to async system 2024-11-01 15:02:45 -07:00
Ryan Fleury 79bcbe4b39 switch rdi_from_pdb to new async layer, off of old task system 2024-11-01 14:44:56 -07:00
Ryan Fleury 86d9b792d8 shift file streaming layer to using async layer for background work, remove file stream layer thread pool 2024-10-31 11:44:54 -07:00
Nikita Smith f3a36ece13 rebase fixes 2024-10-30 15:56:55 -07:00
Nikita Smith c5d198e3e9 build linker with branch name and full commit hash 2024-10-30 15:56:10 -07:00
Nikita Smith eba7500f73 /rad_pdb_hash_type_names:lenient
Less aggressive optimization for type names. When lenient enabled, linker
replaces only mangled names and compiler generated lambda types.
2024-10-30 15:56:10 -07:00
Nikita Smith 339f43919c remove bogus leaf align 2024-10-30 15:56:09 -07:00
Nikita Smith f3fbf10754 replace type names with hashes 2024-10-30 15:56:09 -07:00
Nikita Smith 4a2e1dd8d0 switch to thread safe hash trie map
Initial implementation of the symbol table allowed us to push symbols
from one thread at a time and required a wonky lock-step and spread out
logic for replacing symbols. And because it was a externally chained
hash table we had to guesstimate optimal capacity for small and big targets.
We erred on the side of larger capacity to prevent degradation and
rehashing, however this meant small targets had to spent unreasonable
amount of time memory allocing slots. With hash trie we can dynamically
scale up to 4 ^ 32 items and atomically replace symbols when needed. Neat!
2024-10-30 15:43:53 -07:00
Nikita Smith ee65ea3692 fast-path for string matching 2024-10-30 15:42:39 -07:00
Nikita Smith baead67a99 minor fixes 2024-10-30 15:42:39 -07:00
Nikita Smith e085dae636 pass over atomic operations
- use cast to volatile trick for atomic loads on x64 windows
- removed unnecessary includes on windows
- upgraded clang and gcc code paths to use modern atomics

Removed WIN32_LEAN_AND_MEAN because we were already compiling without it
and there is code path in os_gfx_win32.c that relies on including full
windows.h
2024-10-30 15:42:39 -07:00
Nikita Smith eba6765541 set LF endings for shell scripts so they are executable after checkout 2024-10-30 15:42:39 -07:00
Nikita Smith 002e479a2d index on dev: 62880e6 set explicitly heap and stack reserve and size 2024-10-30 15:42:39 -07:00
Nikita Smith 8848080729 set explicitly heap and stack reserve and size 2024-10-30 15:42:39 -07:00
Nikita Smith e1166abc63 typo in str8 compar name 2024-10-30 15:42:39 -07:00
Nikita Smith 6ffc065712 set dynamic base on /fixed:no 2024-10-30 15:42:39 -07:00
Nikita Smith 15b1ebcd21 coff section align from byte size helper 2024-10-30 15:42:39 -07:00
Ryan Fleury 37b27a9cff correctly bounds-check cursor before doing snapping operations 2024-10-30 06:20:11 -07:00
Ryan Fleury 327fec3155 fix rdi_from_pdb build 2024-10-29 16:50:37 -07:00
Ryan Fleury d0b97a3010 first pass at more comprehensive async layer, for replacing task system & providing single mechanism for async work, which is currently done ad-hoc in various layers 2024-10-29 16:27:21 -07:00