freenode/#sbcl - IRC Chatlog
Search
11:33:30
phoe
Is (find-method #'print-object '() (list (list (find-class t)) (list (find-class t)))) a valid FIND-METHOD call?
11:33:34
phoe
I thought that (find-method #'print-object '() (list (find-class t) (find-class t))) was valid, but surprisingly, the former also works on SBCL.
12:51:24
pfdietz
I think the image I was running that in got corrupted somehow, I think when I interrupted something.
12:52:46
pfdietz
I guess. It's possible this bug was fixed in a commit after I found that problem, but I foolishly rebuilt sbcl from current master before I thought to check that.
12:54:51
pfdietz
Maybe slime is doing something weird on interrupts? There was some message about some internal things being redefined.
12:57:35
pfdietz
btw, I have pushed my working copy of ansi-test to github, but I don't think it's terribly usable by others right now. I plan to make it more so, particularly the random tester part.
12:58:31
stassats
would be useful, as i sometimes do experimental stuff and want to see where it breaks
12:59:33
stassats
i need to do less experimental stuff, spending a day to save two bytes is not really efficient
13:09:22
scymtym
phoe: the former is indeed invalid - even with SBCL's specializer extensions - but the parser is sloppy
14:15:05
scymtym
could anyone briefly review https://github.com/scymtym/sbcl/compare/parse-specializer-fix~4...parse-specializer-fix
14:23:45
stassats
i want a specialized check-bound to be selected for (defun bar (x y) (declare (fixnum y)) (svref x (+ y 2))), for unsigned-num
14:24:12
stassats
but it'll be selected only when the cost is lower than the tagged variant, but then it might get selected when the index is actually tagged
14:25:38
scymtym
i don't see how (sb-pcl:parse-specializer-using-class '(eql FORM) GF) can work at all unless FORM can be evaluated in the null lexical environment
14:28:12
scymtym
this is not always called under our control but supposed to be called by implementers of MOP extensions. so they would have to take care to evaluate FORM
14:29:41
scymtym
if somebody took the specializer s-expression from a DEFMETHOD form and called PARSE-SPECIALIZER-USING-CLASS with it, they would be screwed
14:39:00
scymtym
stassats: is the + 2 not reflected in the displacement? or is that already folded into a untagging/interior offset for RCX?
14:43:20
scymtym
that prevents folding the shift into the scale? i was wondering why the displacement is 1
14:46:31
scymtym
i wonder whether pkhuong's idea for ir2 expression trees combined with tree tiling would be practical for this kind of thing
14:46:43
scymtym
it worked pretty well in my toy setup: https://techfak.de/~jmoringe/instruction-selection-rewriting.ogv
14:53:20
stassats
could at least use predetermined SCs to drive instruction selection, without iterating over all possibilities
15:09:44
stassats
maybe when doing emit-moves-and-coercions i can actually change the target VOP if it can handle the coercion