freenode/#sbcl - IRC Chatlog
Search
13:30:20
pfdietz
I am seeing a heap corruption error in some varieties of random testing on the SEARCH function. Trying to track it down, but reproducibility is difficult.
17:54:16
stassats
judging by the comments, i did envision that, but " only when searching for "" and :start2 being equal to :end2"
18:06:32
stassats
ok, that's easy, now, why doesn't (position a (the (simple-vector 8) b)) derive that it's below 8
18:20:32
stassats
i should try making a proof of concept, before drowning in duplicate transforms/type derivers
18:22:18
pkhuong
might also be useful to have another kind of note to drive the post-IR1 pattern matching
18:25:53
stassats
will start with type derivation, as i don't have to think about removing dead code
20:52:23
jasom
(disassemble (lambda (x) (declare (optimize (speed 3)) (type (unsigned-byte 16) x)) (sb-rotate-byte:rotate-byte 1 (byte 16 0) x)))
21:02:17
stassats
i'd say sb-rotate-byte:rotate-byte should implement 16/8-bit rotates where possible and perform inline rotations for arbitrary widths
21:17:42
jasom
I just did the following for a 16-bit rotate of X by N: (logior (ldb (byte n (- 16 n)) x) (ash (ldb (byte (- 16 n) 0) x) n))
21:20:16
jasom
can't get a non-word-sized rotate in 1 instruction on PPC , but I think you can do it with 2 instructions rlwinm,rlwimi
21:39:49
stassats
pfdietz: can you produce code which does (eql (function x y) result) and then check if it's correct?
21:40:14
stassats
that'll have an easier job catching bad derivations than accidentally producing conflicting types
21:48:01
stassats
type derivations bugs are hard to catch and produce weird failures because normally nothing acts on that information