Commit Graph
4129 Commits
Author SHA1 Message Date
Ryan Fleury 50a68b9d8c adjust internal definition of sync barrier type to match windows 2026-05-12 13:52:25 -07:00
Ryan Fleury d4623a7ddf slow & highly contentious implementation of barriers using more basic sync primitives; fall back if sync barriers not present in win32 version 2026-05-12 13:48:57 -07:00
Ryan Fleury 641a7c8b30 on new debug session: close all loaded debug infos, assume none need to stick around 2026-05-12 09:38:06 -07:00
Ryan Fleury 15a2d5658f fix auto-thread-selection rules 2026-05-11 20:04:36 -07:00
Ryan Fleury d45090a8cc adjust kerning to be rounded, rather than floor'd; adjust step-out desc 2026-05-11 19:53:54 -07:00
Ryan Fleury 9eaff99bbb fix build 2026-05-11 19:44:26 -07:00
Ryan Fleury cbbacf0b5f sketch out extra disasm instruction outputs for determining read/write locations from instructions (autos) 2026-05-11 14:53:05 -07:00
Ryan Fleury d1536953b0 p2r: eliminate spurious duplicate address vmap entries; upgrade step-out with block stepping functionality 2026-05-11 14:21:43 -07:00
Ryan Fleury cc099f55aa do not call destroy on caches without a destroy hook :( 2026-05-11 13:30:59 -07:00
Ryan Fleury de35a86505 fix artifact cache replaced-value deletion - this CAN NOT run if the new value == the old value 2026-05-11 13:29:29 -07:00
Ryan Fleury 52da228efe artifact_cache: fix leak of old-generation artifacts, when those artifacts are replaced by newer generation computations. artifacts can opaquely hold things like arena pointers, and so when we replace them in the cache, we need to respect the lookup api's provision of create/destroy hooks for the cache, such that the artifacts can be released correctly (using the destroy hook) before being replaced. this is separate from regular eviction. 2026-05-11 11:49:15 -07:00
Ryan Fleury 6a95da35e0 opengl: more coverage/convergence w/ d3d11 2026-05-09 20:25:14 -07:00
Ryan Fleury 0cfc113272 opengl: apply transforms to rendering 2026-05-09 13:30:56 -07:00
Ryan Fleury a16716eff7 d2r2: fix missing function types on functions returning void 2026-05-09 12:38:08 -07:00
Ryan Fleury d59d6a21f0 d2r2: do not duplicate line records, were being generated by columnar changes, but these are not currently supported by the debugger 2026-05-09 12:18:05 -07:00
Ryan Fleury 2f6d0f9aaa os -> wm; *_w32_ -> w32_*_, *_lnx_ -> lnx_*_ 2026-05-08 21:17:21 -07:00
Ryan Fleury 9a7782de47 re-slice linux/win32 backends, top-level folder is backend (demon/win32 -> win32/demon, etc.); os_gfx -> window_manager; fix linux / opengl builds for new apis/types 2026-05-08 15:21:22 -07:00
Ryan Fleury aea4a4ff9d eliminate os_core, move into base; eliminate regs, move into arch abstraction layer, define x64 regs in x64 layer; move win32 backend for os core (now base) functionality to top-level win32 layer 2026-05-08 15:21:21 -07:00
Nikita Smith 24c858171f fix complex and char conversion + note 2026-05-07 21:49:15 -07:00
Ryan Fleury 774e8e1305 notes 2026-05-05 12:57:04 -07:00
Ryan Fleury 738163dcbd demon: gather success status of setting traps, but do not fail on failure 2026-05-05 12:35:20 -07:00
Ryan Fleury 356237418f demon: always gather 'active' traps - do not require success 2026-05-05 12:32:00 -07:00
Ryan Fleury b210afa5ee demon/linux: do not assert on trap write/read success. breakpoints can evaluate to unmapped addresses 2026-05-05 12:30:12 -07:00
Ryan Fleury 44c6b6e4d5 do not duplicate function records for decls 2026-05-05 12:22:20 -07:00
Ryan Fleury d9f7385f81 d2r2: fix file sequence map build to use correct source files 2026-05-05 12:13:07 -07:00
Ryan Fleury 1c8a10e0f7 rdi_make: fix path node lookup to respect root-level ..s 2026-05-05 11:47:26 -07:00
Ryan Fleury 26646299a1 rdi_make: preserve root-level ..s in interned path tree 2026-05-05 11:20:38 -07:00
Ryan Fleury 5f8e0a5aa9 rd: fix possible-overrides-from-file-path path to correctly use path styles 2026-05-05 11:00:08 -07:00
Ryan Fleury 6e376e5615 rd: fix file path mapping to correctly use destination path's style in constructing mapped paths 2026-05-05 10:57:46 -07:00
Ryan Fleury 1301165aeb d2r2: disable llvm-dwarfdump-style line table logging 2026-05-05 10:50:47 -07:00
Ryan Fleury 384cf11eed d2r2: fix line table register reset conditions in line table conversion 2026-05-05 10:49:33 -07:00
Ryan Fleury fb04768002 d2r2: hook up scope containers to contained types / namespaces; fix address table parsing 2026-05-05 09:42:55 -07:00
Ryan Fleury aee299efe7 d2r2: deduper fixes/simplification, first half of structured namespace support 2026-05-04 15:41:23 -07:00
Ryan Fleury 8f65f466f5 d2r2: expand tag deduplication to both namespaces and types; gather/deduplicate/convert namespaces 2026-05-04 13:14:13 -07:00
Ryan Fleury 7157e813a0 d2r2: fix line table build - correct program data size, correct special opcode application 2026-05-03 17:55:53 -07:00
Ryan Fleury f2d80da2de d2r2: remove markup 2026-05-03 11:25:56 -07:00
Ryan Fleury e48c23db20 d2r2: don't descend children for childless subprograms! 2026-05-03 11:24:38 -07:00
Ryan Fleury 4f3d9c96b8 d2r2: when deduplicating types, ensure deterministic (hash -> .debug_info off) mapping, by minimizing the .debug_info off found for a particular type hash - in theory, this step should not be necessary, but there is a mistake / broken part of this theory, which was leading to non-deterministic type graphs in a very small # of cases, due to the same hash mapping to different .debug_info offsets across runs. in theory, the hash itself should take care of this, but there is likely something important missing. in either case, minimizing the .debug_info offset is very cheap, and guarantees we parse from a deterministic place no matter what the run looks like. 2026-05-02 20:25:33 -07:00
Ryan Fleury f9eb25dbcb d2r2: do unique type info gathering on a sub-unit granularity, so we can subdivide a unit across all lanes; sort unique type tag slots for determinism 2026-05-01 14:12:35 -07:00
Ryan Fleury 0b5e827f6c rd: prioritize fastpath for non-unwound register reads; d2r2: prepass to find all top-level tag trees, subdivide unit work on a root-level tag tree basis 2026-05-01 12:34:35 -07:00
Ryan Fleury 0b26b1c83e radbin: only dump eh frame data if found 2026-05-01 08:49:16 -07:00
Ryan Fleury 13fb24f253 fix incorrect function parameter type parsing (was causing quadratic parses of .debug_info, oops) 2026-05-01 08:42:48 -07:00
Ryan Fleury 0054935252 d2r2: fix scope voff miscount; pattern match trivial value-register locations -> simple kind; fix pre-dwarf5 file table parsing 2026-04-30 18:09:30 -07:00
Ryan Fleury 0e2b37ba32 dwarf: do not crash on unsupported codes; text: do not crash on arena releasing w/ zero hash (#766, #771?, #761) 2026-04-30 17:51:11 -07:00
Ryan Fleury c83c1f3cfd udt conversion 2026-04-29 16:27:58 -07:00
Ryan Fleury 230b004742 d2r2: function type info; fix reg+off location info for signed offsets, function type deduplicating / construction / referencing, etc. 2026-04-29 15:50:31 -07:00
Ryan Fleury 9a923e9bf9 d2r2: .debug_loclists parsing, DWARF expression -> RDI location info; first pass at baking frame base into var locations to match simpler PDB behavior; fixes to high-pc address evaluation (based on form kind) 2026-04-29 12:40:43 -07:00
Ryan Fleury 242f4e9cbd d2r2: dwarf 5 .debug_rnglists, .debug_addr parsing / usage 2026-04-28 09:37:31 -07:00
Ryan Fleury f5ec462438 d2r2: .debug_aranges parsing / unit conversion; .debug_ranges parsing 2026-04-28 08:57:59 -07:00
Ryan Fleury f1a9fc5e3a turn off new dwarf converter outputs temporarily 2026-04-27 18:14:29 -07:00