freenode/#sbcl - IRC Chatlog
Search
16:56:11
flip214
stassats: ISTR you talking about having no -O for most archs; is that fixed already?
17:01:45
slyrus
dougk_: the call to sb-c:allocate-code-object fails to add the first (boolean) arg when #+immobile-code
17:23:05
sixbitslacker
hi. just checking before i report a bug -- does 1.4.0 pass tests with --with-sb-fastevel for everyone?
20:17:05
knobo
Does the new "Don't bother filling ignored variables." patch fill ignored variables if (optimize (debug 3))? ref Commit [a7b92f]
21:27:55
scymtym
sixbitslacker: the --with-sb-fastevel build fails a couple of tests. it is unfortunate but expected
21:29:17
scymtym
i investigated once, and iirc, it's mostly non-consing assertions that fail due to consing in a testing macro or similar
21:46:41
scymtym
stassats: do you know about any angles for making SIMPLE-VECTORs with fill pointers? i managed to speed up PACK-ITERATIVE some more by emulating that kind of vector (instead of incrementally consing and discarding lists). that got me thinking about the lack of an efficient vector that can do VECTOR-PUSH
21:53:19
stassats
and adding fill pointers for all vectors is not feasible — not enough widetags to go around
21:55:19
sixbitslacker
ok, thanks. it's something i hadn't run into in the past, which is why i asked (and reported it).
21:55:27
stassats
well, actually, you go the array header route, it only needs one extra widetag, but costs more, one indirection
21:59:13
scymtym
i haven't looked into that. do we exploit array widetag ranges to handle multiple widetags with bitwise operations?
22:00:43
scymtym
that's something i still have to add to the fastgf decision tree generator. it is smart about intervals with a fixed stride but not arbitrary bitwise operations
22:08:06
scymtym
stassats: thanks for your thoughts, i will keep them in mind for later. for now, i will try to finish and push the regalloc changes. the final form halved ironclad compilation time for me
22:09:33
scymtym
well, i made the simple-vector and the "fill pointer" two slots in the containing structure
22:11:02
scymtym
but it's kind of ugly either way. i wouldn't have done it hadn't it improved performance so much
22:13:11
stassats
i converted a lot of sequence functions to use with-array-data, but they're still bad for user code
22:14:44
stassats
i think i had an angle on that, resolving at creating time but then updating, but i forgot how by now
22:15:24
scymtym
for that, shouldn't both %SAVE-DISPLACED-ARRAY-BACKPOINTER calls be conditional on the displaced-to array being adjustable? one doesn't seem to be
22:17:28
stassats
still trying to delete optional entries (and just stumbled on a tangent of my own)
22:18:03
scymtym
last time we talked about this regarding the general case, i suggested using a hash-table to improve the O(N) backpointer removal and you suggested getting rid of the current backpointer mechanism and handling things in gc
22:22:21
stassats
the tangent was, if we have to check min and max arguments, and both are powers of two it can be done with a single mask
22:49:41
scymtym
trying to sleep with things not finished can be worse, especially when under the impression of having thought of a working solution
22:51:10
stassats
ARM64 can compare and shift at the same time, but the comparison values has to be loaded into a register first
0:54:07
stassats
got (defun foo (&rest args) (declare (ignore args)) 10) to produce the same code as (defun foo () (declare (optimize (safety 0))) 10)
1:52:59
stassats
got the input stream hosed, can't print a backtrace => attach gdb, call ldb_monitor()