freenode/#sbcl - IRC Chatlog
Search
17:47:50
phoe
huh, let's try it, because why not - if you try compiling the completely macroexpanded code, where are the warnings located?
17:52:50
phoe
okay, the smallest test case I've found that seems to trigger this is (defun foo (startr endr) (do ((i startr (1+ i))) ((> i endr)) (declare (dynamic-extent i) (fixnum i))))
18:10:59
phoe
in the FOO function, the current error is that it could not stack allocate #:G9 or something
18:11:20
phoe
but if I put (declare (fixnum startr endr)) in there, suddenly the warning turns into "could not stack-allocate STARTR"
18:17:37
slyrus_
using loop gives no errors and smaller code. see the example at the bottom of the gist.
18:23:17
phoe
also http://www.sbcl.org/manual/#Dynamic_002dextent-allocation does not show any support for stack-allocating numbers, so that warning might actually be legitimate
18:26:25
slyrus_
so which is it? it's stack-allocated or not :) removing the dynamic-extent declaration makes the warning go away.
18:29:20
slyrus_
hmm... looks like I must have discovered this once before as I have a #-sbcl before the dynamic-extent declaration in another macro a few lines down.
18:57:23
phoe
my instinct is that SBCL does not want to D-X numbers because fixnums can blow up into bignums which require consing at runtime
19:00:19
corci
Project sbcl-master-windows » Windows_7_32bit build #2468: FAILURE in 20 min: http://ci.cor-lab.de/job/sbcl-master-windows/label=Windows_7_32bit/2468/
19:35:41
corci
Project sbcl-cross-build-master » sparc,ubuntu_xenial_64bit build #384: FAILURE in 1 min 52 sec: http://ci.cor-lab.de/job/sbcl-cross-build-master/architecture=sparc,label=ubuntu_xenial_64bit/384/
19:35:48
corci
Project sbcl-cross-build-master » ppc,ubuntu_xenial_64bit build #384: FAILURE in 1 min 58 sec: http://ci.cor-lab.de/job/sbcl-cross-build-master/architecture=ppc,label=ubuntu_xenial_64bit/384/
19:37:20
corci
Project sbcl-cross-build-master » arm,ubuntu_xenial_64bit build #384: FAILURE in 3 min 30 sec: http://ci.cor-lab.de/job/sbcl-cross-build-master/architecture=arm,label=ubuntu_xenial_64bit/384/
19:37:26
corci
Project sbcl-cross-build-master » arm64,ubuntu_xenial_64bit build #384: FAILURE in 3 min 36 sec: http://ci.cor-lab.de/job/sbcl-cross-build-master/architecture=arm64,label=ubuntu_xenial_64bit/384/
19:38:21
corci
Project sbcl-cross-build-master » alpha,ubuntu_xenial_64bit build #384: FAILURE in 4 min 31 sec: http://ci.cor-lab.de/job/sbcl-cross-build-master/architecture=alpha,label=ubuntu_xenial_64bit/384/
19:38:45
corci
Project sbcl-cross-build-master » hppa,ubuntu_xenial_64bit build #384: FAILURE in 4 min 55 sec: http://ci.cor-lab.de/job/sbcl-cross-build-master/architecture=hppa,label=ubuntu_xenial_64bit/384/
19:38:47
corci
Project sbcl-cross-build-master » mips,ubuntu_xenial_64bit build #384: FAILURE in 4 min 57 sec: http://ci.cor-lab.de/job/sbcl-cross-build-master/architecture=mips,label=ubuntu_xenial_64bit/384/
19:49:50
corci
Project sbcl-master-windows » Windows_7_32bit build #2469: FIXED in 28 min: http://ci.cor-lab.de/job/sbcl-master-windows/label=Windows_7_32bit/2469/
20:55:16
corci
Project sbcl-master » default,MAC_OS_mavericks_64bit build #3278: FAILURE in 11 min: http://ci.cor-lab.de/job/sbcl-master/featureset=default,label=MAC_OS_mavericks_64bit/3278/
21:38:33
pfdietz
It could make sense to stack allocate bignums if you could bound their size. Will SBCL do that?
22:31:15
stassats
slyrus: i don't really understand your LOOP vs DO dichotomy, how are the two forms comparable? loop doesn't even allow you declare anything dynamic-extent
22:31:30
stassats
so the solution is: don't declare things dynamic-extent in the DO case, then it'll be like LOOP
22:34:41
phoe
stassats: I don't trust it, I merely assume that it's correct and hope that if it isn't, someone'll point that out straight in my face
22:36:24
stassats
but i can probably easily find you several incorrect statements in the manual anyway
22:40:13
stassats
phoe: "simple forms of make-array, whose result is bound to a variable declared dynamic-extent: stack allocation is possible only if the resulting array is known to be both simple and one-dimensional, and has a constant :element-type."
23:47:31
corci
Project sbcl-master » default,MAC_OS_mavericks_64bit build #3279: FIXED in 28 min: http://ci.cor-lab.de/job/sbcl-master/featureset=default,label=MAC_OS_mavericks_64bit/3279/
0:18:48
corci
Project sbcl-cross-build-master » ppc,ubuntu_xenial_64bit build #385: FIXED in 5 min 18 sec: http://ci.cor-lab.de/job/sbcl-cross-build-master/architecture=ppc,label=ubuntu_xenial_64bit/385/
0:18:59
corci
Project sbcl-cross-build-master » sparc,ubuntu_xenial_64bit build #385: FIXED in 5 min 29 sec: http://ci.cor-lab.de/job/sbcl-cross-build-master/architecture=sparc,label=ubuntu_xenial_64bit/385/
0:20:31
corci
Project sbcl-cross-build-master » arm,ubuntu_xenial_64bit build #385: FIXED in 7 min 1 sec: http://ci.cor-lab.de/job/sbcl-cross-build-master/architecture=arm,label=ubuntu_xenial_64bit/385/
0:23:24
corci
Project sbcl-cross-build-master » arm64,ubuntu_xenial_64bit build #385: FIXED in 9 min 54 sec: http://ci.cor-lab.de/job/sbcl-cross-build-master/architecture=arm64,label=ubuntu_xenial_64bit/385/
0:23:28
corci
Project sbcl-cross-build-master » alpha,ubuntu_xenial_64bit build #385: FIXED in 9 min 58 sec: http://ci.cor-lab.de/job/sbcl-cross-build-master/architecture=alpha,label=ubuntu_xenial_64bit/385/
0:24:55
corci
Project sbcl-cross-build-master » hppa,ubuntu_xenial_64bit build #385: FIXED in 11 min: http://ci.cor-lab.de/job/sbcl-cross-build-master/architecture=hppa,label=ubuntu_xenial_64bit/385/
0:27:29
corci
Project sbcl-cross-build-master » mips,ubuntu_xenial_64bit build #385: FIXED in 13 min: http://ci.cor-lab.de/job/sbcl-cross-build-master/architecture=mips,label=ubuntu_xenial_64bit/385/
1:27:27
corci
Project sbcl-master-windows » Windows_7_64bit build #2477: FAILURE in 12 min: http://ci.cor-lab.de/job/sbcl-master-windows/label=Windows_7_64bit/2477/
2:17:47
corci
Project sbcl-master-windows » Windows_7_64bit build #2478: FIXED in 31 min: http://ci.cor-lab.de/job/sbcl-master-windows/label=Windows_7_64bit/2478/
2:20:38
corci
Project sbcl-master-windows » Windows_7_32bit build #2478: FAILURE in 34 min: http://ci.cor-lab.de/job/sbcl-master-windows/label=Windows_7_32bit/2478/