freenode/#clasp - IRC Chatlog
Search
14:03:34
drmeister
Aren’t they? The key can be a range of addresses anywhere between the start and end of the function
14:04:39
stassats
can't you just get the address, go there, and backtrack until you hit 'function FOO starts here'
14:05:54
Bike
so the gc is not frozen during the part of backtrace printing that does actual printing? i guess that might be ok
14:06:42
drmeister
Why not a sorted list of addresses and use a binary search? It seems like the best solution
14:09:40
stassats
it doesn't actually need to be any fast, how many functions are you going to have, a 1000?
14:13:50
drmeister
The symbol table is built once for each fasl on loading. It’s deleted when you reload a fasl. That’s all the maintenance there is.
14:15:23
drmeister
That is jitted - that has a separate symbol table and they just keep accumulating.
14:21:30
drmeister
Not yet at least. We have a scheme but it’s tricky. We would keep object files and generate new relocated code when we need to move code.
14:23:46
drmeister
We do use position independent code. But there is no such thing as a position independent itanium unwinding table. Those get generated alongside the code to handle unwinding. I’m still learning about this thought.
14:26:05
drmeister
I’ve been learning a lot about elf files and machO files. Maybe I’ll figure something better out soon.
14:29:41
drmeister
Since we maintain c++ compatibility - I need to work with these complex systems that I am still figuring out.
19:11:19
specbot
ensure-generic-function-using-class: http://metamodular.com/CLOS-MOP/ensure-generic-function-using-class.html
19:12:47
Bike
defmethod uses ensure-generic-function. ensure-generic-function calls ensure-generic-function-using-class. ensure-generic-function-using-class calls reinitialize-instance. so we do reinitialize-instance for any defmethod.
19:14:01
Bike
except that in clasp when a generic function is reinitialized we wipe the call history
19:41:08
Bike
I"m really not clear on what happens if, like, you reinitialize-instance a generic-function to change its lambda list but leave its methods there
19:41:30
Bike
i think i'll just avoid erasing the history if the reinitialization doesn't actually change anything
19:45:04
Bike
this also means that all that complicated code for keeping the call history consistent when a method is added has probably never been tested
21:23:08
copec
/peanut_gallery You guys should try to link clasp with Unreal Engine for some VR molecule building
21:24:07
drmeister
Ha ha - I'd love to see that - I'd even support it. Maybe we should do that as a Google summer of code project.
21:26:52
copec
I'm doing a personal project right now using wikihouse and a maslow cnc to build an office studio, and working with the current wikihouse software stack in https://www.grasshopper3d.com/ has made me interested in building all sorts of things out of plywood/osb, using some good old fashioned AI to solve problems
21:33:10
copec
I came across this the other day, very neat visuals: https://www.youtube.com/watch?v=WFCvkkDSfIU
21:49:17
drmeister
Oh great - now I'm seeing a similar crash in llvm to the one we were seeing a couple of days ago.