freenode/#clasp - IRC Chatlog
Search
3:34:26
drmeister
2.5 hour lectures are nuts. So today we spent about an hour and a half doing problems.
3:50:10
drmeister
I can get function return addresses and function names using backtrace_symbols. I can recognize and demangle the Common Lisp function names.
3:51:07
drmeister
I was hoping I could match up shadow stack info with the info from 'backtrace' but now that I think about it - I don't think I can. Damn.
3:57:14
drmeister
Dang - right now I don't see how to get anything other than an ECL-style backtrace.
4:00:37
drmeister
To scan the stack from top to bottom looking for the return addresses that are returned by 'backtrace'.
4:02:18
drmeister
If I had the addresses of the stack frames on the stack, then I could figure out which spilled arguments on the stack belong to which stack frames.
8:29:13
beach
LET* seems to work. It is converted to nested LETs (associating the declarations with the corresponding LET), which are then converted to lambda forms.
13:24:24
Bike
the fixnum multiplication sequence on sbcl seems to go: 1) untag one operand. 2) imul 3) if imul doesn't report overflow, return loword. 4) shift n bits from the right of hi into lo and shift hi, where n is the number of tag bits. 5) sign extend lo; if it doesn't change, allocate a one word bignum and return it 6) allocate a two word bignum and return it
13:25:10
Bike
having a mult instruction that returns two fixnums doesn't exactly work because of the signs, i think. to get actual fixnums, the instruction has to do more work that it then undoes
13:28:59
Bike
uh, with fixnum arguments. for everything else it goes to a 'static fun' which i guess is a routine elsewhere