major clean-up pass over unwinding/module-info abstraction, + usage in the debug engine. simplified / cleaned up DWARF helpers for unwind info & expressions. decoupling unwinding / DWARF evaluation from memory read callbacks. light module info now prepared by demon layer - debug engine no longer duplicates per-backend parsing. unwind abstraction layer now does thin abstraction over unwinding backends, debug engine only calls abstraction. clean up demon to have fewer ad-hoc 'queries' on handles, and prefer sending info over debug events when possible / when it fits the usage pattern. move DWARF enum specifications to metacode, generate enums/xlists/tables/etc. decouple raddbg/radbin completely from old parsing helpers. replace portion of DWARF dumping; pull out some new parsing helpers from converter / dumper.

This commit is contained in:
Ryan Fleury committed 2026-06-02 12:11:13 -07:00
1 parent 541d3afefa
commit d73ce364b9
88 files changed
+9899 -4723

No files matched your search

+10 -10
View File
@@ -161,23 +161,23 @@ internal void wm_event_list_concat_in_place(WM_EventList *dst, WM_EventList *to_
internal WM_Event *wm_event_list_push_new(Arena *arena, WM_EventList *evts, WM_EventKind kind);
////////////////////////////////
//~ rjf: @os_hooks Main Initialization API (Implemented Per-OS)
//~ rjf: @per_os_impl Main Initialization API (Implemented Per-OS)
internal void wm_init(void);
////////////////////////////////
//~ rjf: @os_hooks Graphics System Info (Implemented Per-OS)
//~ rjf: @per_os_impl Graphics System Info (Implemented Per-OS)
internal WM_SystemInfo *wm_get_system_info(void);
////////////////////////////////
//~ rjf: @os_hooks Clipboards (Implemented Per-OS)
//~ rjf: @per_os_impl Clipboards (Implemented Per-OS)
internal void wm_set_clipboard_text(String8 string);
internal String8 wm_get_clipboard_text(Arena *arena);
////////////////////////////////
//~ rjf: @os_hooks Windows (Implemented Per-OS)
//~ rjf: @per_os_impl Windows (Implemented Per-OS)
internal WM_Window wm_window_open(Rng2F32 rect, WM_WindowFlags flags, String8 title);
internal void wm_window_close(WM_Window window);
@@ -202,13 +202,13 @@ internal Rng2F32 wm_client_rect_from_window(WM_Window window);
internal F32 wm_dpi_from_window(WM_Window window);
////////////////////////////////
//~ rjf: @os_hooks External Windows (Implemented Per-OS)
//~ rjf: @per_os_impl External Windows (Implemented Per-OS)
internal WM_ExtWindow wm_focused_external_window(void);
internal void wm_focus_external_window(WM_ExtWindow ext_window);
////////////////////////////////
//~ rjf: @os_hooks Monitors (Implemented Per-OS)
//~ rjf: @per_os_impl Monitors (Implemented Per-OS)
internal WM_MonitorArray wm_push_monitors_array(Arena *arena);
internal WM_Monitor wm_primary_monitor(void);
@@ -218,7 +218,7 @@ internal Vec2F32 wm_dim_from_monitor(WM_Monitor monitor);
internal F32 wm_dpi_from_monitor(WM_Monitor monitor);
////////////////////////////////
//~ rjf: @os_hooks Events (Implemented Per-OS)
//~ rjf: @per_os_impl Events (Implemented Per-OS)
internal void wm_send_wakeup_event(void);
internal WM_EventList wm_get_events(Arena *arena, B32 wait);
@@ -227,18 +227,18 @@ internal B32 wm_key_is_down(WM_Key key);
internal Vec2F32 wm_mouse_from_window(WM_Window window);
////////////////////////////////
//~ rjf: @os_hooks Cursors (Implemented Per-OS)
//~ rjf: @per_os_impl Cursors (Implemented Per-OS)
internal void wm_set_cursor(WM_Cursor cursor);
////////////////////////////////
//~ rjf: @os_hooks Native User-Facing Graphical Messages (Implemented Per-OS)
//~ rjf: @per_os_impl Native User-Facing Graphical Messages (Implemented Per-OS)
internal void wm_graphical_message(B32 error, String8 title, String8 message);
internal String8 wm_graphical_pick_file(Arena *arena, String8 initial_path);
////////////////////////////////
//~ rjf: @os_hooks Shell Operations
//~ rjf: @per_os_impl Shell Operations
internal void wm_show_in_filesystem_ui(String8 path);
internal void wm_open_in_browser(String8 url);
+10 -10
View File
@@ -1,5 +1,5 @@
////////////////////////////////
//~ rjf: @os_hooks Main Initialization API (Implemented Per-OS)
//~ rjf: @per_os_impl Main Initialization API (Implemented Per-OS)
internal void
wm_init(void)
@@ -7,7 +7,7 @@ wm_init(void)
}
////////////////////////////////
//~ rjf: @os_hooks Graphics System Info (Implemented Per-OS)
//~ rjf: @per_os_impl Graphics System Info (Implemented Per-OS)
internal WM_SystemInfo *
wm_get_system_info(void)
@@ -18,7 +18,7 @@ wm_get_system_info(void)
}
////////////////////////////////
//~ rjf: @os_hooks Clipboards (Implemented Per-OS)
//~ rjf: @per_os_impl Clipboards (Implemented Per-OS)
internal void
wm_set_clipboard_text(String8 string)
@@ -32,7 +32,7 @@ wm_get_clipboard_text(Arena *arena)
}
////////////////////////////////
//~ rjf: @os_hooks Windows (Implemented Per-OS)
//~ rjf: @per_os_impl Windows (Implemented Per-OS)
internal WM_Window
wm_window_open(Rng2F32 rect, WM_WindowFlags flags, String8 title)
@@ -151,7 +151,7 @@ wm_dpi_from_window(WM_Window window)
}
////////////////////////////////
//~ rjf: @os_hooks External Windows (Implemented Per-OS)
//~ rjf: @per_os_impl External Windows (Implemented Per-OS)
internal WM_ExtWindow
wm_focused_external_window(void)
@@ -166,7 +166,7 @@ wm_focus_external_window(WM_ExtWindow handle)
}
////////////////////////////////
//~ rjf: @os_hooks Monitors (Implemented Per-OS)
//~ rjf: @per_os_impl Monitors (Implemented Per-OS)
internal WM_MonitorArray
wm_push_monitors_array(Arena *arena)
@@ -209,7 +209,7 @@ wm_dpi_from_monitor(WM_Monitor monitor)
}
////////////////////////////////
//~ rjf: @os_hooks Events (Implemented Per-OS)
//~ rjf: @per_os_impl Events (Implemented Per-OS)
internal void
wm_send_wakeup_event(void)
@@ -243,7 +243,7 @@ wm_mouse_from_window(WM_Window window)
}
////////////////////////////////
//~ rjf: @os_hooks Cursors (Implemented Per-OS)
//~ rjf: @per_os_impl Cursors (Implemented Per-OS)
internal void
wm_set_cursor(WM_Cursor cursor)
@@ -251,7 +251,7 @@ wm_set_cursor(WM_Cursor cursor)
}
////////////////////////////////
//~ rjf: @os_hooks Native User-Facing Graphical Messages (Implemented Per-OS)
//~ rjf: @per_os_impl Native User-Facing Graphical Messages (Implemented Per-OS)
internal void
wm_graphical_message(B32 error, String8 title, String8 message)
@@ -265,7 +265,7 @@ wm_graphical_pick_file(Arena *arena, String8 initial_path)
}
////////////////////////////////
//~ rjf: @os_hooks Shell Operations
//~ rjf: @per_os_impl Shell Operations
internal void
wm_show_in_filesystem_ui(String8 path)