Search
16:48:02
scymtym
stassats: http://paste.lisp.org/display/358632
16:49:11
stassats
sounds like you're calling it with (((SPEED 0) (SAFETY 3) (DEBUG 0) (COMPILATION-SPEED 1) (SPACE 1)))
16:50:20
stassats
Calling (LAMBDA (&REST ARGS) (ELT ARGS 10)) compiled with (SPEED 0) (SAFETY 3) (DEBUG 0) (COMPILATION-SPEED 1) (SPACE 1)
16:50:32
stassats
or (funcall (LAMBDA (&REST ARGS) (ELT ARGS 10)) arguments) ...
16:51:29
scymtym
basically (funcall (compile nil '(LAMBDA (&REST ARGS) (declare (optimize (SPEED 0) (SAFETY 3) (DEBUG 0) (COMPILATION-SPEED 1) (SPACE 1))) (ELT ARGS 10))))
16:52:02
stassats
with proper line breaks, i guess that would be the clearest reporting
16:52:06
stassats
without any human words
16:52:35
scymtym
i wanted to preserve the source form and the spliced-in policy, though
16:53:01
scymtym
erm, preserve source form, print policy separately, i mean
16:53:14
stassats
how do you add the policy?
16:53:44
scymtym
by splicing it into the form as written in the message "basically …"
16:54:10
stassats
so, it is the actual compiled form, i'd say just display it
16:54:21
stassats
or i can't test it with just copy-and-paste
16:54:51
scymtym
maybe it could print a form that reproduces the error at the bottom
16:55:17
stassats
too much text, hard to parse visually
16:55:57
scymtym
i feared to many parens and unclear boundaries between form, policy, arguments and values otherwise
16:56:25
scymtym
would adding something copy-pastable at the end help?
16:56:54
stassats
just overloading with information
16:57:53
scymtym
i like it, but i will see what i can do
16:58:05
scymtym
later, after putting child to bed
16:58:27
scymtym
if i can, i would like to finish and push dynamic-extent.impure.lisp
16:58:48
scymtym
but now i get "caught WARNING: dead code detected at the end of SB-C::IR1-PHASES"
17:01:47
stassats
*check-consistency* again
17:03:22
scymtym
i haven't rebuilt since a few commits, so may not happen in HEAD
17:04:18
scymtym
https://techfak.de/~jmoringe/dynamic-extent.impure.lisp
17:04:24
scymtym
checkout 06383fe6c and run only that test
17:07:22
stassats
not clear from the warning which optimization settings have caused it
17:07:48
scymtym
the ir1-phases thing is from compiling the test code, i think
17:08:15
stassats
i'll *break-on-signal* it
17:12:59
stassats
that's from (MULTIPLE-VALUE-LIST NIL)
17:13:19
stassats
what's deleting code so late?
17:14:46
scymtym
i have to go now, will read the logs later
17:16:18
stassats
deleting an optional processor
17:19:33
stassats
i'd say that consistency check is just bogus
17:21:14
stassats
interestingly, it only happens with symbol arguments
17:23:06
stassats
symbols are propagated, but not number, that's curious
17:39:22
stassats
i think it should always flush-dead-code but not report if any has been flushed
17:43:24
stassats
or i can go earlier and see why it's not deleted
20:18:58
stassats
re ir1-phases warning, i think i got rid of by doing better optimization
20:19:47
stassats
and making code slightly more general, i.e. propagate-let-args replaces ir1-optimize-mv-bind after a little bit of modification
20:20:40
stassats
although the resulting code is the same, but the IR coming out of ir1-phases is better
20:20:41
scymtym
i will have to look at the elt &rest thing before pushing the test changes
20:20:51
stassats
scymtym: it's just a safety 3 difference
20:22:02
scymtym
i can run it with a reduce range of optimization settings
20:22:15
scymtym
but it's still a bug, isn't it?
20:22:29
stassats
no, it works as expected
20:23:08
stassats
we convert elt to nth with safety below 3
20:23:30
scymtym
but why is the warning for ELT correct?
20:23:38
stassats
and of course, my ir1-optimize-mv-bind change doesn't survive cold-init
20:23:43
stassats
scymtym: which warning? it's an error
20:24:17
scymtym
oh, right, i read my own error message wrong :)
20:24:24
scymtym
it's signalling at runtime
20:25:09
scymtym
i will just filter (safety 3) for that test
20:25:45
stassats
the test author wouldn't mind, i'm sure
20:26:01
scymtym
maybe i respect our existing tests too much
20:37:14
stassats
cold-init is as helpful as ever
21:10:26
stassats
what would really simplify the compiler: only having multiple value combinations
21:11:13
stassats
or more equal treatment between the two
21:14:43
stassats
not there yet, an ansi-test fails
21:42:21
stassats
not entirely happy with the change, could do more