Slow and steady wins the race, as they say. Lysa progress has been chugging along at a steady pace as I try to keep up with a rigorous schedule of streaming every day (insert Rocky training montage here).
I've been implementing DWARF instructions over the last week(ish) and it's going pretty smoothly. However, like the genius that I am, I've decided to just implement most of them without testing them thoroughly. There are a couple reasons for this, but I expect Lysa to explode when I finally plug in the DWARF VM. It'll be great.
The exciting part about this VM nonsense is what it will do for Lysa. On Linux, executable files are encoded with ELF information that tells the OS how to run the file. When you add debug symbols, you get DWARF information which includes "location lists." These are what tell the debugger where to find important things in memory. Once we can evaluate DWARF expressions, we can evaluate location lists (lists of DWARF expressions) that tell us where to find the values of variables and other things in memory.
We're getting closer and closer to a sort of watchlist function where we can keep an eye on memory and do some neat little tricks.
So, keep showing up for streams, keep your eyes on the project, and keep being excited because Lysa is coming!
P.S. It has been insanely cool hanging out with people on stream while I work. There are even a few regulars who show up to almost every stream. All of you folks are fantastic! See you on Twitch, o7