freenode/#clasp - IRC Chatlog
Search
0:07:04
Bike
i know you've been thinking of things in terms of known calls, but i think if possible i'd like to attach that derivation information to function types and propagate like anything else
0:07:20
karlosz
well, if you had a slot on the linear-datum directly, you can just use the same "rewriting" mechanism
0:07:24
Bike
would be cool if we could determine (funcall (if ... #'+ #'-) fixnum fixnum) an integer, that kind of thing
0:09:02
Bike
i mean i was imagining that the function type would have the whole type deriver function shebang attached
0:16:50
karlosz
if we can get the set of primops in HIR to get compiled in bir but without the inlining and delete machinery id say thats a win
0:22:31
Bike
with the local call changes it might just be printing the external entry point, or something
0:23:05
Bike
https://github.com/clasp-developers/clasp/blob/master/src/lisp/kernel/cmp/disassemble.lsp#L34-L43
0:44:08
Bike
the local call stuff might really require some rethinking there, though, since there are multiple llvm functions to disassemble
1:00:29
karlosz
im thinking of how to do contification more elegantly with hir because we have a built in way to merge with phis
1:01:01
karlosz
so seeing if theres a good abstraction to be made out of making blocks with phis and dealing with that kind of thing
1:02:31
Bike
llvm has the concept of a module, but by the time you're looking at a function object it's gone
1:04:05
Bike
i mean, it's a compiler thing. it's gone for the same reason the bir module is gone. you just have the binary left
1:04:36
Bike
obviously the function has a pointer to the start of the code, but that's about it. i don't remember how we even find the end
1:15:11
karlosz
yeah im disappointed that our runtime function objects don't have more stuff attached to them
1:16:39
karlosz
and the code component object is like the runtime representation of a module and has the metadata for that group of compiled together functions/entry points
1:17:09
karlosz
and plus the GC needs to know about it so the thing can get collected when its no longer referenced