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.
14:34:54
drmeister
'cause it's deadsville over here - although I did have one productive conversation about moving a 3000lb marble table
14:35:59
drmeister
We just got an instrument called a "Langmuir trough", it's used to create single molecule thick membranes. It benefits from vibration suppression. The 3000lb marble table in storage in our chemistry dept. basement would do that nicely.
14:37:26
drmeister
I am having some productive quiet time sorting out bitvector size calculations for MPS.
14:38:58
drmeister
I'm also rearranging the MPS object layout tables to eliminate pointer chasing in many cases.