freenode/#sbcl - IRC Chatlog
Search
23:28:28
|3b|
what's the most efficient sbcl-specific way to convert a (unsigned-byte 32) to (signed-byte 32) with same bits?
23:48:33
stassats
let's agree you use this, and i motivate myself to finally add multi-combination transforms
0:14:46
stassats
(defun foo (x) (declare ((unsigned-byte 32) x) (optimize speed)) (sb-kernel:make-single-float (truly-the (signed-byte 32) x)))
0:24:10
stassats
(sb-kernel:%make-lisp-obj (logior (ash x 32) sb-vm:single-float-widetag)) for tagging ;; don't use it
0:26:55
|3b|
(and without a type check, mask-signed-field is a full call, so i probably want the check)
0:27:12
stassats
what about (sb-kernel:%make-lisp-obj (logior (ash x 32) sb-vm:single-float-widetag)) ?
0:30:25
stassats
that assumes it's going to be tagged, not stuffed into array, although, stuffing into an array should also not need FP instructions
0:30:42
|3b|
i think that's actually worse, since the function has an ftype to return single-float and it can't tell make-lisp-obj returns a single-float
0:32:19
stassats
ok, don't use that actual form, but that what make-single-float should expand into in that case
0:35:38
|3b|
ok, i'll go with (sb-kernel:make-single-float (sb-c::mask-signed-field 32 (the (unsigned-byte 32) bits)))
0:35:54
|3b|
(sb-kernel:make-single-float (sb-ext:truly-the (signed-byte 32) (the (unsigned-byte 32) bits))) is a bit ugly (and longer) :)
0:39:58
stassats
ok, make-single-float to tagged single-float is used within sbcl itself, so i'll optimize that case
0:52:04
stassats
ok, i have a sb-kernel:make-single-float variant that takes up tagged fixnums and returns tagged floats, without untagging
1:00:13
stassats
it can figure that out, but that doesn't help it to get rid of mask-signed-field itself
1:02:32
stassats
mask-signed-field kinda feels safer, although on x86-64, the truly is going to work
1:57:38
exit70[m]
hi, curious how is the binary releases in http://sbcl.sourceforge.net/platform-table.html got updated?
2:28:45
no-defun-allowed
You get two ARM64 cores and two AMD64 cores; Intel is trying to cut corners to cut costs.
2:45:23
stassats
i think removing them is very apple-way, so nobody using apple hardware should be surprised
3:01:54
joshe
the mac g4 mini which I actually use still beats my ssd-equipped armv7 box when it comes to sbcl builds
3:03:43
fiddlerwoaroof
Although, every time I find an unsupported system I like to pretend I'm able to port it
3:05:19
fiddlerwoaroof
Yeah, I've gotten make-host-1.sh make-target-1.sh and make-host-2.sh to complete "successfully"
3:06:35
fiddlerwoaroof
As I mentioned a couple days ago, the resulting executable crashes as soon as it starts up
3:16:07
stassats
relocation wouldn't be a problem, as it all done through reg_NULL anyway, but lots of things expect some stuff to be 32-bit
3:32:12
fiddlerwoaroof
https://developer.apple.com/documentation/bundleresources/entitlements/com_apple_security_cs_allow-jit
4:44:55
joshe
sounds like you need to add that to src/runtime/darwin-os.c, possibly guarded by #ifdef MAP_JIT
4:58:01
exit70[m]
@freenode_stassats:matrix.org: i could totally understand not wanting to support ancient hardware but most of the green squares are not the latest version anyway so it is a bit confusing
4:59:42
exit70[m]
also i would imagine latest version would not build on linux alpha despite the green square
5:00:48
joshe
once I bought an alpha intended for sbcl hacking, but it was stolen off my doorstep and I nevered bothered to buy another
5:02:32
fiddlerwoaroof
I've always wondered why there isn't cheap hosting for things like power8 and s370
5:03:07
fiddlerwoaroof
You'd think IBM would want to make it easy for people to run applications on their hardware
5:04:29
fiddlerwoaroof
I mean, IBM's marketing is all about how their mainframes make amazing virtual private clouds
5:06:47
fiddlerwoaroof
And, I just remembered this: https://www.siteox.com/cart.php?a=confproduct&i=0
5:09:00
exit70[m]
now fight the whole world and patch every single package ... i really liked the idea of portable software but without hardware volume it just wouldn’t happen by itself
5:41:54
joshe
I wouldn't personally upload binaries that I didn't build, but I can't speak for other devs
5:47:16
exit70[m]
that's fair. the confusion from the user's point is that I couldn't easily tell between unmaintained and "no build is uploaded but a build can easily be done"
5:51:07
|3b|
i think the intent has been that if it is green, current code is expected to build and work
5:57:16
|3b|
right, alpha not working anymore is expected, others not working is a bug that should be reported if you care about that platform :)
5:58:13
|3b|
yeah, that would be good, possibly with a "last supported version" in addition to "last binary"
6:04:00
fiddlerwoaroof
Yeah, I met someone at a local meetup (Los Angeles area) who assumed that sbcl wasn't being developed on mac/x86
6:05:30
fiddlerwoaroof
Yeah, I think it's confusing for new people that want to know the development status of a particular platform
6:06:16
joshe
I'd be happy to maintain an openbsd/sparc64 port but I don't think I'm up to writing a sparc64 backend
6:11:21
|3b|
looks like it maybe isn't doing travis, wonder if someone else was running travis tests for it
6:21:30
|3b|
(and/or write a travis config for them, if it supports some combination the others don't)
6:23:46
fiddlerwoaroof
Does sbcl need MAP_FIXED? I assume the static space and stuff needs known addresses?
6:29:42
fiddlerwoaroof
https://github.com/openjdk/jdk-sandbox/commit/b41b3a949e349d5b6ac57ff745bf8308d6a1720e#diff-1f93205c2e57bee432f8fb7a0725ba1dfdbe5b901ac63010ea0b43922e34ac12R1703-R1709
6:51:03
fiddlerwoaroof
Something like that, I'm trying to figure out the details because I can't replicate the obvious way