freenode/#clasp - IRC Chatlog
Search
15:04:13
beach
I am willing to bet that vectors are quite common, so that case is probably worth some specialization.
15:05:29
Bike
i could, but removing multiplication by 1 seems like something that should be optimized out anyway. (ideally. right now i might be able to overcome my principles)
15:33:09
Shinmera
beach: I'm intending on making another push for the Cleavir bachelor's thesis. Regarding that, would you be willing to write up a report at the end of it documenting your view of my performance? I'm hoping that that'll help alleviate some of their worries, as it should give them an insight into what happened and how I did for the parts they can't directly supervise.
15:34:22
Shinmera
I'll arrange a meeting with them as soon as possible to see if I can convince them.
15:34:49
Shinmera
In other news, I passed last semester's classes, so I don't have to repeat anything next Spring, hoorah.
15:39:12
Shinmera
Maybe I'll find a job that interests me. Maybe I'll try to do an internship at Google.
16:09:50
Bike
not sure how to call an intrinsic that takes a uint, and the array-dimension instruction isn't working for some reason
16:18:26
drmeister
We should define a %uint% type using (define-symbol-macro %uint% %i32%) ... juuuust in case someday we are on a system that has a non 32bit uint.
16:31:11
Bike
defining like ten different functions for every intrinsic is not good, but the differences are juuuuust enough that i don't know about a macro
16:40:27
drmeister
We may be able to write template functions for intrinsics and then expose specialized versions.
16:40:29
Shinmera
Eg a version upgrade scheme could be modelled by change-classing a version through each of its concrete states to arrive at a final version.
16:41:51
Shinmera
Well I kind of doubt you have a lot of stuff going on in update-instance-for-different-class
17:03:26
Bike
perhaps update-instance-for-different-class has fastgf problems since the stamp is changing somewhere in there.
18:56:19
drmeister
Hmmm, even when I duplicate the method signatures and what they do - it works fine.
18:57:32
drmeister
But I shouldn't need to satiate change-class - there is clearly something subtle wrong with the dispatcher that is being generated for that. I'll write it out and step through it.
19:04:07
robink
Does the build_cboehm Clasp build process log anywhere besdies /tmp/dispatch-history/dispatch-miss.log?
19:04:57
robink
(The Gentoo Sandbox is tetchy about builds writing anywhere beyond ${S} (the build sourcetree))
19:06:15
robink
(...and I can't fake out silently having writes fail to /tmp/dispatch-history/dispatch-miss.log)
21:11:24
robink
Bike: Well, the build process is *complaining* about the fact that it can't write to /tmp/dispatch-history/dispatch-miss.log
21:12:42
Bike
drmeister: there a switch or something to flip so that it doesn't write out the fastgf stuff?
21:24:18
drmeister
robink: It's just on for the short term while I test things - do you need it off right now?
21:24:46
drmeister
Ooops - sorry - I thought it was dormant until I turned it on - but not the debugging part I guess.
21:25:16
drmeister
(format nil "~&THIRD!!!! Condition of type: ~A~%~A~%" (type-of condition) condition)
21:40:48
drmeister
So my problems for the last week were incorrect updates to the specializer-profile.
22:07:21
drmeister
::notify Bike Could you check that when we add parameter arguments that they start counting at 1? I'm 99.999% certain they do - but it's an off-by-one error...
22:21:28
drmeister
It was on [180 of 301] total memory is 1.2GB and 2951 dispatch functions have been generated and then it went nuts.
22:22:22
Bike
drmeister: for parameter attributes there's an addParamAttr that takes a parameter number rather than an attribute index, and that's what clasp is using
22:22:22
Colleen
Bike: drmeister said 15 minutes, 1 second ago: Could you check that when we add parameter arguments that they start counting at 1? I'm 99.999% certain they do - but it's an off-by-one error...
22:23:01
drmeister
https://github.com/Bike/SICL/blob//Code/Cleavir/Intermediate-representation/datum.lisp#L9
22:23:11
drmeister
https://github.com/Bike/SICL/blob/dev/Code/Cleavir/Intermediate-representation/datum.lisp#L9
22:23:27
drmeister
https://github.com/Bike/SICL/blob/master/Code/Cleavir/Intermediate-representation/datum.lisp#L9
22:24:12
drmeister
That's all there is - (DEFCLASS datum ...) do classes get redefined at compile time?
22:25:24
drmeister
Could it be redefining the class - making a LOT of datums in the HIR out of date?
22:27:05
Bike
and i wouldn't expect that the class is redefined in the middle of the compile i.e. while there are datum instances around.
22:30:26
Bike
i don't know what you mean by trapping. i think the lldbrc already has something set up to break on simple_error.
22:49:25
Bike
oh, that might be basically the same problem i ran into... which is that when you redefine a class, it tries to take away the old methods and slots and things before reinstalling them, but since it's part of the compiler it might try to use the compiler and then you're hosed.
22:59:32
drmeister
Should I somehow tell the build system that it should use the bclasp compile-file for datum.lisp?
23:00:00
Bike
well i don't know exactly what it's doing. it seems like fastgf doesn't really invoke cleavir.
23:01:42
Bike
the problem i ran into was, when building cleavir, it would hit that file, then the defclass, and that would undefine the class and accessors and such, and then with all that stuff undefined it would do make-instance, which with my changes could trigger the compiler, which would then find datum undefined and die
23:04:45
drmeister
Does INTERRUPTED-ERROR mean anything to you? It's the something I see in the dispatch-miss.log
23:08:58
drmeister
What about %gid? That's the stealth mixin stuff I put in - you were having issues with that weren't you?
23:14:44
drmeister
It may be trying to invoke a gf called NAME and then asking for a stealth mixin that may not be set up
23:24:41
Kevslinger
ACTION is reading a book about astronomy and gets confused every time he reads "Jupiter" instead of "Jupyter"
1:43:30
drmeister
I found them very useful when I was debugging cleavir's hir and mir generation but I haven't looked at them for a long time.
1:44:11
drmeister
If they are very useful, maybe beach would consider adding them to the instruction and datum classes - or add them as a feature.
1:45:39
drmeister
I'm thinking it might be a combination of (1) stealth mixins in a compiler class (2) building the compiler using the compiler (3) the debugging code that I had turned on.
1:46:12
drmeister
No - I don't know exactly what the issue was. We can turn them back on and debug the problem.
1:52:14
drmeister
This is such a relief - it's only generating a few hundred dispatch functions and they have negligible impact on memory usage
2:00:31
drmeister
Hmmm, there is still something going wrong. At the very end of the build it's generating a lot of these warnings:
2:01:06
drmeister
These mean that generic functions are generating dispatch-miss and when they try to update the call-history the selector is already in the call-history.
2:08:15
drmeister
There are many generic functions generating that warning. I'm going to try a complete rebuild to see if that clears it up.