freenode/#clasp - IRC Chatlog
Search
18:16:48
cracauer
This isn't an emergency, just something I would like to play with to look into speculative compilation.
18:17:33
Bike
this will also mean inline definitions won't be saved, but bclasp doesn't do that anyway
18:18:07
Bike
it's basically a special operator that's implemented for cclasp but not bclasp. there are a few of them
18:34:02
drmeister
luis: everything is compiled to llvm-ir so calls to c++ are through one pointer indirection or direct.
18:35:32
luis
drmeister: how do you generate calls that follow the C++ ABI? Do you use libclang or something like that?
18:36:05
luis
drmeister: e.g., simply calling a method. That requires at least knowing its mangled name, right?
19:56:25
drmeister
We just make llvm calls - they are c++ calls - I’m very proud that I have only once needed to worry about c++ name mangling and not for a function call.
20:15:47
drmeister
That’s the term right? We call. C++ function (clasp intrinsic) to call c++ methods.
21:10:46
luis
drmeister: could you point me to the code where the c++/llvm function call is generated? Trying to figure out how llvm works
21:20:43
Bike
https://github.com/clasp-developers/clasp/blob/dev/src/lisp/kernel/cmp/cmpir.lsp#L1234-L1236 here
21:24:52
Bike
we call a bunch of them to build up an IR module, and then give the module to llvm to lower to object code