freenode/#clasp - IRC Chatlog
Search
4:34:31
drmeister
I spent the whole day adjusting the static analyzer to extract the bit width of bitvectors and then decided to just special case it and compare the stamp to STAMP_SimpleBitVector_O and then calculate the size using SimpleBitVector_OO::bitunit_array_type::sizeof_for_length(capacity) + container_layout.data_offset;
4:35:22
drmeister
I figure an integer comparison to the stamp and a division by a constant integer is faster than a comparison and division by an integer determined at runtime.
12:08:58
drmeister
The "bit width" of a bitvector is 1, of a crumb-vector is 2 and of a nibble-vector is 4.
12:10:45
drmeister
Hey Shinmera - at some point I'll have to mention that I've completely broken the build on linut and linum - I haven't had time to come up with a solution.
12:11:37
drmeister
I added two more dependencies (libunwind and liblzma), which turned out to be useless because I can't get libunwind to work properly. I have to either get it to work or remove it again.
12:13:12
drmeister
I could get some basic backtraces working on linux if I could get libunwind to work - but it thwarted my initial attempts.
12:14:40
drmeister
Well, thank you. I guess that sounds like a passive aggressive way to ask if you could install libunwind - but really - I'm not sure how to proceed with it.
12:15:55
drmeister
I'll dig into it more once I get mps working, it did look like a nice way to get minimal backtraces.
12:21:26
drmeister
It's supposed to be a portable library to walk stack frames and gather info on them using DWARF. It has a mechanism to register JITted code - but I couldn't get it to work so I stepped back from it for a bit.
12:25:07
drmeister
It's tricky to get backtraces with function names for JITted frames and to match the frames up with Common Lisp arguments in some frames when (declare (optimize (debug 3)))
12:26:35
drmeister
I put in a question to the llvm-dev group - I should dig through my email and see if I got a response.