freenode/#clasp - IRC Chatlog
Search
3:35:05
drmeister
It looks like I stumbled onto a way to obtain the starting addresses of all jitted functions.
3:36:46
drmeister
So I should be able to generate a disassembly of every function associated with compilation of a form.
5:29:15
drmeister
There appears to be a facility to symbolicate the disassembled output - but I can't figure it out (sigh)
13:39:08
beach
Progress! I can convert a CST corresponding to (function (lambda (x) x)) to an AST. Now working on (function (lambda (x) (declare (special x)) x)).
13:42:24
beach
Bike: At some later point I have a question for you about alien-declarations. You carefully pass them to the canonicalizer, and then they are ignored by it. I would think either not pass them at all, or use them to signal an error if some unknown declaration specifier is passed.
13:43:07
Bike
there was some code in cleavir-env that used an incorrect declaration by accident, and sbcl caught it but not cleavir.
13:47:56
Bike
in https://github.com/robert-strandh/SICL/blob/master/Code/Cleavir/Code-utilities/declarations.lisp#L71-L79 i mean.
13:47:59
beach
OK, I thought that the TYPE symbol had already been added. I must have been wrong about that.
13:48:43
Bike
still, i think a warning (or an error, which the implementation downgrades to a warning) would be preferable
13:49:49
beach
It is implementation-specific stuff, but I think there is a protocol function for it, no?
13:51:19
beach
OK, better add such a thing then. Say type-function, to be analogous to macro-function. I'll give it some thought.
13:51:35
beach
I need to look at what form such a declaration may take. Does it have to be a symbol?
13:53:07
Bike
type-function wouldn't be quite enough, unless you also want to hardcode CL types that don't necessarily expand into anything, and disallow implementation types that aren't also classes
13:58:35
beach
Well, implementations that allow that can not use Cleavir then, at least not to compile code with non-conforming type declarations.
13:59:09
beach
In other words, I am not planning to take that possibility into account. We have enough implementation-specific stuff as it is.