freenode/#sbcl - IRC Chatlog
Search
21:39:59
corci
Project sbcl-master » without-threads,ubuntu_trusty_32bit build #2873: FIXED in 20 min: http://ci.cor-lab.de/job/sbcl-master/featureset=without-threads,label=ubuntu_trusty_32bit/2873/
21:44:07
corci
Project sbcl-master » without-threads,MAC_OS_mavericks_64bit build #2873: FIXED in 24 min: http://ci.cor-lab.de/job/sbcl-master/featureset=without-threads,label=MAC_OS_mavericks_64bit/2873/
21:47:24
corci
Project sbcl-master » default,ubuntu_trusty_32bit build #2873: FIXED in 28 min: http://ci.cor-lab.de/job/sbcl-master/featureset=default,label=ubuntu_trusty_32bit/2873/
21:47:45
corci
Project sbcl-master » without-unicode,MAC_OS_mavericks_64bit build #2873: FIXED in 28 min: http://ci.cor-lab.de/job/sbcl-master/featureset=without-unicode,label=MAC_OS_mavericks_64bit/2873/
21:48:44
corci
Project sbcl-master » default,MAC_OS_mavericks_64bit build #2873: FIXED in 29 min: http://ci.cor-lab.de/job/sbcl-master/featureset=default,label=MAC_OS_mavericks_64bit/2873/
21:49:21
corci
Project sbcl-master » fancy,MAC_OS_mavericks_64bit build #2873: FIXED in 30 min: http://ci.cor-lab.de/job/sbcl-master/featureset=fancy,label=MAC_OS_mavericks_64bit/2873/
21:51:50
corci
Project sbcl-master-windows » Windows_7_32bit build #1782: FIXED in 31 min: http://ci.cor-lab.de/job/sbcl-master-windows/label=Windows_7_32bit/1782/
21:56:36
corci
Project sbcl-master » fasteval,ubuntu_trusty_32bit build #2873: FIXED in 37 min: http://ci.cor-lab.de/job/sbcl-master/featureset=fasteval,label=ubuntu_trusty_32bit/2873/
21:59:57
corci
Project sbcl-master » fasteval,MAC_OS_mavericks_64bit build #2873: FIXED in 40 min: http://ci.cor-lab.de/job/sbcl-master/featureset=fasteval,label=MAC_OS_mavericks_64bit/2873/
22:01:19
corci
Project sbcl-master » default,ubuntu_trusty_64bit build #2873: FIXED in 42 min: http://ci.cor-lab.de/job/sbcl-master/featureset=default,label=ubuntu_trusty_64bit/2873/
22:02:10
corci
Project sbcl-master » fancy,ubuntu_trusty_32bit build #2873: FIXED in 42 min: http://ci.cor-lab.de/job/sbcl-master/featureset=fancy,label=ubuntu_trusty_32bit/2873/
22:09:14
corci
Project sbcl-master » without-unicode,ubuntu_trusty_32bit build #2873: FIXED in 49 min: http://ci.cor-lab.de/job/sbcl-master/featureset=without-unicode,label=ubuntu_trusty_32bit/2873/
22:12:32
corci
Project sbcl-master » without-unicode,ubuntu_trusty_64bit build #2873: FIXED in 53 min: http://ci.cor-lab.de/job/sbcl-master/featureset=without-unicode,label=ubuntu_trusty_64bit/2873/
22:15:48
corci
Project sbcl-master » fasteval,ubuntu_trusty_64bit build #2873: FIXED in 56 min: http://ci.cor-lab.de/job/sbcl-master/featureset=fasteval,label=ubuntu_trusty_64bit/2873/
22:18:52
corci
Project sbcl-master » safepoints,ubuntu_trusty_32bit build #2873: FIXED in 59 min: http://ci.cor-lab.de/job/sbcl-master/featureset=safepoints,label=ubuntu_trusty_32bit/2873/
22:20:04
scymtym
i could change notifications to failures only or sbcl-master only (as opposed to individual configurations)
22:22:47
corci
Project sbcl-master » without-threads,ubuntu_trusty_64bit build #2873: FIXED in 1 hr 3 min: http://ci.cor-lab.de/job/sbcl-master/featureset=without-threads,label=ubuntu_trusty_64bit/2873/
22:23:02
stassats
(defun foo (x) (named-lambda abcd () (labels ((%f17 (&key (key1 (%f17 x 1)) &allow-other-keys) x)))))
22:24:11
stassats
so the closed over X is not really closed over, so it doesn't put it into the same component
22:24:43
stassats
changing to (key1 (%f17 1 1)) i get three components #<COMPONENT :NAME (LABELS %F17) {100C3622C3}> #<COMPONENT :NAME (XEP ABCD) {100C3634B3}> #<COMPONENT :NAME ABCD {100C3646D3}>
22:54:34
stassats
i'm print the blocks in dolist (component-from-dfo components-from-dfo), but it's not the first component, so it's already after some calls to compile-component
22:59:23
stassats
so, the first compile-component is referencing the lambda from the second component, it has a reference to its variable
23:38:11
nyef``
Also, the names that result from using JOIN-COMPONENT or whatever it is are also absolutely stupid.
23:46:39
stassats
i suppose XEP ABCD should go to the component which references it, find-initial-dfo-aux doesn't suppose so
0:04:03
stassats
not really, in a simple (lambda () (lambda ())) it doesn't matter if i reverse the result of find-initial-dfo
0:15:04
stassats
(physenv-closure (get-lambda-physenv functional)) for a reference to xep abcd says it has a closure
0:30:54
stassats
apparently this is the case here, and that allowed me to further reduce the test case
0:36:33
stassats
reduced down to (defun foo (x) (lambda () (labels ((f (&optional a) (values x #'f))))))
0:46:08
nyef``
Yes, circular references keep functionals alive for a while. That was a goodly part of the point of the DCE pass.
0:47:08
stassats
it looks like the lambda gets its own component, i.e. it's not a closure, since it neither calls anything or references any variables
0:58:47
stassats
(defun foo (x) (labels ((f (&optional a) (values x #'f))))) allocates a closures even though it never escapes
0:59:46
stassats
and find-initial-dfo doesn't see the child function through calls-or-closes, because it's referenced only through %ALLOCATE-CLOSURES
1:40:25
nyef``
Okay then. I won't claim that DCE is particularly intelligent, after all. It's "just" a mark/sweep collection pass on a data structure, after all.
1:40:36
stassats
(defun foo (x) (lambda () (labels ((f () (values x #'f)))))) crashes on old versiones before DCE
1:44:04
stassats
why does it say ;;; - It is of KIND :OPTIONAL (an OPTIONAL-DISPATCH entry point, which may not be deleted even if it is not referenced).?
1:45:01
stassats
i'm sure it introduces a new one, but the point, dce is already smart enough to delete it, but avoid deleting optional entry points
1:54:26
nyef``
It may be that you can delete :OPTIONALs IIF the other associated functionals are also dead?
3:07:24
stassats
(defun foo () (labels ((f (&key a) a)) (f) #'f)) it gets used, but goes to the main entry, no reason to complicate it
3:37:52
stassats
maybe ignoring bind deletion will reduces the number of nuisance notes in other areas