libera/#sbcl - IRC Chatlog
Search
22:10:05
karlosz
i don't understand how mov works in our assembler very well, but it seems to be silently truncating nil-value at certain points
22:16:29
karlosz
i've gotten it almost working by throwing constantize everywhere and teaching x86 how to do 64-bit fixups
22:17:43
karlosz
im sure it nerfs the performance of other programs as well since 64 bit architectures usually have fast/small encodings for 32 bit space
22:21:14
karlosz
just want to see how much i actually need to touch to get x86-64 allocating read only spaces above 4gb
22:42:59
stassats
clang doesn't seem to use conditional compare for ||, but gcc does, i wonder if there's a reason
22:57:58
karlosz
llvm had a comment along the lines of "FIXME: do something" and punted to a dumber generic algorithm
23:00:19
stassats
cortex x1 Software Optimization Guide lists ccmp as having higher throughput than adds/subs
23:00:24
karlosz
hm, tests like (let ((array (make-array nil :initial-contents nil))) (assert (eql (aref array) nil))) fail on this new build of sbcl
23:02:58
karlosz
though annotating all the resource dependencies on the instructions sounds like a total pain for arches it isn't already done for
23:14:52
stassats
fewer ccmps are better when the fist comparison is matching, if none match, ccmps are better
23:17:53
stassats
actually, i forgot to take out an instruction, four ccmps are the same if the first cmp matches, faster if none
23:20:49
karlosz
hm, as far as i know, we don't have a way of supplying branch hits for exactly this kind of behavior
23:22:19
karlosz
okay, not just nil-value, but also unbound-marker-bits needs to get constantized in one case
23:34:25
stassats
oh, clang doesn't do ccmp when the register is the same, but does when they are different
23:48:30
karlosz
we could get rid of temp-reg-tn and replace it with null-tn, would make lots of stuff simpler to relocate
23:52:47
karlosz
well, ignoring constantize being bloated for now. i don't want to throw in #+sb-thread everywhere
0:00:00
karlosz
well, in any case, it would probably be a good idea for register-inline-constant to check that its not duplicating values in the unboxed constant pool
0:02:12
waleee
Hello. I checked the bug tracker and noticed this report, https://bugs.launchpad.net/sbcl/+bug/1947040 . A couple of days ago I got a similar looking error (https://0x0.st/-0gx.txt) on x86_64 when running nyxt built with the latest sbcl
0:09:45
stassats
i can see where the debugger goes off the rails and can stop it, but it will just tell you that gtk sent a signal
0:18:10
stassats
i removed that NIL is not of type SB-KERNEL:CODE-COMPONENT, but i guess the debugger can still go haywire on unknown traps
0:18:18
waleee
are all points in "1.3.2 Signal Related Bugs" of http://www.sbcl.org/manual/ up to date? (re the change needed to runtime.h)
0:26:24
karlosz
i wish layout stayed layout and not wrapper though, now the comments everywhere are outdated
0:27:45
karlosz
get a memory fault at #xffffffffdebd04b0, so probably some truncated/sign extended issue
0:30:36
waleee
stassats: that debug change gave an error during the build instead, https://0x0.st/-0gD.txt
0:38:19
karlosz
waleee: try reverting the change starting with "Generalize ...", that was committed at the same time
0:47:34
waleee
karlosz: thanks, now I just have to brush up on the gdb-fu to check what ails the gtk-threads of nyxt
0:49:08
waleee
stassats: success on the lisp side, :INVALID-CODE-OBJECT-AT-PC is not of type FUNCTION
0:50:40
waleee
definetly more informative than "NIL is not type SB-KERNEL:CODE-COMPONENT" so I count that as a win
0:52:30
waleee
re g_log, there's a log message that it was able to work with before, "GApplication is required of xdg-desktop-portal access in the WebKit sandbox"
0:55:44
waleee
** (process:203567): ERROR (recursed) **: GApplication is required for xdg-desktop-portal access in the WebKit sandbox.fatal error encountered in SBCL pid 203567 tid 203582: