freenode/#clasp - IRC Chatlog
Search
17:43:37
drmeister
Bart is so loud. It feels like you are being dragged through a gravel pit in a shipping container.
17:52:25
drmeister
frgo: I hope to be able to work hard on cffi to finish it up this coming week. I've almost got the cclasp backtrace issue licked
18:00:16
drmeister
I've decided to implement the solution as setting up cclasp generated functions as having one of four permutations of exception handling. Yeah - one of four.
18:02:45
drmeister
1: no exception handling. 2: a backtrace frame. 3: the function is the target of an UNWIND instruction. 4: 2 and 3 together.
18:04:54
drmeister
It's like a C++ function with no try/catch. Or one or two nested try blocks. One try block cleans up the backtrace frame and the other handles UNWIND
18:52:20
frgo
drmeister: Well, following only partly here - not deep enough in the subject. Why not only do nr 4 as the most general case?
19:07:49
frgo
I figured as much. I didn't understand why there's the need for a backtrace frame, though, in variant 2
20:52:34
drmeister
Getting backtrace with arguments passed to the function is very valuable for debugging.
20:53:58
drmeister
The only way I have right now to achieve that is to spill the arguments into a structure in the stack frame and push a pointer to that structure on entry to function and pop it on exit.
21:18:13
drmeister
It does - but I'd need to figure out How to parse DWARF or incorporate lldb into clasp - and let it parse dwarf
21:26:28
drmeister
Since I need backtraces now - I'm maintaining a shadow stack of backtrace frames.