freenode/#clasp - IRC Chatlog
Search
22:17:24
Bike
when clasp is fully up, if you compile a (make-instance 'class ...) form, a compiler macro rewrites that into (funcall (ensure-constructor-cell 'class ...) ...) or so
22:17:42
Bike
ensure-constructor-cell is a function that finds or makes a funcallable-object that implements the behavior of make-instance
22:18:28
Bike
now, the code involved here itself uses make-instance. but if those make-instance calls were rewritten in this way, you'd end up with the system trying to call ensure-constructor-cell before all the constructor cell machinery is ready
22:19:06
Bike
since a while back i fixed bclasp to respect notinline, all you have to do is declare make-instance notinline there, which is what my change did.
22:20:51
Bike
https://github.com/clasp-developers/clasp/commit/76baa9fe8c867a5a79d10993b2dbca2f41de7dc2#diff-6e225f117d3c2c8b7e67e6186fe0e42d as you can see here
22:21:25
Bike
the "apply #'make-instance" was an earlier workaround to accomplish the same goal of stopping the rewrite, but i busted that up a while back. the notinline thing should be more robust.
22:23:07
drmeister
Or there is still a problem and we will have to wait until it surfaces and then figure out why it's happening.
22:23:47
drmeister
Or wrap this thing in a (let ((*absolutely-dont-invoke-bclasp-compile-at-this-point* t)) ... and test in bclasp-compile if that dynamic variable is set?
22:44:07
drmeister
Here as well. I'm building the MPS version of cando now to see if this problem is the one that I was encountering.
0:53:31
Bike
the only thing in that file is like (defvar *english* (make-instance 'english)) or something.
1:03:08
drmeister
It really is helpful to use a debugger with some kind of a GUI - I'm using the -tui option with udb - which is like gdb.
1:06:43
drmeister
And codegen-startup-shutdown is a decent sized, regular looking function. What's up with that?
6:42:26
karlosz
so we've determined none of the recent type errors popping up is related to potential fall out from type inferenced being put into master?