2015-12-01T00:05:20Z dougk2 joined #sbcl 2015-12-01T00:11:38Z attila_lendvai quit (Quit: Leaving.) 2015-12-01T00:11:41Z attila_lendvai1 joined #sbcl 2015-12-01T00:11:41Z attila_lendvai1 is now known as attila_lendvai 2015-12-01T00:11:41Z attila_lendvai quit (Changing host) 2015-12-01T00:11:41Z attila_lendvai joined #sbcl 2015-12-01T00:12:57Z Bicyclidine quit (Quit: leaving) 2015-12-01T00:20:46Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-12-01T00:32:44Z Xof quit (Ping timeout: 250 seconds) 2015-12-01T00:55:56Z karswell joined #sbcl 2015-12-01T01:02:58Z njmurphy_ quit (Quit: Connection closed for inactivity) 2015-12-01T01:08:11Z nyef: Damnit. Whatever it is that's causing contribs to fail to build is very touchy, and currently hitting sb-posix again. /-: 2015-12-01T01:19:30Z rpg quit (Quit: rpg) 2015-12-01T01:27:22Z lnostdal quit (Ping timeout: 260 seconds) 2015-12-01T01:29:32Z psy joined #sbcl 2015-12-01T01:39:45Z nyef: Okay, trying with a hopefully-fixed version of sanctify_for_execution. 2015-12-01T01:39:50Z lnostdal joined #sbcl 2015-12-01T01:41:22Z dougk2 quit (Ping timeout: 260 seconds) 2015-12-01T01:46:29Z dougk2 joined #sbcl 2015-12-01T01:48:33Z csziacobus quit (Remote host closed the connection) 2015-12-01T01:48:50Z csziacobus joined #sbcl 2015-12-01T01:52:45Z nyef: Hrm. MIPS has special logic to handle out-of-range jumps where it automatically inverts the branch condition and does a hop around some more complicated operation that I'll have to dig out my archref to figure out. 2015-12-01T01:53:17Z nyef: I don't think that that's possible for HPPA, though, because of how HPPA branch conditions tend to work. 2015-12-01T01:54:55Z psy quit (Disconnected by services) 2015-12-01T01:57:41Z nyef: ... And I just checked the HPPA 1.1 manual, and it says the exact same thing about self-modifying code that the 2.0 manual said. How the heck was sanctify_for_execution supposed to work without SYNC instructions? 2015-12-01T02:03:04Z nyef quit (Ping timeout: 245 seconds) 2015-12-01T02:04:36Z nyef joined #sbcl 2015-12-01T02:09:05Z whiteline joined #sbcl 2015-12-01T02:14:10Z nyef: Hrm. Does this MIPS long-jump stuff actually work at all? 2015-12-01T02:15:23Z nyef: Signs point to hyperspace. 2015-12-01T02:21:49Z dougk2 quit (Ping timeout: 245 seconds) 2015-12-01T02:24:26Z nyef: Hrm. Changing sanctify_for_execution didn't fix things. 2015-12-01T02:26:11Z nyef: Just... writes out the module-setup.fasl, then corruption warning, memory fault in dynamic space from some nonsense-looking PC, and boom. 2015-12-01T02:26:38Z nyef: ... what if that's a sigreturn, somehow? 2015-12-01T02:27:12Z nyef: Memory fault is perfectly page-aligned. 2015-12-01T02:34:12Z nyef: And, of course, attempting to reproduce the effect manually fails. 2015-12-01T02:40:13Z nyef: On the upside, attempting to reproduce the effect manually leads to having a working sb-posix, so I can run the test suite again. 2015-12-01T03:01:11Z nyef: ... which is now showing bizarre failures. Lovely. 2015-12-01T03:20:02Z csziacobus quit (Quit: csziacobus) 2015-12-01T03:28:49Z nyef: Intermittent failures. Even better. /-: 2015-12-01T06:00:40Z dougk2 joined #sbcl 2015-12-01T06:44:44Z dougk2 quit (Ping timeout: 245 seconds) 2015-12-01T06:59:29Z scymtym quit (Ping timeout: 246 seconds) 2015-12-01T07:09:52Z Shinmera joined #sbcl 2015-12-01T07:22:24Z Cymew joined #sbcl 2015-12-01T07:39:58Z Xof joined #sbcl 2015-12-01T07:58:42Z Cymew quit (Read error: Connection reset by peer) 2015-12-01T08:00:08Z ASau quit (Read error: No route to host) 2015-12-01T08:09:38Z Cymew joined #sbcl 2015-12-01T08:14:57Z stassats joined #sbcl 2015-12-01T08:39:38Z kanru joined #sbcl 2015-12-01T08:42:52Z ZabaQ joined #sbcl 2015-12-01T08:54:26Z lnostdal quit (Ping timeout: 260 seconds) 2015-12-01T09:01:02Z dougk2 joined #sbcl 2015-12-01T09:02:44Z adhoc joined #sbcl 2015-12-01T09:05:22Z dougk2 quit (Ping timeout: 250 seconds) 2015-12-01T09:06:10Z lnostdal joined #sbcl 2015-12-01T09:09:44Z psilord quit (Ping timeout: 245 seconds) 2015-12-01T09:26:10Z loke quit (Ping timeout: 260 seconds) 2015-12-01T09:29:12Z stassats quit (Ping timeout: 250 seconds) 2015-12-01T09:31:50Z dougk2 joined #sbcl 2015-12-01T09:36:26Z dougk2 quit (Ping timeout: 260 seconds) 2015-12-01T09:38:56Z loke joined #sbcl 2015-12-01T09:46:16Z psilord joined #sbcl 2015-12-01T10:25:54Z lnostdal quit (Ping timeout: 260 seconds) 2015-12-01T10:27:14Z lnostdal joined #sbcl 2015-12-01T10:39:21Z DGASAU joined #sbcl 2015-12-01T10:45:29Z karswell` joined #sbcl 2015-12-01T10:47:45Z Cymew quit (Read error: Connection reset by peer) 2015-12-01T10:48:07Z Cymew joined #sbcl 2015-12-01T10:48:17Z karswell quit (Remote host closed the connection) 2015-12-01T11:02:46Z hlavaty quit (Read error: Connection reset by peer) 2015-12-01T11:02:52Z hlavaty joined #sbcl 2015-12-01T11:07:53Z hlavaty: http://www.sbcl.org/porting.html says Also note that cross-compilation is straightforward but the link to http://sbcl-internals.cliki.net/Build is dead, is the page somewhere available? 2015-12-01T11:38:14Z lnostdal quit (Ping timeout: 260 seconds) 2015-12-01T11:39:12Z loke quit (Ping timeout: 250 seconds) 2015-12-01T11:48:37Z loke joined #sbcl 2015-12-01T11:51:12Z lnostdal joined #sbcl 2015-12-01T11:51:32Z scymtym_: in a recent profile, instance hash code generation accounts for a large fraction of the runtime of ALLOCATE-STANDARD-INSTANCE. would it be possible to generate and assign (funcallable) instance hash codes lazily? brief experimentation suggests it would. 2015-12-01T12:40:03Z DeadTrickster quit (Read error: Connection reset by peer) 2015-12-01T12:40:05Z attila_lendvai joined #sbcl 2015-12-01T12:44:35Z lnostdal quit (Ping timeout: 264 seconds) 2015-12-01T12:49:28Z DeadTrickster joined #sbcl 2015-12-01T12:56:20Z lnostdal joined #sbcl 2015-12-01T13:14:04Z nyef: hlavaty: archive.org, maybe? 2015-12-01T13:15:44Z nyef: hlavaty: A cross-build really IS straightforward, though. Unpack the source on the build target, run "sh make-config.sh" with a --xc-host= value appropriate to the build host, copy everything to the host machine, run "sh ./make-host-1.sh", copy everything back to the target, run "sh ./make-target-1.sh", copy everything back to the host... 2015-12-01T13:16:43Z nyef: It's make-config.sh, make-host-1.sh, make-target-1.sh, make-host-2.sh, make-target-2.sh, make-target-contrib.sh. There's some option to do the copying automatically somehow, but I haven't figured that one out yet. 2015-12-01T13:17:35Z nyef: I've also done it with a shared NFS filesystem, but you'll want to have a good network connection between the boxes for that, NFS can be dreadfully slow otherwise. 2015-12-01T13:32:10Z flip214: even with NFS on a normal linux box and 100mbit (raspberry!) it only takes a few minutes. 2015-12-01T13:36:34Z nyef: Sure, but a wifi->fios->internet->dsl->wifi->100mbit->vpn-terminator->100mbit link is dreadful. 2015-12-01T13:37:05Z flip214: no ISDN/dialup inbetween somewhere, too? 2015-12-01T13:37:34Z nyef: Hardly needs it to get dreadful NFS performance, does it? 2015-12-01T13:38:38Z lnostdal quit (Ping timeout: 260 seconds) 2015-12-01T13:49:07Z flip214: most probably .... sounds like 20msec already. 2015-12-01T13:49:32Z flip214: meanwhile, we'd like to fill 100gbit/sec... 2015-12-01T13:50:39Z lnostdal joined #sbcl 2015-12-01T13:59:50Z nyef: Hrm. sb-md5 failed to build this time. Same symptom, memory fault at an aligned page address in one of the dynamic spaces, program counter in one of the stack spaces. 2015-12-01T14:10:17Z hlavaty: nyef: thanks for the info 2015-12-01T14:10:47Z hlavaty: i want to have fully automatic cross-build for windows 2015-12-01T14:10:56Z hlavaty: without windows 2015-12-01T14:11:17Z hlavaty: iirc wine sh make.sh used to work 2015-12-01T14:14:31Z hlavaty: but it would be good if i dont have to install msys/mingw inside wine 2015-12-01T14:15:52Z nyef: Ahh... There's a --host-location= parameter that uses rsync. Neat. 2015-12-01T14:16:45Z nyef: Of course, I've had occasions where I don't even have rsync. 2015-12-01T14:18:32Z hlavaty: yeah i would have to have rsync on the target which is inconvenient 2015-12-01T14:19:37Z stassats joined #sbcl 2015-12-01T14:30:47Z nyef: ... Hrm. Signal, call to C for the sigaction handler. Call to Lisp because why not? Return from Lisp because whatever, return from sigaction handler to restart the interrupted context, something goes wrong because call_into_lisp corrupted something, kernel-provided trampoline blows up? 2015-12-01T14:32:11Z nyef: Hrm. sb-gmp fails because of no handler for signal 5? 2015-12-01T14:33:07Z nyef: ... And NaN-comparisons continue to kick my ass. /-: 2015-12-01T14:44:54Z stassats quit (Ping timeout: 260 seconds) 2015-12-01T14:48:41Z stassats joined #sbcl 2015-12-01T14:49:08Z milanj joined #sbcl 2015-12-01T14:51:57Z milanj quit (Client Quit) 2015-12-01T14:53:18Z stassats quit (Ping timeout: 260 seconds) 2015-12-01T14:55:02Z stassats joined #sbcl 2015-12-01T14:56:07Z milanj joined #sbcl 2015-12-01T15:01:24Z stassats quit (Ping timeout: 245 seconds) 2015-12-01T15:02:06Z stassats joined #sbcl 2015-12-01T15:06:20Z stassats quit (Ping timeout: 250 seconds) 2015-12-01T15:07:06Z stassats joined #sbcl 2015-12-01T15:11:32Z stassats quit (Ping timeout: 250 seconds) 2015-12-01T15:12:06Z stassats joined #sbcl 2015-12-01T15:16:18Z stassats quit (Ping timeout: 250 seconds) 2015-12-01T15:17:36Z stassats joined #sbcl 2015-12-01T15:21:56Z stassats quit (Ping timeout: 250 seconds) 2015-12-01T15:22:34Z stassats joined #sbcl 2015-12-01T15:26:49Z stassats quit (Ping timeout: 245 seconds) 2015-12-01T15:27:32Z stassats joined #sbcl 2015-12-01T15:32:02Z stassats quit (Ping timeout: 260 seconds) 2015-12-01T15:34:36Z stassats joined #sbcl 2015-12-01T15:36:49Z Cymew quit (Ping timeout: 245 seconds) 2015-12-01T15:42:56Z Cymew joined #sbcl 2015-12-01T16:20:38Z dougk2 joined #sbcl 2015-12-01T16:22:59Z Cymew quit (Read error: Connection reset by peer) 2015-12-01T16:24:46Z dougk2 quit (Ping timeout: 250 seconds) 2015-12-01T16:38:18Z lnostdal quit (Ping timeout: 260 seconds) 2015-12-01T16:41:16Z lnostdal joined #sbcl 2015-12-01T16:43:54Z Xof quit (Ping timeout: 245 seconds) 2015-12-01T16:57:57Z joshe joined #sbcl 2015-12-01T17:09:50Z stassats quit (Ping timeout: 250 seconds) 2015-12-01T17:10:41Z stassats joined #sbcl 2015-12-01T17:11:03Z Xof joined #sbcl 2015-12-01T17:12:53Z ZabaQ quit (Quit: Leaving) 2015-12-01T17:13:32Z nyef: HPPA status: backtrace is still broken, nan comparisons are still broken despite multiple fix attempts, FFI is still broken for non-register floats and probably for combinations of float and integer arguments, large code-objects can break due to branch offset encoding issues, error traps are spammy in the kernel log, and this weird probably-signal-return thing. 2015-12-01T17:13:35Z nyef: Oh, and no breakpoints (meaning trace encapsulate nil is broken). 2015-12-01T17:16:53Z stassats: haven't bothered with breakpoints on arm yet 2015-12-01T17:17:10Z stassats: ldb backtrace or lisp backtrace? both? 2015-12-01T17:17:23Z nyef: Lisp. 2015-12-01T17:17:30Z nyef: Don't care about ldb at this point. 2015-12-01T17:18:03Z stassats: it's quite useful when something breaks in cold init 2015-12-01T17:18:47Z psy_ joined #sbcl 2015-12-01T17:18:53Z nyef: The (backtrace throw no-such-tag) test shows a backtrace of (THROW-TEST) followed by CALL-WITH-BACKTRACE with corrupted arguments. 2015-12-01T17:18:57Z nyef: And that's IT. 2015-12-01T17:19:01Z nyef: It stops there. 2015-12-01T17:19:04Z nyef: Two frames total. 2015-12-01T17:19:06Z psy_ quit (Max SendQ exceeded) 2015-12-01T17:19:33Z stassats: looks like it can't find a proper cfp 2015-12-01T17:19:39Z nyef: Yeah, that's what I'm thinking. 2015-12-01T17:19:46Z nyef: No lock on the OCFP for an interrupted frame? 2015-12-01T17:19:49Z stassats: and throw is in static space 2015-12-01T17:19:55Z nyef: Read-only space. 2015-12-01T17:20:01Z stassats: same thing 2015-12-01T17:20:08Z nyef: Very different thing. 2015-12-01T17:20:21Z nyef: It's an assembly-routine, anyway. 2015-12-01T17:21:46Z stassats: time to try adding some new casts 2015-12-01T17:22:58Z nyef: I'm thinking to take a break from HPPA stuff for a bit. 2015-12-01T17:23:24Z nyef: I've got a couple of commits in my current tree to rebase and push, but... 2015-12-01T17:23:47Z psy_ joined #sbcl 2015-12-01T17:24:24Z stassats: i need to sort casts, *print-circle* and ir1-optimize and casts 2015-12-01T17:25:04Z stassats: and then ppc, probably 2015-12-01T17:25:36Z psy_ quit (Max SendQ exceeded) 2015-12-01T17:26:23Z scymtym joined #sbcl 2015-12-01T17:28:11Z hlavaty: stassats: how do you build windows executables? on windows or wine (i guess you are the one updating the binaries on sbcl.org?) 2015-12-01T17:29:02Z stassats: windows 2015-12-01T17:29:28Z hlavaty: ok thanks 2015-12-01T17:29:51Z stassats: why? 2015-12-01T17:30:47Z hlavaty: because i'd like to have that automated, without windows; iirc wine sh make.sh used to work 2015-12-01T17:32:23Z psy_ joined #sbcl 2015-12-01T17:34:34Z psy_ quit (Max SendQ exceeded) 2015-12-01T17:37:30Z dougk2 joined #sbcl 2015-12-01T17:49:14Z dougk2 quit (Ping timeout: 260 seconds) 2015-12-01T17:59:37Z |3b|` is now known as |3b| 2015-12-01T18:13:13Z karswell` is now known as karswell 2015-12-01T18:18:44Z stassats quit (Ping timeout: 250 seconds) 2015-12-01T18:19:12Z stassats joined #sbcl 2015-12-01T18:20:31Z ASau joined #sbcl 2015-12-01T18:26:06Z stassats quit (Ping timeout: 260 seconds) 2015-12-01T18:27:43Z stassats joined #sbcl 2015-12-01T18:33:06Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-12-01T18:35:07Z stassats: ok, not clear how to propagate information from the bound of check-bound into the type of a cast 2015-12-01T18:35:49Z stassats: during deftransform is not a good idea, and def-ir1-translator comes to early 2015-12-01T18:36:01Z stassats: in ir1-optimize-block, maybe? 2015-12-01T18:38:56Z attila_lendvai joined #sbcl 2015-12-01T18:39:02Z stassats: ok, i'll start with an index type and see where that leads 2015-12-01T18:56:26Z lnostdal quit (Ping timeout: 260 seconds) 2015-12-01T19:09:26Z gingerale joined #sbcl 2015-12-01T19:18:32Z clop joined #sbcl 2015-12-01T19:21:34Z clop: i see that gc-logfile can be used to log GC messages to a file... is there a way to just print them to stdout? 2015-12-01T19:29:24Z stassats: ok, i have bound-cast that behaves like cast, but now i need to figure how to attach the array and bound to it 2015-12-01T19:30:36Z stassats: that's actually quite an interesting exercise 2015-12-01T19:32:58Z stassats: probably steal it from ir1-convert-combination-args 2015-12-01T19:34:13Z stassats: but then combination args are visible to other code 2015-12-01T19:34:25Z stassats: gah, i need to inherit from both CAST and COMBINATION 2015-12-01T19:34:59Z stassats: or i can just hid a combination inside my cast 2015-12-01T19:35:25Z stassats: but it's not really visible, again 2015-12-01T19:41:36Z stassats: if i chain combination and cast, i can just delete both when i need to 2015-12-01T19:42:12Z Cymew joined #sbcl 2015-12-01T19:46:18Z gingerale quit (Remote host closed the connection) 2015-12-01T19:52:10Z milanj quit (Quit: This computer has gone to sleep) 2015-12-01T19:52:43Z stassats: that seems like the best option, the combination will normally just translate to the check-bound VOP 2015-12-01T19:52:53Z stassats: or deleted together with the cast 2015-12-01T19:53:57Z nyef: What about "just" having the check-bound VOP not emit code if it can show that the parameters are always in bound? 2015-12-01T19:54:09Z stassats: no type information 2015-12-01T19:54:15Z nyef: Ah. 2015-12-01T19:54:40Z nyef: ... Really? 2015-12-01T19:55:05Z nyef: Oh well. Even if there was, it'd probably be ugly to get at. 2015-12-01T19:55:40Z stassats: and, who will modify all the vops? 2015-12-01T19:56:13Z lnostdal joined #sbcl 2015-12-01T19:56:55Z stassats: and i did this before, without modifying the vops 2015-12-01T19:57:15Z stassats: but it doesn't clamp the input variable, only the result 2015-12-01T19:57:35Z stassats: so, (and (aref #(a) x) x) wasn't folded to 0 2015-12-01T19:58:20Z nyef: There's only, what, nine VOPs affected? I can do SPARC, MIPS, HPPA, ALPHA, and maybe PPC... 2015-12-01T19:58:44Z nyef: ... and ARM, x86, and x86-64 in a pinch. 2015-12-01T19:58:49Z stassats: can doesn't mean should 2015-12-01T19:58:54Z nyef: True. 2015-12-01T20:01:04Z nyef: Still, we're close to being able to make and test changes that affect every backend, without having to support both "old" and "new" ways of doing things because some backends can't easily be tested. 2015-12-01T20:04:16Z stassats: non-emittance of check-bound is easily done with (defoptimizer (%check-bound ir2-convert)) 2015-12-01T20:04:32Z stassats: but that doesn't solve all the problems, as i described earlier 2015-12-01T20:06:38Z Cymew quit (Ping timeout: 250 seconds) 2015-12-01T20:10:45Z dougk2 joined #sbcl 2015-12-01T20:14:53Z dougk2 quit (Ping timeout: 250 seconds) 2015-12-01T20:20:40Z ccl-logbot joined #sbcl 2015-12-01T20:20:40Z 2015-12-01T20:20:40Z names: ccl-logbot lnostdal clop attila_lendvai stassats ASau scymtym Xof joshe DeadTrickster loke hlavaty karswell DGASAU psilord adhoc kanru Shinmera whiteline nyef yvm sjl Quadrescence sigjuice akkad jackc- |3b| zacts hitecnologys Bike reb edgar-rft PuercoPop derrida drmeister brucem frankS2 jlarocco igajsin phcrist dim irsol yauz salva jlarocco_ minion White_Flame fikusz Posterdati mood chu dsp-_ p_l dustinm` Ober nimiux jackdaniel christoph_d jsnell flip214 2015-12-01T20:20:40Z names: fe[nl]ix Blkt antoszka jdz ignotus scymtym_ pootler ferada luis les` chris2 specbot dougk_ _iwc Guest84856 carvite 2015-12-01T20:21:50Z stassats quit (Ping timeout: 260 seconds) 2015-12-01T20:23:26Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-12-01T20:24:41Z attila_lendvai joined #sbcl 2015-12-01T20:25:47Z stassats joined #sbcl 2015-12-01T20:30:02Z stassats quit (Ping timeout: 250 seconds) 2015-12-01T20:30:47Z stassats joined #sbcl 2015-12-01T20:33:30Z lnostdal quit (Ping timeout: 260 seconds) 2015-12-01T20:35:09Z stassats quit (Ping timeout: 245 seconds) 2015-12-01T20:35:51Z lnostdal joined #sbcl 2015-12-01T20:36:15Z plertrood joined #sbcl 2015-12-01T20:38:00Z dougk2 joined #sbcl 2015-12-01T20:38:47Z stassats joined #sbcl 2015-12-01T20:43:02Z stassats quit (Ping timeout: 250 seconds) 2015-12-01T20:43:36Z DeadTrickster quit (Read error: Connection reset by peer) 2015-12-01T20:45:22Z leuler joined #sbcl 2015-12-01T20:46:17Z stassats joined #sbcl 2015-12-01T20:47:53Z leuler: scymtym_: You mentioned that instance hash code generation takes much time. Is that get-instance-hash-code in src/pcl/low.lisp? 2015-12-01T20:55:10Z dougk2 quit (Ping timeout: 250 seconds) 2015-12-01T20:55:25Z dougk2 joined #sbcl 2015-12-01T20:59:25Z DeadTrickster joined #sbcl 2015-12-01T21:06:41Z csziacobus joined #sbcl 2015-12-01T21:12:47Z karswell quit (Read error: Connection reset by peer) 2015-12-01T21:13:00Z karswell joined #sbcl 2015-12-01T21:16:07Z Shinmera quit (Quit: しつれいしなければならないんです。) 2015-12-01T21:28:56Z dougk2_ joined #sbcl 2015-12-01T21:29:50Z dougk2 quit (Ping timeout: 250 seconds) 2015-12-01T21:40:46Z njmurphy_ joined #sbcl 2015-12-01T21:42:34Z dougk2_ quit (Ping timeout: 260 seconds) 2015-12-01T21:53:15Z stassats: nyef: "Based on the recent Alpha support for the same, itself based on the MIPS version." which was based on the arm64 version 2015-12-01T21:55:07Z stassats: i just like how it went ldr-str-annotation => load-store-annotation => memory-address-annotation 2015-12-01T21:55:57Z stassats: nyef: why isn't sanctify_for_execution just a syscall? 2015-12-01T22:04:17Z nyef: Don't know? 2015-12-01T22:04:38Z leuler quit (Quit: ERC Version 5.1.2 $Revision: 1.796.2.6 $ (IRC client for Emacs)) 2015-12-01T22:06:10Z stassats: just look what other backends do 2015-12-01T22:06:36Z nyef: Typically, if they have a user-mode method to do it, they do it in straight user-mode. 2015-12-01T22:06:56Z stassats: well, not a syscall, a library call 2015-12-01T22:07:49Z stassats: on arm it's just __clear_cache(address, end_address); 2015-12-01T22:07:55Z dougk2 joined #sbcl 2015-12-01T22:09:16Z stassats: this can be generic 2015-12-01T22:25:20Z eudoxia joined #sbcl 2015-12-01T22:35:26Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-12-01T23:02:22Z dougk2 quit (Ping timeout: 260 seconds) 2015-12-01T23:03:46Z dougk2 joined #sbcl 2015-12-01T23:06:44Z edgar-rft quit (Quit: edgar-rft) 2015-12-01T23:06:46Z eudoxia quit (Quit: Leaving) 2015-12-01T23:09:54Z scymtym: minion: memo for leuler: yes, called by ALLOCATE-STANDARD-INSTANCE, that is what i saw in the sprof report. it may be a rare case though since i never noticed this before. i'm not sure whether/how optimized constructors go through ALLOCATE-STANDARD-INSTANCE but calling RANDOM each time indeed seems slow. 2015-12-01T23:09:54Z minion: Remembered. I'll tell leuler when he/she/it next speaks. 2015-12-01T23:16:26Z dougk2 quit (Ping timeout: 250 seconds) 2015-12-01T23:30:44Z plertrood quit (Ping timeout: 250 seconds) 2015-12-01T23:49:02Z lnostdal quit (Ping timeout: 260 seconds) 2015-12-01T23:49:58Z lnostdal joined #sbcl 2015-12-01T23:52:58Z njmurphy_ quit (Quit: Connection closed for inactivity) 2015-12-02T00:14:42Z stassats quit (Ping timeout: 260 seconds) 2015-12-02T00:35:14Z scymtym quit (Ping timeout: 260 seconds) 2015-12-02T01:07:00Z karswell quit (Read error: Connection reset by peer) 2015-12-02T01:07:15Z karswell joined #sbcl 2015-12-02T01:22:05Z dougk2 joined #sbcl 2015-12-02T03:02:13Z psy joined #sbcl 2015-12-02T03:03:06Z rszeno joined #sbcl 2015-12-02T03:11:39Z csziacobus quit (Quit: csziacobus) 2015-12-02T03:12:58Z dougk2 quit (Ping timeout: 260 seconds) 2015-12-02T03:19:43Z ASau` joined #sbcl 2015-12-02T03:21:42Z ASau quit (Ping timeout: 250 seconds) 2015-12-02T03:38:45Z dougk2 joined #sbcl 2015-12-02T03:44:07Z rszeno quit (Quit: Leaving.) 2015-12-02T03:50:46Z dougk2 quit (Ping timeout: 260 seconds) 2015-12-02T03:51:04Z karswell quit (Read error: Connection reset by peer) 2015-12-02T03:55:44Z dougk2 joined #sbcl 2015-12-02T04:41:38Z lnostdal quit (Ping timeout: 260 seconds) 2015-12-02T04:54:17Z lnostdal joined #sbcl 2015-12-02T05:19:54Z Xof quit (Ping timeout: 260 seconds) 2015-12-02T05:23:02Z dougk2 quit (Ping timeout: 250 seconds) 2015-12-02T05:35:46Z lnostdal quit (Ping timeout: 260 seconds) 2015-12-02T05:49:02Z lnostdal joined #sbcl 2015-12-02T06:33:15Z igajsin quit (Quit: Leaving.) 2015-12-02T06:50:20Z psy quit (Remote host closed the connection) 2015-12-02T07:02:10Z gingerale joined #sbcl 2015-12-02T07:03:28Z Shinmera joined #sbcl 2015-12-02T07:21:31Z ASau`` joined #sbcl 2015-12-02T07:24:58Z ASau` quit (Ping timeout: 260 seconds) 2015-12-02T07:38:39Z Xof joined #sbcl 2015-12-02T07:44:09Z edgar-rft joined #sbcl 2015-12-02T07:51:44Z gingerale quit (Remote host closed the connection) 2015-12-02T08:23:00Z angavrilov joined #sbcl 2015-12-02T08:29:50Z Cymew joined #sbcl 2015-12-02T08:33:01Z attila_lendvai joined #sbcl 2015-12-02T08:58:46Z sjl quit (Ping timeout: 260 seconds) 2015-12-02T09:18:54Z loke quit (Ping timeout: 245 seconds) 2015-12-02T09:31:42Z loke joined #sbcl 2015-12-02T09:43:31Z dougk2 joined #sbcl 2015-12-02T09:43:49Z stassats joined #sbcl 2015-12-02T09:47:24Z scymtym_: Xof: what do you think about Jim Newton's suggestion of exporting SEQUENCE::PROTOCOL-UNIMPLEMENTED? 2015-12-02T09:47:39Z dougk2 quit (Ping timeout: 245 seconds) 2015-12-02T09:47:45Z Xof: sounds reasonable to me 2015-12-02T09:47:46Z ASau`` quit (Ping timeout: 260 seconds) 2015-12-02T09:48:14Z sjl joined #sbcl 2015-12-02T09:49:27Z scymtym_: i'm not sure i understand the particular use-case, but i also think the symbol should be exported 2015-12-02T09:57:10Z scymtym_: stassats: iiuc, you are still in the middle of figuring out the array bounds checking stuff. i don't know whether this will be trivial to fix at a convenient time or has to taken into account while designing things: the interpreter stub for SB-KERNEL:CHECK-BOUND seems to have vanished at some point making --with-sb-fasteval fail some CAS tests 2015-12-02T09:57:10Z scymtym_: (https://ci.cor-lab.org/job/sbcl-master/1344/featureset=8,label=ubuntu_trusty_32bit/consoleFull, "The function SB-KERNEL:CHECK-BOUND is undefined.") 2015-12-02T10:07:22Z loke quit (Ping timeout: 260 seconds) 2015-12-02T10:19:02Z DeadTrickster quit (Ping timeout: 260 seconds) 2015-12-02T10:19:15Z stassats: noted 2015-12-02T10:19:25Z stassats: it didn't vanish, though 2015-12-02T10:19:56Z scymtym_: ok, i misunderstood then 2015-12-02T10:19:57Z loke joined #sbcl 2015-12-02T10:29:18Z DeadTrickster joined #sbcl 2015-12-02T10:43:05Z scymtym_: Xof: does http://paste.lisp.org/display/163419 look ok? 2015-12-02T10:45:10Z Xof: scymtym_: perhaps we should also have the operation as part of the protocol-unimplemented condition? 2015-12-02T10:46:20Z scymtym_: Xof: ok 2015-12-02T10:47:35Z scymtym_: i was looking at gray streams the other day which share a similar pattern. but that is for some other time. 2015-12-02T10:49:39Z Xof: we should export the condition readers too 2015-12-02T10:50:20Z Xof: reader 2015-12-02T10:51:00Z scymtym_: currently, there are only the ones inherited from TYPE-ERROR and REFERENCE-CONDITION, right? 2015-12-02T10:59:23Z Xof: right 2015-12-02T10:59:28Z Xof: we don't need to export those 2015-12-02T10:59:40Z Xof: but protocol-unimplemented-operation or similar 2015-12-02T11:01:12Z flip214 quit (Remote host closed the connection) 2015-12-02T11:02:03Z scymtym_: yes, currently doing that 2015-12-02T11:09:23Z stassats: i wonder if i can avoid defining an ir1-translator for check-bound, and splice a cast-bound in a transform 2015-12-02T11:09:31Z stassats: though the transform is not guaranteed to be triggered 2015-12-02T11:09:45Z stassats: neither is a defoptimizer 2015-12-02T11:14:56Z stassats: but if ir1-phases didn't leave anything unoptimized, that wouldn't be a problem 2015-12-02T11:15:20Z stassats: except that simply optimizing in a loop doesn't work in some cases 2015-12-02T11:16:57Z flip214 joined #sbcl 2015-12-02T11:16:57Z flip214 quit (Changing host) 2015-12-02T11:16:57Z flip214 joined #sbcl 2015-12-02T11:29:02Z stassats: though ir1-optimize-cast isn't guaranteed to trigger either 2015-12-02T11:37:26Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-12-02T11:37:26Z stassats quit (Ping timeout: 250 seconds) 2015-12-02T11:38:16Z stassats joined #sbcl 2015-12-02T11:42:39Z stassats quit (Ping timeout: 245 seconds) 2015-12-02T11:44:02Z scymtym_: Xof: updated: http://paste.lisp.org/display/163419#1 2015-12-02T11:46:45Z stassats joined #sbcl 2015-12-02T11:50:39Z Xof: looks reasonable to me 2015-12-02T11:51:18Z stassats quit (Ping timeout: 250 seconds) 2015-12-02T11:51:44Z stassats joined #sbcl 2015-12-02T11:54:08Z stassats: turns out, there is a bounty for threads on arm 2015-12-02T11:54:22Z stassats: but i did them for arm64, not that i did that for the money 2015-12-02T12:12:13Z hlavaty: is there a technical reason why there are no threads on arm? 2015-12-02T12:14:14Z Xof: it's probably a little fiddly 2015-12-02T12:14:47Z Xof: we talked about it a week or so ago, and you probably need to change NIL to gain a register 2015-12-02T12:15:12Z Xof: but mostly it's that no-one has yet wanted or needed it enough 2015-12-02T12:25:01Z hlavaty: ok 2015-12-02T12:34:17Z stassats: i don't need nor want it, arm64 is the future 2015-12-02T12:34:22Z sjl quit (Ping timeout: 260 seconds) 2015-12-02T12:34:38Z stassats: where is multiple-value-prog2 when you need it? 2015-12-02T12:46:52Z rszeno joined #sbcl 2015-12-02T12:53:13Z sjl joined #sbcl 2015-12-02T13:41:38Z karswell joined #sbcl 2015-12-02T14:53:10Z rszeno quit (Quit: Leaving.) 2015-12-02T14:56:47Z nyef: G'morning all. 2015-12-02T15:00:14Z sjl quit (Ping timeout: 250 seconds) 2015-12-02T15:02:47Z sjl joined #sbcl 2015-12-02T15:08:51Z kanru quit (Ping timeout: 260 seconds) 2015-12-02T15:28:27Z dougk2 joined #sbcl 2015-12-02T15:34:54Z sigjuice quit (*.net *.split) 2015-12-02T15:34:55Z Xof quit (*.net *.split) 2015-12-02T15:34:56Z hlavaty quit (*.net *.split) 2015-12-02T15:34:57Z whiteline quit (*.net *.split) 2015-12-02T15:34:57Z yvm quit (*.net *.split) 2015-12-02T15:34:57Z Quadrescence quit (*.net *.split) 2015-12-02T15:34:57Z jackc- quit (*.net *.split) 2015-12-02T15:34:57Z akkad quit (*.net *.split) 2015-12-02T15:34:58Z sjl quit (*.net *.split) 2015-12-02T15:34:58Z stassats quit (*.net *.split) 2015-12-02T15:34:59Z Cymew quit (*.net *.split) 2015-12-02T15:34:59Z edgar-rft quit (*.net *.split) 2015-12-02T15:34:59Z Shinmera quit (*.net *.split) 2015-12-02T15:34:59Z psilord quit (*.net *.split) 2015-12-02T15:34:59Z hitecnologys quit (*.net *.split) 2015-12-02T15:35:01Z irsol quit (*.net *.split) 2015-12-02T15:35:01Z clop quit (*.net *.split) 2015-12-02T15:35:01Z yauz quit (*.net *.split) 2015-12-02T15:35:02Z salva quit (*.net *.split) 2015-12-02T15:35:02Z jlarocco_ quit (*.net *.split) 2015-12-02T15:35:02Z minion quit (*.net *.split) 2015-12-02T15:35:03Z White_Flame quit (*.net *.split) 2015-12-02T15:35:03Z reb quit (*.net *.split) 2015-12-02T15:35:03Z dim quit (*.net *.split) 2015-12-02T15:35:04Z fikusz quit (*.net *.split) 2015-12-02T15:35:05Z Posterdati quit (*.net *.split) 2015-12-02T15:35:05Z mood quit (*.net *.split) 2015-12-02T15:35:06Z chu quit (*.net *.split) 2015-12-02T15:35:07Z dsp-_ quit (*.net *.split) 2015-12-02T15:35:07Z dougk_ quit (*.net *.split) 2015-12-02T15:35:08Z chris2 quit (*.net *.split) 2015-12-02T15:35:08Z les` quit (*.net *.split) 2015-12-02T15:35:08Z luis quit (*.net *.split) 2015-12-02T15:35:08Z pootler quit (*.net *.split) 2015-12-02T15:35:09Z jdz quit (*.net *.split) 2015-12-02T15:35:09Z ignotus quit (*.net *.split) 2015-12-02T15:35:09Z scymtym_ quit (*.net *.split) 2015-12-02T15:35:11Z karswell quit (*.net *.split) 2015-12-02T15:35:11Z DeadTrickster quit (*.net *.split) 2015-12-02T15:35:11Z angavrilov quit (*.net *.split) 2015-12-02T15:35:12Z adhoc quit (*.net *.split) 2015-12-02T15:35:12Z zacts quit (*.net *.split) 2015-12-02T15:35:12Z Bike quit (*.net *.split) 2015-12-02T15:35:12Z jlarocco quit (*.net *.split) 2015-12-02T15:35:13Z specbot quit (*.net *.split) 2015-12-02T15:35:13Z ferada quit (*.net *.split) 2015-12-02T15:35:13Z antoszka quit (*.net *.split) 2015-12-02T15:35:14Z Ober quit (*.net *.split) 2015-12-02T15:35:14Z nimiux quit (*.net *.split) 2015-12-02T15:35:14Z jackdaniel quit (*.net *.split) 2015-12-02T15:35:14Z christoph_d quit (*.net *.split) 2015-12-02T15:35:15Z jsnell quit (*.net *.split) 2015-12-02T15:35:15Z carvite quit (*.net *.split) 2015-12-02T15:35:16Z Guest84856 quit (*.net *.split) 2015-12-02T15:35:16Z _iwc quit (*.net *.split) 2015-12-02T15:35:17Z p_l quit (*.net *.split) 2015-12-02T15:35:19Z brucem quit (*.net *.split) 2015-12-02T15:35:19Z frankS2 quit (*.net *.split) 2015-12-02T15:35:19Z phcrist quit (*.net *.split) 2015-12-02T15:35:20Z Blkt quit (*.net *.split) 2015-12-02T15:35:20Z fe[nl]ix quit (*.net *.split) 2015-12-02T15:35:20Z dustinm` quit (*.net *.split) 2015-12-02T15:36:23Z dustinm` joined #sbcl 2015-12-02T15:37:24Z reb joined #sbcl 2015-12-02T15:37:24Z dim joined #sbcl 2015-12-02T15:37:24Z fikusz joined #sbcl 2015-12-02T15:39:25Z chu joined #sbcl 2015-12-02T15:39:25Z dsp-_ joined #sbcl 2015-12-02T15:39:25Z dougk_ joined #sbcl 2015-12-02T15:39:25Z chris2 joined #sbcl 2015-12-02T15:39:25Z les` joined #sbcl 2015-12-02T15:39:25Z luis joined #sbcl 2015-12-02T15:39:25Z pootler joined #sbcl 2015-12-02T15:39:25Z jdz joined #sbcl 2015-12-02T15:39:25Z ignotus joined #sbcl 2015-12-02T15:39:25Z scymtym_ joined #sbcl 2015-12-02T15:39:30Z Xof joined #sbcl 2015-12-02T15:39:30Z hlavaty joined #sbcl 2015-12-02T15:39:30Z whiteline joined #sbcl 2015-12-02T15:39:30Z yvm joined #sbcl 2015-12-02T15:39:30Z Quadrescence joined #sbcl 2015-12-02T15:39:30Z akkad joined #sbcl 2015-12-02T15:39:30Z jackc- joined #sbcl 2015-12-02T15:39:42Z angavrilov joined #sbcl 2015-12-02T15:39:42Z antoszka joined #sbcl 2015-12-02T15:40:12Z antoszka quit (Client Quit) 2015-12-02T15:40:27Z Shinmera joined #sbcl 2015-12-02T15:40:48Z carvite joined #sbcl 2015-12-02T15:40:49Z Guest84856 joined #sbcl 2015-12-02T15:40:49Z _iwc joined #sbcl 2015-12-02T15:40:49Z p_l joined #sbcl 2015-12-02T15:42:34Z Posterdati joined #sbcl 2015-12-02T15:42:35Z mood joined #sbcl 2015-12-02T15:42:59Z sigjuice joined #sbcl 2015-12-02T15:44:24Z frankS2 joined #sbcl 2015-12-02T15:44:24Z brucem joined #sbcl 2015-12-02T15:44:24Z phcrist joined #sbcl 2015-12-02T15:44:24Z Blkt joined #sbcl 2015-12-02T15:44:24Z fe[nl]ix joined #sbcl 2015-12-02T15:44:27Z frankS2 quit (Max SendQ exceeded) 2015-12-02T15:46:02Z frankS2 joined #sbcl 2015-12-02T15:48:58Z nyef quit (Ping timeout: 260 seconds) 2015-12-02T15:52:13Z antoszka joined #sbcl 2015-12-02T15:53:02Z antoszka quit (Client Quit) 2015-12-02T15:56:26Z dougk2 quit (Ping timeout: 260 seconds) 2015-12-02T15:59:16Z sjl joined #sbcl 2015-12-02T15:59:16Z stassats joined #sbcl 2015-12-02T15:59:16Z edgar-rft joined #sbcl 2015-12-02T15:59:16Z clop joined #sbcl 2015-12-02T15:59:16Z psilord joined #sbcl 2015-12-02T15:59:16Z hitecnologys joined #sbcl 2015-12-02T15:59:16Z irsol joined #sbcl 2015-12-02T15:59:16Z yauz joined #sbcl 2015-12-02T15:59:16Z salva joined #sbcl 2015-12-02T15:59:16Z jlarocco_ joined #sbcl 2015-12-02T15:59:16Z minion joined #sbcl 2015-12-02T15:59:16Z White_Flame joined #sbcl 2015-12-02T16:09:31Z sjl quit (*.net *.split) 2015-12-02T16:09:31Z stassats quit (*.net *.split) 2015-12-02T16:09:32Z edgar-rft quit (*.net *.split) 2015-12-02T16:09:32Z psilord quit (*.net *.split) 2015-12-02T16:09:32Z hitecnologys quit (*.net *.split) 2015-12-02T16:09:34Z irsol quit (*.net *.split) 2015-12-02T16:09:34Z clop quit (*.net *.split) 2015-12-02T16:09:34Z yauz quit (*.net *.split) 2015-12-02T16:09:34Z salva quit (*.net *.split) 2015-12-02T16:09:35Z jlarocco_ quit (*.net *.split) 2015-12-02T16:09:35Z minion quit (*.net *.split) 2015-12-02T16:09:35Z White_Flame quit (*.net *.split) 2015-12-02T16:31:50Z abbe joined #sbcl 2015-12-02T16:33:51Z attila_lendvai joined #sbcl 2015-12-02T16:34:22Z scymtym_: Xof: thanks, pushed 2015-12-02T16:34:50Z jsnell joined #sbcl 2015-12-02T16:34:50Z christoph_d joined #sbcl 2015-12-02T16:34:50Z jackdaniel joined #sbcl 2015-12-02T16:34:50Z nimiux joined #sbcl 2015-12-02T16:34:50Z Ober joined #sbcl 2015-12-02T16:34:50Z ferada joined #sbcl 2015-12-02T16:34:50Z specbot joined #sbcl 2015-12-02T16:34:50Z jlarocco joined #sbcl 2015-12-02T16:34:50Z Bike joined #sbcl 2015-12-02T16:34:50Z zacts joined #sbcl 2015-12-02T16:34:50Z adhoc joined #sbcl 2015-12-02T16:34:50Z DeadTrickster joined #sbcl 2015-12-02T16:34:50Z karswell joined #sbcl 2015-12-02T16:34:50Z 18VAADQYW joined #sbcl 2015-12-02T16:34:50Z sjl joined #sbcl 2015-12-02T16:34:50Z stassats joined #sbcl 2015-12-02T16:34:50Z edgar-rft joined #sbcl 2015-12-02T16:34:50Z clop joined #sbcl 2015-12-02T16:34:50Z psilord joined #sbcl 2015-12-02T16:34:50Z hitecnologys joined #sbcl 2015-12-02T16:34:50Z irsol joined #sbcl 2015-12-02T16:34:50Z yauz joined #sbcl 2015-12-02T16:34:50Z salva joined #sbcl 2015-12-02T16:34:50Z jlarocco_ joined #sbcl 2015-12-02T16:34:50Z minion joined #sbcl 2015-12-02T16:34:50Z White_Flame joined #sbcl 2015-12-02T16:38:06Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-12-02T16:39:24Z _iwc quit (Killed (Sigyn (Spam is off topic on freenode.))) 2015-12-02T16:45:01Z 18VAADQYW quit (*.net *.split) 2015-12-02T16:45:01Z sjl quit (*.net *.split) 2015-12-02T16:45:02Z stassats quit (*.net *.split) 2015-12-02T16:45:02Z edgar-rft quit (*.net *.split) 2015-12-02T16:45:02Z psilord quit (*.net *.split) 2015-12-02T16:45:03Z hitecnologys quit (*.net *.split) 2015-12-02T16:45:04Z irsol quit (*.net *.split) 2015-12-02T16:45:04Z clop quit (*.net *.split) 2015-12-02T16:45:04Z yauz quit (*.net *.split) 2015-12-02T16:45:04Z salva quit (*.net *.split) 2015-12-02T16:45:05Z jlarocco_ quit (*.net *.split) 2015-12-02T16:45:05Z minion quit (*.net *.split) 2015-12-02T16:45:05Z White_Flame quit (*.net *.split) 2015-12-02T16:45:06Z karswell quit (*.net *.split) 2015-12-02T16:45:06Z DeadTrickster quit (*.net *.split) 2015-12-02T16:45:07Z adhoc quit (*.net *.split) 2015-12-02T16:45:07Z zacts quit (*.net *.split) 2015-12-02T16:45:07Z Bike quit (*.net *.split) 2015-12-02T16:45:07Z jlarocco quit (*.net *.split) 2015-12-02T16:45:08Z specbot quit (*.net *.split) 2015-12-02T16:45:08Z ferada quit (*.net *.split) 2015-12-02T16:45:09Z Ober quit (*.net *.split) 2015-12-02T16:45:09Z nimiux quit (*.net *.split) 2015-12-02T16:45:09Z jackdaniel quit (*.net *.split) 2015-12-02T16:45:10Z christoph_d quit (*.net *.split) 2015-12-02T16:45:11Z jsnell quit (*.net *.split) 2015-12-02T16:46:35Z White_Flame joined #sbcl 2015-12-02T16:46:36Z minion joined #sbcl 2015-12-02T16:46:36Z jlarocco_ joined #sbcl 2015-12-02T16:46:36Z salva joined #sbcl 2015-12-02T16:46:36Z yauz joined #sbcl 2015-12-02T16:46:36Z irsol joined #sbcl 2015-12-02T16:46:36Z hitecnologys joined #sbcl 2015-12-02T16:46:36Z psilord joined #sbcl 2015-12-02T16:46:36Z clop joined #sbcl 2015-12-02T16:46:36Z edgar-rft joined #sbcl 2015-12-02T16:46:36Z stassats joined #sbcl 2015-12-02T16:46:36Z sjl joined #sbcl 2015-12-02T16:46:36Z 18VAADQYW joined #sbcl 2015-12-02T16:46:36Z karswell joined #sbcl 2015-12-02T16:46:36Z DeadTrickster joined #sbcl 2015-12-02T16:46:36Z adhoc joined #sbcl 2015-12-02T16:46:36Z zacts joined #sbcl 2015-12-02T16:46:36Z Bike joined #sbcl 2015-12-02T16:46:36Z jlarocco joined #sbcl 2015-12-02T16:46:36Z specbot joined #sbcl 2015-12-02T16:46:36Z ferada joined #sbcl 2015-12-02T16:46:36Z Ober joined #sbcl 2015-12-02T16:46:36Z nimiux joined #sbcl 2015-12-02T16:46:36Z jackdaniel joined #sbcl 2015-12-02T16:46:36Z christoph_d joined #sbcl 2015-12-02T16:46:36Z jsnell joined #sbcl 2015-12-02T16:48:51Z frankS2 quit (Changing host) 2015-12-02T16:48:52Z frankS2 joined #sbcl 2015-12-02T16:58:02Z dougk2 joined #sbcl 2015-12-02T17:02:42Z dougk2 quit (Ping timeout: 260 seconds) 2015-12-02T17:03:28Z antoszka joined #sbcl 2015-12-02T17:04:32Z dougk2 joined #sbcl 2015-12-02T17:05:15Z antoszka quit (Client Quit) 2015-12-02T17:11:52Z antoszka joined #sbcl 2015-12-02T17:21:22Z lnostdal quit (Ping timeout: 260 seconds) 2015-12-02T17:23:45Z lnostdal joined #sbcl 2015-12-02T17:27:21Z plertrood joined #sbcl 2015-12-02T17:33:29Z sjl quit (Ping timeout: 245 seconds) 2015-12-02T17:33:37Z ChanServ has set mode +o Xof 2015-12-02T17:33:38Z hitecnologys quit (Quit: Gone) 2015-12-02T17:33:58Z plertrood quit (Ping timeout: 260 seconds) 2015-12-02T17:35:23Z plertrood joined #sbcl 2015-12-02T17:37:32Z hitecnologys joined #sbcl 2015-12-02T17:38:10Z dougk2 quit (Ping timeout: 260 seconds) 2015-12-02T17:44:14Z plertrood quit (Ping timeout: 260 seconds) 2015-12-02T18:07:37Z gingerale joined #sbcl 2015-12-02T18:23:48Z sjl joined #sbcl 2015-12-02T18:31:12Z dougk2 joined #sbcl 2015-12-02T18:33:47Z lnostdal quit (Ping timeout: 264 seconds) 2015-12-02T18:44:57Z lnostdal joined #sbcl 2015-12-02T18:55:59Z leuler joined #sbcl 2015-12-02T19:02:14Z karswell quit (Read error: Connection reset by peer) 2015-12-02T19:02:31Z karswell joined #sbcl 2015-12-02T19:10:06Z chris2 quit (Ping timeout: 240 seconds) 2015-12-02T19:26:49Z chris2 joined #sbcl 2015-12-02T19:36:42Z dougk2 quit (Ping timeout: 260 seconds) 2015-12-02T19:52:42Z dougk2 joined #sbcl 2015-12-02T19:54:01Z frankS2 quit (Write error: Connection reset by peer) 2015-12-02T19:59:15Z drmeister quit (Remote host closed the connection) 2015-12-02T20:07:06Z leuler: minion: forget my memos. 2015-12-02T20:07:06Z minion: OK, I threw it out. 2015-12-02T20:07:28Z attila_lendvai joined #sbcl 2015-12-02T20:09:37Z stassats: minion: forget all your worries 2015-12-02T20:09:38Z minion: What's all your worries? Never heard of it. 2015-12-02T20:09:58Z leuler: scymtym_: I just sent a mail to sbcl-devel about the slow random call. 2015-12-02T20:26:39Z frankS2 joined #sbcl 2015-12-02T20:27:34Z dougk2 quit (Ping timeout: 260 seconds) 2015-12-02T20:27:39Z drmeister joined #sbcl 2015-12-02T20:35:40Z dougk2 joined #sbcl 2015-12-02T20:39:42Z DGASAU quit (Ping timeout: 260 seconds) 2015-12-02T20:40:46Z DGASAU joined #sbcl 2015-12-02T20:43:00Z dougk2 quit (Ping timeout: 250 seconds) 2015-12-02T20:52:28Z gingerale quit (Remote host closed the connection) 2015-12-02T21:03:39Z plertrood joined #sbcl 2015-12-02T21:12:47Z scymtym joined #sbcl 2015-12-02T21:16:00Z yauz quit (Ping timeout: 245 seconds) 2015-12-02T21:16:27Z dougk2 joined #sbcl 2015-12-02T21:18:10Z ASau joined #sbcl 2015-12-02T21:21:05Z yauz joined #sbcl 2015-12-02T21:30:13Z scymtym: leuler: thank you for the quick analyses. i didn't even manage to look at the issue again in the meantime. before i asked on #sbcl, i only tried a ~ 5 line change to make instance hash code computation lazy and verified that it didn't break the build. as a result, i'm only slightly convinced, the change could actually be correct. so no effort wasted. 2015-12-02T21:30:48Z Xof: maybe we should emit warnings on every full call to mask-signed-field 2015-12-02T21:31:05Z Xof: surely there can't be many in the build that shouldn't be transformed away? 2015-12-02T21:37:15Z leuler: I would hope so, too. But from the discussion in 2014 I got the impression that it may be very difficult to get the compiler to emit fewer unneeded calls of mask-signed-field. 2015-12-02T21:39:27Z csziacobus joined #sbcl 2015-12-02T21:39:38Z plertrood quit (Ping timeout: 246 seconds) 2015-12-02T21:49:14Z csziacobus quit (Quit: csziacobus) 2015-12-02T21:49:31Z csziacobus joined #sbcl 2015-12-02T21:51:26Z leuler quit (Quit: ERC Version 5.1.2 $Revision: 1.796.2.6 $ (IRC client for Emacs)) 2015-12-02T21:52:50Z edgar-rft quit (Quit: edgar-rft) 2015-12-02T22:24:21Z fcbr joined #sbcl 2015-12-02T22:28:22Z Bicyclidine joined #sbcl 2015-12-02T22:34:05Z fcbr left #sbcl 2015-12-02T22:34:30Z csziacobus quit (Quit: csziacobus) 2015-12-02T22:50:48Z angavrilov quit (Remote host closed the connection) 2015-12-02T22:52:52Z Shinmera quit (Quit: しつれいしなければならないんです。) 2015-12-02T23:00:08Z Bicyclidine quit (Ping timeout: 246 seconds) 2015-12-02T23:02:02Z Bicyclidine joined #sbcl 2015-12-02T23:11:19Z stassats: things are generally pretty bad when we try to optimize something with transforms but it can't be transformed later 2015-12-02T23:18:22Z stassats: find-fdefn (name) (declare (optimize (safety 0))) 2015-12-02T23:18:23Z stassats: uh oh 2015-12-02T23:20:36Z phcrist quit (Ping timeout: 264 seconds) 2015-12-02T23:23:01Z phcrist joined #sbcl 2015-12-02T23:40:05Z plertrood joined #sbcl 2015-12-02T23:41:47Z karswell quit (Read error: Connection reset by peer) 2015-12-02T23:42:02Z karswell joined #sbcl 2015-12-02T23:52:50Z specbot quit (Remote host closed the connection) 2015-12-02T23:52:50Z minion quit (Remote host closed the connection) 2015-12-02T23:53:29Z stassats quit (Ping timeout: 245 seconds) 2015-12-02T23:53:42Z specbot joined #sbcl 2015-12-02T23:53:42Z minion joined #sbcl 2015-12-02T23:54:33Z Blkt quit (Quit: No Ping reply in 180 seconds.) 2015-12-02T23:54:49Z Blkt joined #sbcl 2015-12-02T23:54:55Z fe[nl]ix quit (Quit: No Ping reply in 180 seconds.) 2015-12-02T23:55:06Z lacedaemon joined #sbcl 2015-12-03T00:01:46Z lnostdal quit (Ping timeout: 260 seconds) 2015-12-03T00:02:41Z lnostdal joined #sbcl 2015-12-03T00:05:58Z dougk2 quit (Ping timeout: 260 seconds) 2015-12-03T00:17:21Z dougk2 joined #sbcl 2015-12-03T00:25:39Z csziacobus joined #sbcl 2015-12-03T00:33:35Z Bicyclidine quit (Ping timeout: 246 seconds) 2015-12-03T00:39:10Z plertrood quit (Ping timeout: 250 seconds) 2015-12-03T00:40:03Z Xof quit (Ping timeout: 250 seconds) 2015-12-03T00:45:14Z lacedaemon is now known as fe[nl]ix 2015-12-03T00:52:53Z Bicyclidine joined #sbcl 2015-12-03T00:58:26Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-12-03T01:06:50Z dougk2 quit (Ping timeout: 246 seconds) 2015-12-03T01:19:42Z karswell quit (Read error: Connection reset by peer) 2015-12-03T01:19:58Z karswell joined #sbcl 2015-12-03T01:22:20Z dougk2 joined #sbcl 2015-12-03T01:23:31Z dougk2_ joined #sbcl 2015-12-03T01:26:43Z dougk2 quit (Ping timeout: 260 seconds) 2015-12-03T01:30:51Z Bicyclidine quit (Quit: catching bus) 2015-12-03T02:26:59Z dougk2_ quit (Ping timeout: 246 seconds) 2015-12-03T02:39:19Z karswell quit (Ping timeout: 245 seconds) 2015-12-03T02:56:34Z zacts quit (Quit: WeeChat 1.3) 2015-12-03T03:33:28Z dougk2 joined #sbcl 2015-12-03T03:34:59Z csziacobus quit (Quit: csziacobus) 2015-12-03T04:20:46Z loke quit (Ping timeout: 260 seconds) 2015-12-03T04:33:30Z loke joined #sbcl 2015-12-03T04:52:14Z dougk2 quit (Ping timeout: 246 seconds) 2015-12-03T05:20:29Z 18VAADQYW quit (Quit: Leaving) 2015-12-03T05:20:57Z psy_ joined #sbcl 2015-12-03T06:09:56Z psy_ quit (Ping timeout: 246 seconds) 2015-12-03T07:02:41Z Shinmera joined #sbcl 2015-12-03T07:10:38Z lnostdal quit (Ping timeout: 260 seconds) 2015-12-03T07:13:08Z lnostdal joined #sbcl 2015-12-03T07:14:03Z Xof joined #sbcl 2015-12-03T07:19:02Z scymtym quit (Ping timeout: 260 seconds) 2015-12-03T08:12:14Z lnostdal quit (Ping timeout: 260 seconds) 2015-12-03T08:17:44Z stassats joined #sbcl 2015-12-03T08:28:31Z angavrilov joined #sbcl 2015-12-03T08:28:59Z lnostdal joined #sbcl 2015-12-03T08:33:14Z Quadrescence quit (Ping timeout: 250 seconds) 2015-12-03T08:35:59Z Quadrescence joined #sbcl 2015-12-03T08:50:30Z lnostdal quit (Ping timeout: 260 seconds) 2015-12-03T08:50:38Z edgar-rft joined #sbcl 2015-12-03T08:51:24Z Bike_ joined #sbcl 2015-12-03T08:51:41Z lnostdal joined #sbcl 2015-12-03T08:52:00Z Bike quit (Disconnected by services) 2015-12-03T08:52:05Z Bike_ is now known as Bike 2015-12-03T08:52:20Z ASau quit (Ping timeout: 246 seconds) 2015-12-03T09:10:06Z lnostdal quit (Ping timeout: 260 seconds) 2015-12-03T09:12:47Z lnostdal joined #sbcl 2015-12-03T09:16:03Z lnostdal quit (Max SendQ exceeded) 2015-12-03T09:16:09Z loke quit (Ping timeout: 250 seconds) 2015-12-03T09:17:03Z lnostdal joined #sbcl 2015-12-03T09:23:11Z sjl quit (Ping timeout: 260 seconds) 2015-12-03T09:28:47Z loke joined #sbcl 2015-12-03T09:39:44Z stassats quit (Ping timeout: 245 seconds) 2015-12-03T09:42:03Z stassats joined #sbcl 2015-12-03T09:43:43Z jlarocco quit (Ping timeout: 260 seconds) 2015-12-03T09:48:20Z stassats quit (Ping timeout: 246 seconds) 2015-12-03T09:49:06Z stassats joined #sbcl 2015-12-03T09:53:30Z stassats quit (Ping timeout: 260 seconds) 2015-12-03T09:54:36Z stassats joined #sbcl 2015-12-03T10:09:20Z salva quit (Ping timeout: 245 seconds) 2015-12-03T10:09:46Z ZabaQ joined #sbcl 2015-12-03T10:14:07Z salva joined #sbcl 2015-12-03T10:22:45Z sjl joined #sbcl 2015-12-03T11:13:44Z Xof: (defun msf (size integer) (declare (type fixnum integer) (type (integer 1 63) size)) (if (logtest integer (1- size)) (dpb integer (byte (1- size) 0) -1) (ldb (byte (1- size) 0) integer))) 2015-12-03T11:14:07Z Xof: [ proof of concept better out-of-line mask-signed-field ] 2015-12-03T11:31:46Z loke quit (Ping timeout: 250 seconds) 2015-12-03T11:36:11Z Cymew joined #sbcl 2015-12-03T11:44:25Z loke joined #sbcl 2015-12-03T11:50:59Z stassats quit (Ping timeout: 245 seconds) 2015-12-03T11:52:06Z stassats joined #sbcl 2015-12-03T12:13:48Z stassats quit (Ping timeout: 250 seconds) 2015-12-03T12:15:10Z stassats joined #sbcl 2015-12-03T12:23:45Z attila_lendvai joined #sbcl 2015-12-03T12:23:46Z attila_lendvai quit (Changing host) 2015-12-03T12:23:46Z attila_lendvai joined #sbcl 2015-12-03T12:42:39Z sjl quit (Ping timeout: 245 seconds) 2015-12-03T13:04:00Z sjl joined #sbcl 2015-12-03T13:06:42Z lnostdal quit (Ping timeout: 260 seconds) 2015-12-03T13:21:06Z mega1 joined #sbcl 2015-12-03T13:23:47Z lnostdal joined #sbcl 2015-12-03T13:24:20Z mega1` joined #sbcl 2015-12-03T13:25:59Z mega1 quit (Ping timeout: 264 seconds) 2015-12-03T13:28:53Z mega1 joined #sbcl 2015-12-03T13:28:59Z mega1` quit (Ping timeout: 264 seconds) 2015-12-03T13:31:22Z mega1: I have a very half baked implementation of two types thread local specials: one whose global binding is not accessible and another that becomes thread local when set. 2015-12-03T13:32:25Z mega1: It seems to work fine, except for SET with a non-constant symbol arg in which case it would need to know at runtime what whether the symbol is thread local. 2015-12-03T13:33:29Z mega1: I don't see a convenient place to hang those bits on. 2015-12-03T14:10:12Z Xof: what's in the symbol header word? 2015-12-03T14:10:40Z stassats: fbound? 2015-12-03T14:10:50Z stassats: or function info? 2015-12-03T14:11:42Z stassats: or symbol info 2015-12-03T14:12:03Z stassats: bah, all wrong 2015-12-03T14:12:05Z stassats: tls index 2015-12-03T14:13:18Z stassats: bot something does have info in its header 2015-12-03T14:14:11Z stassats: or had 2015-12-03T14:14:18Z dougk2 joined #sbcl 2015-12-03T14:15:26Z rszeno joined #sbcl 2015-12-03T14:20:10Z Xof: so, take the top bit (or something) of the header word for the boolean? 2015-12-03T14:22:22Z mega1: Oh, I see. x86-64 packs the tls index into the second 32 bit subword of the header. 2015-12-03T14:22:43Z stassats: arm64 does too 2015-12-03T14:23:16Z Xof: of course you then have to deal with NIL 2015-12-03T14:23:28Z Xof: or at least be careful of it 2015-12-03T14:23:50Z stassats: is there any routine to 1+ a numeric type? 2015-12-03T14:23:56Z stassats: or an easy way to do it 2015-12-03T14:24:48Z mega1: Xof: if I take the top bit? 2015-12-03T14:24:50Z stassats: or rather 1-, basically making it exclusive 2015-12-03T14:26:22Z Xof: mega1: just make sure that whatever scheme you come up with is compatible with the puns surrounding nil-as-list 2015-12-03T14:27:30Z stassats: would be good if it worked on unions too 2015-12-03T14:28:07Z rszeno quit (Quit: Leaving.) 2015-12-03T14:28:35Z stassats: though, there's unlike to be a union of types coming from CHECK-BOUND 2015-12-03T14:28:52Z stassats: since they all start from 0, it'll always intersect 2015-12-03T14:31:02Z mega1: In essence, these are subtypes of symbols so introducing another level below widetag seems appropriate. 2015-12-03T14:32:04Z mega1: That's a pretty sick way of viewing it, though. 2015-12-03T14:34:19Z stassats: shouldn't !def-bounded-type be !def-bound-type? 2015-12-03T14:34:42Z stassats: seems it's a term in math 2015-12-03T14:35:00Z stassats: ok then, sounds weird either way 2015-12-03T14:36:22Z dougk2 quit (Ping timeout: 250 seconds) 2015-12-03T14:37:12Z mega1: So if I understand correctly symbols have three unused bytes after widetag on both 32 and 64 bit platforms. 2015-12-03T14:37:44Z mega1: I'll have to figure out the NIL as a list pun. 2015-12-03T14:37:48Z stassats: having bind/bound, bound noun, bound verb is pretty confusing 2015-12-03T14:38:10Z stassats: coerce-bound, is it coercing a bound or is the coercion bound? 2015-12-03T14:39:00Z stassats: mega1: or before the widetag 2015-12-03T14:39:41Z mega1: I'd read coerce-bound as verb-noun. 2015-12-03T14:40:02Z stassats: yeah, that one is easy 2015-12-03T14:41:42Z mega1: stassats: before the widetag? I thought that's the first byte. 2015-12-03T14:43:35Z stassats: big endian? 2015-12-03T14:44:08Z stassats: copy-numeric-type... (:copier nil) 2015-12-03T14:44:09Z mega1: ah, ok 2015-12-03T14:45:05Z stassats: does copy-structure retain the same hash-value? 2015-12-03T14:45:41Z stassats: ah, numeric-type has its own hash 2015-12-03T14:45:58Z stassats: ok, i'll have to copy it by hand 2015-12-03T14:48:13Z dougk2 joined #sbcl 2015-12-03T14:52:25Z stassats: what's the point of enumerable in numeric-type? 2015-12-03T14:53:40Z stassats: ok, it seems it's used for !define-type-class 2015-12-03T14:55:29Z stassats: found what i need, kinda, SB-KERNEL:MODIFIED-NUMERIC-TYPE 2015-12-03T14:58:38Z stassats: time to put BOUND-CAST together 2015-12-03T15:02:37Z stassats: and i think it'll be better than the previous situation, able to optimize (or (simple-vector 10) (simple-vector 20)) 2015-12-03T15:03:22Z stassats: except that array-dimension on that is a full call 2015-12-03T15:05:01Z DGASAU quit (Read error: Connection reset by peer) 2015-12-03T15:05:19Z stassats: ; note: unable to ; optimize ; because: ; dimensions of arrays in union type (OR (SIMPLE-VECTOR 10) (SIMPLE-VECTOR 20)) ; do not match 2015-12-03T15:05:25Z DGASAU joined #sbcl 2015-12-03T15:09:22Z stassats: (SB!C::array-type-dimensions-or-give-up (specifier-type 'simple-vector)) => (*) 2015-12-03T15:09:47Z stassats: it can do the same for unions 2015-12-03T15:15:30Z dougk2 quit (Ping timeout: 260 seconds) 2015-12-03T15:17:10Z stassats: that solved, but it doesn't lead to better type derivation, since check-bound needs to know the minimum upper bound 2015-12-03T15:17:18Z dougk2 joined #sbcl 2015-12-03T15:26:48Z stassats: check-bound is used as (check-bound array (array-dimension array) index), but i don't have to derive the type from (array-dimension array), i can do it from array 2015-12-03T15:26:58Z stassats: though that situation is pretty rare anyway 2015-12-03T15:32:59Z psy_ joined #sbcl 2015-12-03T15:35:34Z dougk2 quit (Ping timeout: 260 seconds) 2015-12-03T15:45:28Z stassats: and check-bound is used for :start/:end sometimes, which are inclusive 2015-12-03T15:45:53Z dougk2 joined #sbcl 2015-12-03T15:51:26Z dougk2 quit (Ping timeout: 260 seconds) 2015-12-03T15:54:48Z sjl quit (Ping timeout: 250 seconds) 2015-12-03T15:54:58Z dougk2 joined #sbcl 2015-12-03T15:58:46Z jdz quit (Ping timeout: 240 seconds) 2015-12-03T16:04:07Z jdz joined #sbcl 2015-12-03T16:08:43Z psy_ quit (Ping timeout: 260 seconds) 2015-12-03T16:37:39Z stassats quit (Ping timeout: 260 seconds) 2015-12-03T16:38:16Z stassats joined #sbcl 2015-12-03T16:38:23Z lnostdal_ joined #sbcl 2015-12-03T16:41:49Z lnostdal quit (Ping timeout: 245 seconds) 2015-12-03T16:42:46Z stassats quit (Ping timeout: 260 seconds) 2015-12-03T16:45:24Z mega1: Hmm, can there be initialized junk in those symbol header bytes? 2015-12-03T16:45:31Z mega1: *uninitialized 2015-12-03T16:45:49Z stassats joined #sbcl 2015-12-03T16:49:18Z dougk2 quit (Ping timeout: 260 seconds) 2015-12-03T16:50:08Z Xof: I would have said "no", but famous last words... 2015-12-03T16:50:34Z Cymew quit (Ping timeout: 245 seconds) 2015-12-03T16:51:57Z stassats: are you asking whether you can put it there or whether you could stumble on it? 2015-12-03T16:52:44Z stassats: since everything is zeroed and stuff is initialized using whole words, nothing unexpected would appear there 2015-12-03T16:53:23Z mega1: Compiling sbcl ends up in ldb currently, while superficial testing within a live image indicates no problems. 2015-12-03T16:53:35Z stassats: well, that's how it goes 2015-12-03T16:53:56Z mega1: If I remove the conditionalization on those bits then it compiles. 2015-12-03T17:01:26Z mega1: hah, :dword != :word 2015-12-03T17:03:10Z dougk2 joined #sbcl 2015-12-03T17:06:39Z ZabaQ quit (Quit: Leaving) 2015-12-03T17:10:59Z dougk2 quit (Ping timeout: 264 seconds) 2015-12-03T17:12:04Z mega1: So the SET vop works. 2015-12-03T17:12:06Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-12-03T17:12:38Z mega1: On the other hand, I have specialized vops for reading/writing thread locals but they don't seem to be used. 2015-12-03T17:14:35Z mega1: I arranged for ir2-convert-global-var and ir2-convert-set to call them, but they don't seem to have an effect ... 2015-12-03T17:16:21Z scymtym joined #sbcl 2015-12-03T17:16:53Z mega1: Apparently someone is clobbering :WIRED-TLS in INFO. 2015-12-03T17:17:28Z dougk2 joined #sbcl 2015-12-03T17:19:16Z stassats: trying my check-bound+bound-cast, expecting a cold ldb too 2015-12-03T17:19:33Z mega1: It's the BIND/LET vop. 2015-12-03T17:21:56Z stassats: or, not so fast, i can't use FIXNUM as the initial restriction 2015-12-03T17:22:02Z stassats: as most things would just suceed 2015-12-03T17:22:51Z psy_ joined #sbcl 2015-12-03T17:26:10Z dougk2 quit (Ping timeout: 260 seconds) 2015-12-03T17:31:04Z nyef joined #sbcl 2015-12-03T17:32:27Z dougk2 joined #sbcl 2015-12-03T17:35:59Z nyef quit (Ping timeout: 260 seconds) 2015-12-03T17:39:11Z dougk2 quit (Ping timeout: 264 seconds) 2015-12-03T17:46:03Z dougk2 joined #sbcl 2015-12-03T17:49:06Z nyef joined #sbcl 2015-12-03T17:51:39Z nyef: Heh. "If backends had a primitive to get the low N-FIXNUM-BITS of a bignum" indeed. (-: 2015-12-03T17:52:24Z nyef: Surely getting the low (1- n-word-bits) is sufficient? 2015-12-03T17:57:34Z dougk2_ joined #sbcl 2015-12-03T17:57:54Z dougk2 quit (Ping timeout: 260 seconds) 2015-12-03T17:58:56Z Xof: I have it mostly 2015-12-03T17:59:15Z Xof: but no, it needs to be the n-fixnum-bits to avoid an intermediate cons in DPB I think 2015-12-03T17:59:45Z Xof: I think the x86-64 and friends mask-signed-field/c-word and mask-signed-field/c-bignum are good enough 2015-12-03T17:59:54Z Xof: I just might need them ported to all architectures :-) 2015-12-03T18:02:35Z nyef: That can be arranged. 2015-12-03T18:04:47Z nyef: I can cover everything except arm64, actually. 2015-12-03T18:05:37Z Xof: I think it's already present on arm[64] and x86[-64] 2015-12-03T18:05:48Z Xof: so it's "just" the minor platforms :) 2015-12-03T18:09:06Z dougk2_ quit (Ping timeout: 260 seconds) 2015-12-03T18:10:39Z nyef: And here I thought that the ARM backends were the only ones too young to vote? 2015-12-03T18:10:39Z dougk2 joined #sbcl 2015-12-03T18:24:43Z ASau joined #sbcl 2015-12-03T18:26:43Z gingerale joined #sbcl 2015-12-03T18:41:34Z Bicyclidine joined #sbcl 2015-12-03T18:45:44Z sjl joined #sbcl 2015-12-03T18:46:43Z attila_lendvai joined #sbcl 2015-12-03T18:46:51Z attila_lendvai quit (Changing host) 2015-12-03T18:46:51Z attila_lendvai joined #sbcl 2015-12-03T18:51:06Z gingerale quit (Ping timeout: 260 seconds) 2015-12-03T18:52:30Z lnostdal_ quit (Ping timeout: 260 seconds) 2015-12-03T19:05:36Z lnostdal_ joined #sbcl 2015-12-03T19:16:59Z dougk2 quit (Ping timeout: 264 seconds) 2015-12-03T19:21:20Z zacts joined #sbcl 2015-12-03T19:22:51Z yvm quit (Quit: Leaving) 2015-12-03T19:45:43Z gingerale joined #sbcl 2015-12-03T19:52:05Z Posterdati quit (Ping timeout: 246 seconds) 2015-12-03T19:53:39Z Bicyclidine quit (Ping timeout: 260 seconds) 2015-12-03T20:00:08Z Bicyclidine joined #sbcl 2015-12-03T20:05:48Z Posterdati joined #sbcl 2015-12-03T20:07:38Z Bicyclidine quit (Ping timeout: 260 seconds) 2015-12-03T20:14:26Z Bicyclidine joined #sbcl 2015-12-03T20:39:29Z stassats: almost got bound-cast to work, but was interrupted, i guess, tomorrow for sure 2015-12-03T20:56:31Z dougk2 joined #sbcl 2015-12-03T20:57:20Z gingerale quit (Remote host closed the connection) 2015-12-03T21:23:51Z edgar-rft quit (Quit: edgar-rft) 2015-12-03T21:36:46Z lnostdal_ quit (Ping timeout: 260 seconds) 2015-12-03T21:37:02Z lnostdal_ joined #sbcl 2015-12-03T22:18:18Z lnostdal_ quit (Ping timeout: 260 seconds) 2015-12-03T22:23:28Z plertrood joined #sbcl 2015-12-03T22:27:46Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-12-03T22:29:33Z csziacobus joined #sbcl 2015-12-03T22:34:58Z lnostdal_ joined #sbcl 2015-12-03T23:22:38Z Shinmera quit (Quit: しつれいしなければならないんです。) 2015-12-03T23:30:50Z dougk2 quit (Ping timeout: 246 seconds) 2015-12-03T23:32:38Z dougk2 joined #sbcl 2015-12-03T23:47:52Z angavrilov quit (Remote host closed the connection) 2015-12-04T00:35:02Z dougk2 quit (Ping timeout: 260 seconds) 2015-12-04T00:39:38Z dougk2 joined #sbcl 2015-12-04T00:48:53Z stassats quit (Ping timeout: 246 seconds) 2015-12-04T01:06:46Z dougk2 quit (Ping timeout: 260 seconds) 2015-12-04T01:12:25Z karswell joined #sbcl 2015-12-04T01:43:04Z scymtym quit (Ping timeout: 245 seconds) 2015-12-04T02:00:56Z Bicyclidine quit (Quit: disgusting breathing) 2015-12-04T02:05:59Z sjl quit (Quit: WeeChat 1.3) 2015-12-04T02:07:05Z sjl joined #sbcl 2015-12-04T02:11:18Z eschatologist joined #sbcl 2015-12-04T02:28:45Z psy_ quit (Remote host closed the connection) 2015-12-04T03:26:03Z npatrick04 joined #sbcl 2015-12-04T04:14:01Z eschatologist quit (Quit: Textual IRC Client: www.textualapp.com) 2015-12-04T04:14:30Z loke quit (Ping timeout: 250 seconds) 2015-12-04T04:29:29Z loke joined #sbcl 2015-12-04T04:48:55Z adhoc quit (Ping timeout: 260 seconds) 2015-12-04T04:50:33Z adhoc joined #sbcl 2015-12-04T05:41:43Z csziacobus quit (Quit: csziacobus) 2015-12-04T06:37:44Z gingerale joined #sbcl 2015-12-04T06:41:49Z gingerale quit (Ping timeout: 245 seconds) 2015-12-04T06:44:33Z gingerale joined #sbcl 2015-12-04T07:31:10Z angavrilov joined #sbcl 2015-12-04T07:41:44Z gingerale quit (Remote host closed the connection) 2015-12-04T07:45:10Z attila_lendvai joined #sbcl 2015-12-04T07:45:10Z attila_lendvai quit (Changing host) 2015-12-04T07:45:10Z attila_lendvai joined #sbcl 2015-12-04T08:05:23Z Shinmera joined #sbcl 2015-12-04T08:25:49Z dto joined #sbcl 2015-12-04T08:27:48Z Cymew joined #sbcl 2015-12-04T08:30:32Z dto: hi. i have a question about the printed representation of (make-random-state t) on sbcl. i plan to print and store the values so as to be able to procedurally generate game levels from a seed. while i know that this format will differ between sbcl and ccl (for example), what i want to know is, Will the printed state from a SBCL Windows version be the same as the same version of Sbcl running on linux? 2015-12-04T08:33:09Z dto: ah. found manual info 2015-12-04T08:33:11Z dto: reading 2015-12-04T08:36:50Z dto: ok. SEED-RANDOM-STATE. cool 2015-12-04T08:37:53Z dto: (/ 256 8) 2015-12-04T08:37:55Z dto: oops 2015-12-04T08:40:38Z flip214: REPL> 32 2015-12-04T08:40:50Z dto: good evening flip214. 2015-12-04T08:40:54Z dto: sorry for the noise :) 2015-12-04T09:02:28Z ASau` joined #sbcl 2015-12-04T09:04:42Z ASau quit (Remote host closed the connection) 2015-12-04T09:07:24Z flip214: dto: no problem. It's 10:07 here, BTW ;) 2015-12-04T09:09:21Z karswell quit (Remote host closed the connection) 2015-12-04T09:09:33Z karswell joined #sbcl 2015-12-04T09:09:56Z ASau` quit (Remote host closed the connection) 2015-12-04T09:15:05Z loke: dto: Don't 2015-12-04T09:15:17Z loke: dto: I had a similar need recently, and I suggest you do what I did. 2015-12-04T09:15:27Z dto: hi loke. 2015-12-04T09:16:08Z loke: dto: Load "acm-random" from QL, and then use it to create a radnom sequence that is repeatable 2015-12-04T09:16:08Z dto: a friend on anothre chan is telling me about cl-variates 2015-12-04T09:16:42Z loke: (let ((random (make-instance 'acm-random:adm-random)))) ... (print (random:next-uint32 random))) 2015-12-04T09:16:55Z dto: acm = association for computing machinery? 2015-12-04T09:16:57Z loke: acm-random, not adm-random 2015-12-04T09:17:15Z loke: acm-random is just one of several generators that implement the interface 2015-12-04T09:28:42Z dto quit (Remote host closed the connection) 2015-12-04T09:50:20Z hlavaty quit (Ping timeout: 250 seconds) 2015-12-04T09:57:42Z stassats joined #sbcl 2015-12-04T10:01:49Z stassats quit (Ping timeout: 245 seconds) 2015-12-04T10:03:09Z stassats joined #sbcl 2015-12-04T10:07:39Z stassats quit (Ping timeout: 260 seconds) 2015-12-04T10:10:11Z stassats joined #sbcl 2015-12-04T10:14:19Z stassats quit (Ping timeout: 245 seconds) 2015-12-04T10:15:39Z stassats joined #sbcl 2015-12-04T10:17:17Z adhoc quit (Ping timeout: 246 seconds) 2015-12-04T10:18:17Z adhoc joined #sbcl 2015-12-04T10:22:35Z stassats quit (Ping timeout: 260 seconds) 2015-12-04T10:23:07Z stassats joined #sbcl 2015-12-04T10:27:26Z stassats quit (Ping timeout: 246 seconds) 2015-12-04T10:28:39Z stassats joined #sbcl 2015-12-04T10:33:19Z stassats quit (Ping timeout: 260 seconds) 2015-12-04T10:33:42Z stassats joined #sbcl 2015-12-04T10:38:05Z stassats quit (Ping timeout: 245 seconds) 2015-12-04T10:39:42Z stassats joined #sbcl 2015-12-04T10:43:53Z stassats quit (Ping timeout: 246 seconds) 2015-12-04T10:45:38Z stassats joined #sbcl 2015-12-04T10:50:07Z stassats quit (Ping timeout: 260 seconds) 2015-12-04T10:50:42Z stassats joined #sbcl 2015-12-04T10:57:11Z stassats quit (Ping timeout: 246 seconds) 2015-12-04T10:59:12Z stassats joined #sbcl 2015-12-04T11:03:29Z stassats quit (Ping timeout: 246 seconds) 2015-12-04T11:04:12Z stassats joined #sbcl 2015-12-04T11:08:23Z stassats quit (Ping timeout: 246 seconds) 2015-12-04T11:09:11Z stassats joined #sbcl 2015-12-04T11:14:23Z sjl quit (Ping timeout: 260 seconds) 2015-12-04T11:24:38Z scymtym_: build without sb-unicode seem to fail since this batch of commits: https://ci.cor-lab.org/job/sbcl-master/1352/ 2015-12-04T11:24:50Z scymtym_: *builds 2015-12-04T11:26:37Z White_Flame quit (Quit: No Ping reply in 180 seconds.) 2015-12-04T11:29:03Z White_Flame joined #sbcl 2015-12-04T11:31:39Z Ober quit (Ping timeout: 260 seconds) 2015-12-04T11:42:58Z Ober joined #sbcl 2015-12-04T12:00:07Z nyef: scymtym_: Very plausibly something to do with "Better array dimension derivation". 2015-12-04T12:02:10Z Xof: yeah, I was about to say 2015-12-04T12:05:33Z stassats: but how? 2015-12-04T12:05:33Z minion: stassats, memo from drmeister: I have source tracking of C++ functions working now. CORE:DESCRIBE-CXX-OBJECT is one function that source info is available for (I'm getting ready to add about 1,500 more soon). It doesn't work with slime though - could you help me with that? EXT:COMPILED-FUNCTION-FILE returns info on C++ functions just like Lisp functions 2015-12-04T12:05:34Z minion: stassats, memo from drmeister: but slime/swank/clasp.lisp does something special with C-functions (inherited from ECL). 2015-12-04T12:06:32Z nyef: stassats: The STRING union type involves fewer base types on non-unicode builds. 2015-12-04T12:07:18Z Xof: stassats: could it be an array-type dimension that is * instead of a list? 2015-12-04T12:07:35Z stassats: i don't think so, it uses make-list 2015-12-04T12:07:59Z stassats: it could be that i don't expect * 2015-12-04T12:08:03Z Xof: that's what I meant 2015-12-04T12:12:32Z nyef: I'm reminded of the last non-unicode build problem that I tracked down. Also to do with array type manipulation. 2015-12-04T12:16:05Z stassats: i don't have a working sbcl to test a fix, will do after i'll finish with bound-cast 2015-12-04T12:37:46Z stassats: should * (*) give up too? 2015-12-04T12:37:56Z stassats: * and * doesn't give up 2015-12-04T12:39:22Z sjl joined #sbcl 2015-12-04T13:11:30Z stassats: turns out, i need to worry about multiple evaluation during ir1 translation, yet grabbing an lvar from a transformed combination doesn't work 2015-12-04T13:11:38Z stassats: not sure how i can use the same lvar twice 2015-12-04T13:14:07Z edgar-rft joined #sbcl 2015-12-04T13:41:36Z nyef: LVARs can only have one DEST. If you need to use the value more than once, it probably has to be single-valued and the DEST be a COMBINATION or SET of some sort. 2015-12-04T13:44:09Z stassats: right now i'm putting check-bound-vop, cast, and i need the index to feed both 2015-12-04T13:44:10Z nyef: I wonder if it's easier to think of LVARs as moving "backwards in time"? They start at the DEST, and move backwards to the USEs. And the DEST is the fixed point, and the USEs the possible "futures", except backwards, so they're really possible "pasts". 2015-12-04T13:44:27Z stassats: maybe if i use (check-bound (cast x)), i can just flow it through the cast 2015-12-04T13:44:41Z nyef: (And for the obligatory physics joke: This idea is potentially retarded.) 2015-12-04T13:45:41Z stassats: i can't quite see what lvar-uses means 2015-12-04T13:46:33Z stassats: but if i do (check-bound (cast x)) i need better type derivation for check-bound 2015-12-04T13:47:16Z nyef: LVAR-USES, as a name, probably has something to do with LVAR's origin as an aspect of a CONTINUATION structure. 2015-12-04T13:47:17Z stassats: start => (check-bound x) => (cast x) => result was easier 2015-12-04T13:50:34Z stassats: but transforms can, apparently, reuse lvars from basic-combination-args 2015-12-04T13:51:25Z stassats: trying to figure how 2015-12-04T13:54:02Z dougk2 joined #sbcl 2015-12-04T13:54:22Z stassats: ok, it doesn't actually uses lvars in the results 2015-12-04T13:57:08Z Xof: there's filter-lvar? 2015-12-04T13:57:14Z zacts quit (Read error: Connection reset by peer) 2015-12-04T13:57:58Z zacts joined #sbcl 2015-12-04T13:58:16Z stassats: not sure i want to filter 2015-12-04T13:58:34Z stassats: start => (check-bound x) => no result => (cast x) => result 2015-12-04T14:01:23Z stassats: i can transform to check-bound no problem, but then i cannot reuse the lvar for X (i.e. index) in the cast 2015-12-04T14:01:47Z stassats: basically i want two nodes to behave as it were just one node 2015-12-04T14:02:52Z stassats: suppose i want to do what (let ((z x)) (check-bound z) (cast z)) does 2015-12-04T14:03:05Z stassats goes looking how let does that 2015-12-04T14:04:20Z nyef: It converts to a lambda+combination, doesn't it? 2015-12-04T14:04:42Z stassats: yeah, but more of note is how lambda does it 2015-12-04T14:05:17Z stassats: i'm currently using def-ir1-translator, if i go back to a deftransform, which will give me all this for free, but i need to make sure that i can find the check-bound combination before the cast node 2015-12-04T14:06:13Z stassats: but i'll still need a def-ir1-translator, and there's already check-bound and %check-bound, %%check-bound is too much 2015-12-04T14:24:18Z dougk2 quit (Ping timeout: 260 seconds) 2015-12-04T14:26:00Z stassats quit (Ping timeout: 245 seconds) 2015-12-04T14:29:20Z stassats joined #sbcl 2015-12-04T14:32:47Z karswell` joined #sbcl 2015-12-04T14:32:54Z karswell quit (Remote host closed the connection) 2015-12-04T14:37:40Z stassats: i can go back to the original idea of just having bound-cast and emit the check-bound vop as its "type-check" 2015-12-04T14:38:14Z stassats: but i need to lug around array and bound, how well will compiler receive them being hidden 2015-12-04T14:38:38Z stassats: i think i should document the whole ordeal and all the failed attempts, i think i've tried at least a dozen different things 2015-12-04T14:43:27Z stassats: deftransform + ir1-translator seems like the best option now 2015-12-04T14:44:29Z stassats: actually, i think i can keep using my current ir1-translator, just wrap it with a transform, that way it'll get wrapped in a lambda: no multiple evaluations 2015-12-04T15:15:07Z stassats: i got a build and this actually works 2015-12-04T15:18:26Z DGASAU quit (Ping timeout: 260 seconds) 2015-12-04T15:24:11Z phcrist quit (Ping timeout: 264 seconds) 2015-12-04T15:24:53Z phcrist joined #sbcl 2015-12-04T15:26:05Z stassats: and it passes all tests 2015-12-04T15:26:11Z stassats: on the first try, this is nice 2015-12-04T15:26:23Z Xof: the first try apart from all the others... 2015-12-04T15:26:43Z Xof: ... "when you have eliminated the things that don't work, all that is left is to choose something that works" :) 2015-12-04T15:26:50Z stassats: it's actually the first build i did, all others were just delibirations of different parts 2015-12-04T15:28:59Z stassats: the check-bound vop could check for INDEX being a fixnum 2015-12-04T15:29:11Z stassats: one less trap, more clear error 2015-12-04T15:30:45Z nyef: There's a FIXME-comment in VOP TYPE-CHECK-ERROR/C in SYS:SRC;COMPILER;GENERIC;TYPE-ERROR.LISP about putting the error in the *ELSEWHERE* segment. Would we actually want to do this if it were possible? 2015-12-04T15:31:25Z stassats: it causes some weird jumps without elsewhere 2015-12-04T15:31:35Z stassats: even weirder than is actually possible 2015-12-04T15:32:08Z nyef: Except that the VOP would still be in the main instruction stream, so there would still be weird jumps. 2015-12-04T15:32:41Z stassats: to wit, JNE L0 JMP L1 2015-12-04T15:33:03Z stassats: L1 is after the break, L1 is the break 2015-12-04T15:33:11Z nyef: Right. 2015-12-04T15:33:16Z stassats: that's from (defun foo (x) (declare (fixnum x))) 2015-12-04T15:33:33Z nyef: Hrm. Might be better to try and rig the block order, then. 2015-12-04T15:33:55Z stassats: L0 is the break, that is 2015-12-04T15:34:27Z stassats: running some more tests and pushing the bound-cast thing 2015-12-04T15:35:32Z stassats: and then fixing * in array-dimensions 2015-12-04T15:36:04Z nyef: If we do this at the VOP level, we end up with JNE L0 JMP L1 L0: JMP L2 L1: ... L2: . 2015-12-04T15:36:07Z DGASAU joined #sbcl 2015-12-04T15:36:22Z dougk2 joined #sbcl 2015-12-04T15:38:15Z stassats: and will try the ir1-phases thing 2015-12-04T15:38:28Z stassats: i actually learned a lot about IR1 while doing bound-cast 2015-12-04T15:39:15Z nyef: Mmm. I learned quite a bit about IR1 while sorting out that MVL+NLX thing a while ago. Some parts are still magic, though. 2015-12-04T15:40:41Z Cymew quit (Ping timeout: 246 seconds) 2015-12-04T15:41:21Z dougk_ quit (Remote host closed the connection) 2015-12-04T15:46:26Z DGASAU quit (Ping timeout: 260 seconds) 2015-12-04T15:47:49Z psy_ joined #sbcl 2015-12-04T15:51:18Z White_Flame quit (Quit: No Ping reply in 180 seconds.) 2015-12-04T15:53:11Z Guest84856: nyef: we already hide "normal" VOP code in elsewhere 2015-12-04T15:53:14Z Guest84856 is now known as pkhuong 2015-12-04T15:53:43Z White_Flame joined #sbcl 2015-12-04T15:55:59Z DGASAU joined #sbcl 2015-12-04T16:01:10Z stassats: i think i'll need an all backend wide change to %check-bound 2015-12-04T16:01:28Z stassats: it no longer has any results and i want to check for fixnum in it 2015-12-04T16:03:32Z foom2 joined #sbcl 2015-12-04T16:07:56Z nyef: Do you want help implementing for some of the backends, or just testing? 2015-12-04T16:26:25Z dougk2 quit (Ping timeout: 245 seconds) 2015-12-04T16:33:08Z dougk2 joined #sbcl 2015-12-04T16:37:29Z stassats: the latter 2015-12-04T16:39:28Z nyef: Let me know when you have a candidate, then. (-: 2015-12-04T16:50:25Z stassats: will start rounding them up now 2015-12-04T16:50:32Z stassats: or i need a working one on x86-64 first 2015-12-04T17:00:10Z dougk2 quit (Ping timeout: 260 seconds) 2015-12-04T17:09:53Z dougk2 joined #sbcl 2015-12-04T17:28:06Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-12-04T17:29:43Z stassats: testing on arms and ppc and pushing 2015-12-04T17:30:08Z stassats: some info test fails on x86 2015-12-04T17:34:36Z stassats: on #-sb-doc 2015-12-04T17:42:18Z stassats: oddp bignum no-consing no-consing fails on ppc 2015-12-04T17:43:11Z karswell` quit (Ping timeout: 246 seconds) 2015-12-04T17:43:41Z stassats: nyef: pushed changes, you can commence testing 2015-12-04T17:43:54Z stassats: sparc hppa mips and alpha only 2015-12-04T17:44:54Z stassats: also fails on arm64 2015-12-04T17:49:35Z Xof: stassats: hrm. Does it fail on arm? 2015-12-04T17:49:42Z stassats: yes 2015-12-04T17:49:45Z Xof: (oddp bignum no-consing) 2015-12-04T17:49:50Z Xof: well suck 2015-12-04T17:49:56Z stassats: it's not calling mask-signed-field 2015-12-04T17:50:02Z stassats: but two-arg-and 2015-12-04T17:50:11Z Xof: haha 2015-12-04T17:51:27Z Xof: oh, we don't have signed tagged modular stuff on those backends? 2015-12-04T17:51:38Z stassats: it's patchy 2015-12-04T17:52:20Z Xof: and my implementation of mask-signed-field is now superior to the two-arg-and bignum case, I guess 2015-12-04T17:53:45Z Xof: well, "superior", let's not get ahead of ourselves 2015-12-04T17:54:57Z stassats: no logand-bignum/c? 2015-12-04T17:56:00Z stassats: but that's not used on x86-64 either 2015-12-04T17:56:08Z nyef: If we now have a test that fails without signed tagged modular foo, there's more impetus to implement it on other platforms. 2015-12-04T17:56:22Z nyef: ... except for SPARC. Nobody actually cares about SPARC. 2015-12-04T17:57:18Z p_l looks at his idea for LEON-I-based platform with lisp code... 2015-12-04T17:58:09Z nyef: Do we have someone here with a NetBSD sparc system, or am I going to have to get creative? 2015-12-04T17:58:39Z p_l: umm... nope 2015-12-04T17:58:51Z p_l: haven't ran NetBSD since Xen 3.0 2015-12-04T18:01:52Z stassats: ok, *tagged-modular-class* has no widths 2015-12-04T18:04:44Z nyef: Seriously, the only reason that SPARC is not the current title-holder of least-maintained-backend is because of the DX SAP thing on Alpha and the last seven issues on HPPA, one of which is suspected to be a randomly-triggered signal-related lossage. 2015-12-04T18:06:02Z stassats: ok, don't want to bother with tagged modular on arm64 today 2015-12-04T18:06:03Z antoszka quit (Quit: +++ killed by SIGSEGV +++) 2015-12-04T18:06:59Z nyef: stassats: Do I need to do anything here beyond a default build and run the test suite? 2015-12-04T18:07:06Z stassats: not really 2015-12-04T18:07:57Z nyef: Building HPPA now, then. 2015-12-04T18:08:18Z dougk2 quit (Ping timeout: 260 seconds) 2015-12-04T18:09:19Z stassats: they all just use %test-fixnum, so everything should pass 2015-12-04T18:09:52Z nyef: Right. "Should". 2015-12-04T18:12:29Z stassats: 9566 commits, we might reach 10000 sooner than i expected 2015-12-04T18:13:32Z nyef: 959 commits, you might reach 1000 sooner than expected as well. 2015-12-04T18:14:04Z stassats: just one ppc backend away 2015-12-04T18:14:35Z nyef: I'm only at 761, so it's going to take a bit for me to get there. 2015-12-04T18:14:50Z nyef: (Eight to go for me to tie with WHN, though.) 2015-12-04T18:15:20Z nyef sighs. 2015-12-04T18:15:29Z nyef: "boot dkb", "boot dqb", whatever. 2015-12-04T18:15:34Z nyef: Bloody Alpha. 2015-12-04T18:15:53Z nyef: And it suddenly occurs to me that even that isn't going to help without the O350 running. 2015-12-04T18:18:10Z nyef: If I suddenly disappear, it might be because of overloading my power circuit with too many SBCL builds at once. 2015-12-04T18:21:49Z nyef: MIPS build starting... 2015-12-04T18:23:19Z stassats: did two builds at the same time on my phone, arm and arm64, no power overload 2015-12-04T18:23:25Z stassats: could do it on a battery 2015-12-04T18:24:28Z nyef: Sure, but you're doing it on consumer-grade hardware, I'm doing it on stuff that belongs in a data center. 2015-12-04T18:24:55Z nyef: Hrm. Bloody Alpha. 2015-12-04T18:26:38Z nyef: ... No loose network cables, so why didn't it get a lease? 2015-12-04T18:27:51Z stassats: you mean, belongs in a museum? 2015-12-04T18:28:06Z nyef: Something like that. 2015-12-04T18:32:07Z dougk2 joined #sbcl 2015-12-04T18:33:35Z sjl quit (Ping timeout: 246 seconds) 2015-12-04T18:35:01Z foom2 is now known as foom 2015-12-04T18:38:06Z nyef: HPPA running tests. 2015-12-04T18:38:39Z nyef: ... Alpha still not on the network. WTF? 2015-12-04T18:40:05Z nyef: Ah. Alpha is routed through the ERLite-3. Maybe it lost its configuration? 2015-12-04T18:44:00Z nyef: Okay, spliced the Alpha in place of the G4, and it gets a lease. 2015-12-04T18:44:16Z nyef: The cable for the ERLite-3 is stuck in the hub, somehow. 2015-12-04T18:44:48Z eudoxia joined #sbcl 2015-12-04T18:51:20Z nyef: ... Bloody NFS, bloody wifi. 2015-12-04T18:51:45Z nyef: ... bloody 600MHz CPU, bloody UP kernel. /-: 2015-12-04T18:57:20Z nyef: Alpha build running, finally! 2015-12-04T18:58:55Z dougk2 quit (Ping timeout: 245 seconds) 2015-12-04T19:00:17Z nyef: New HPPA test failures: 2015-12-04T19:00:18Z nyef: Failure: compiler.pure.lisp / (ODDP BIGNUM NO-CONSING) 2015-12-04T19:00:18Z nyef: Failure: compiler.pure.lisp / (LOGTEST BIGNUM NO-CONSING) 2015-12-04T19:00:47Z nyef: I presume that these are from Xof? 2015-12-04T19:03:27Z Xof: yes! 2015-12-04T19:03:44Z nyef: Okay then. 2015-12-04T19:03:50Z nyef: stassats: Looks good on HPPA. 2015-12-04T19:04:35Z nyef: Xof: So, for the record, what do I need to do to fix these two? The -modfx VOPs? 2015-12-04T19:05:02Z Xof: I'm fine with marking those tests as fails-on non-x86oids, but ideally we should fix them because why *should* (oddp ) cons? 2015-12-04T19:05:29Z nyef: Right, right. Hence my question. 2015-12-04T19:05:45Z nyef: I'm fine with making those tests PASS on non-x86oids. 2015-12-04T19:06:22Z Xof: to fix, either implement tagged modular arithmetic, or hack two-arg-and to not cons in the fixnum x bignum case, by grabbing the low word of the bignum and doing the appropriate thing 2015-12-04T19:06:23Z Xof: (or both!) 2015-12-04T19:12:52Z sjl joined #sbcl 2015-12-04T19:30:02Z nyef: Oho! MIPS just failed to build sb-posix, with the same failure mode as I've been seeing on HPPA, which makes it a cheneygc thing. 2015-12-04T19:30:21Z DGASAU` joined #sbcl 2015-12-04T19:30:38Z DGASAU quit (Ping timeout: 246 seconds) 2015-12-04T19:31:32Z nyef: Well, very probably a cheneygc thing. 2015-12-04T19:39:33Z dougk2 joined #sbcl 2015-12-04T19:42:55Z leuler joined #sbcl 2015-12-04T19:43:58Z dougk2 quit (Ping timeout: 260 seconds) 2015-12-04T19:44:35Z nyef: And, now that I finally have a scope on the damned thing, I have a chance to track it down. 2015-12-04T19:45:17Z eudoxia quit (Quit: Leaving) 2015-12-04T19:45:18Z nyef: ... Or we can prematurely declare the death of cheneygc? 2015-12-04T19:46:32Z nyef: Alpha tests running. 2015-12-04T19:49:23Z dougk2 joined #sbcl 2015-12-04T19:50:00Z leuler: Xof: Thanks for the explanations in lp 1277690! 2015-12-04T19:52:25Z reb: I think SBCL used to consistently build in 4.5 minutes on my machine. Lately, it's been taking 5 minutes. Just figured I'd mention it .... 2015-12-04T19:53:13Z Xof: leuler: you're welcome. I *think* we're getting closer to a net improvement :-) 2015-12-04T19:53:46Z dougk2 quit (Ping timeout: 260 seconds) 2015-12-04T19:55:08Z stassats: reb: no changes here, it's your machine 2015-12-04T19:56:08Z stassats: the real improvement would be a non-consing LDB 2015-12-04T19:56:08Z Xof: I've seen noise around the ±20seconds area 2015-12-04T19:56:24Z Xof: (recently, checking the mask-signed-field changes) 2015-12-04T19:56:30Z Xof: so 4.5 to 5 minutes is noise-ish 2015-12-04T19:56:36Z stassats: but there's quite a number of different combination for ldb 2015-12-04T19:56:53Z stassats: where it can produce fixnums from fixnums or bignums, and bignums from fixnums 2015-12-04T19:57:25Z stassats: i should enumerate all the cases first 2015-12-04T19:57:36Z mordocai joined #sbcl 2015-12-04T20:00:50Z dougk2 joined #sbcl 2015-12-04T20:03:47Z stassats: also sign extension poses some problems 2015-12-04T20:05:14Z failproofshark joined #sbcl 2015-12-04T20:06:00Z Bicyclidine joined #sbcl 2015-12-04T20:06:11Z gingerale joined #sbcl 2015-12-04T20:12:47Z dougk2 quit (Ping timeout: 264 seconds) 2015-12-04T20:27:49Z dougk_ joined #sbcl 2015-12-04T20:27:54Z dougk2 joined #sbcl 2015-12-04T20:28:39Z nyef: One unaccounted-for new failure on alpha: 2015-12-04T20:28:41Z nyef: Failure: compiler.pure.lisp / (RANDOMIZED MASK-SIGNED-FIELD) 2015-12-04T20:29:02Z nyef: Should I presume that this is, again, the fixnum modular stuff? 2015-12-04T20:29:32Z Xof: no 2015-12-04T20:29:36Z Xof: that indicates correctness problems 2015-12-04T20:29:43Z nyef: Oh, even *better*. 2015-12-04T20:31:12Z Xof: it says that an out-of-line call to mask-signed-field gives a different answer to one with a constant size argument 2015-12-04T20:31:28Z attila_lendvai joined #sbcl 2015-12-04T20:31:28Z attila_lendvai quit (Changing host) 2015-12-04T20:31:28Z attila_lendvai joined #sbcl 2015-12-04T20:32:35Z dougk2 quit (Ping timeout: 264 seconds) 2015-12-04T20:40:23Z nyef: ... Mask-signed-field is basically an arbitrary-width sign-extension, isn't it? 2015-12-04T20:40:46Z Xof: yes 2015-12-04T20:41:17Z nyef: Guess I've got something to audit for in the backends, then. 2015-12-04T20:41:49Z Xof: if it's only showing up on alpha, it could also be an n-word-bits vs n-machine-word-bits confusion 2015-12-04T20:42:08Z Xof: (in library rather than backend code) 2015-12-04T20:42:51Z nyef: Right, and the sooner I get that confusion moved to another platform, and Alpha relegated to true 64-bithood, the better... Unless I find a 32-bit alpha linux distro that's still maintained. 2015-12-04T20:43:26Z nyef: This heap-narrower-than-machine-pointer stuff sucks, but the machine-pointer-narrower-than-integer-register stuff needs to be kept. 2015-12-04T20:44:26Z Xof: nyef: if you run the randomized mask-signed-field test, it should give you arguments and results from the various different ways of computing the answer 2015-12-04T20:46:02Z nyef: Okay, but I'm not planning on digging into it right now. Too much other stuff going on. I'm putting it down as something to get to before the next code freeze. 2015-12-04T20:50:48Z dougk2 joined #sbcl 2015-12-04T20:51:58Z stassats: it appears that many define-modular-fun could be generic 2015-12-04T20:53:03Z stassats: though i will only touch arm64 2015-12-04T20:53:52Z stassats: nyef: also, i didn't bother with delay slots in today backend changes 2015-12-04T20:54:05Z stassats: nyef: if you feel so inclined, you could optimize the nop out 2015-12-04T20:54:16Z scymtym joined #sbcl 2015-12-04T20:57:11Z jdz quit (Ping timeout: 264 seconds) 2015-12-04T20:59:47Z jdz joined #sbcl 2015-12-04T21:08:33Z nyef: Maybe later. 2015-12-04T21:09:23Z nyef: ... "Memory fault at 0x30f70000 (pc=(nil), sp=0x77b6c1f8)"? 2015-12-04T21:10:01Z nyef: (MIPS this time.) 2015-12-04T21:10:50Z nyef: I wonder what the (nil) means for the program counter? 2015-12-04T21:11:15Z nyef: ... Observed on two platforms now, both with NPC registers (or their equivalent). 2015-12-04T21:14:00Z nyef: I don't know if that's a causal correlation, or mere lack of trying, though. 2015-12-04T21:18:24Z nyef: ... Wha...? MIPS doesn't have ARCH_HAS_NPC_REGISTER? 2015-12-04T21:19:12Z nyef: Oh, right. It does that funky bd-cause thing. 2015-12-04T21:20:34Z dougk2 quit (Ping timeout: 260 seconds) 2015-12-04T21:21:53Z edgar-rft quit (Quit: edgar-rft) 2015-12-04T21:25:14Z nyef: So, branch delay slots are around, but no NPC register. 2015-12-04T21:26:08Z nyef: Now for the noisy bit. /-: 2015-12-04T21:26:39Z Bicyclidine quit (Ping timeout: 260 seconds) 2015-12-04T21:28:11Z nyef: ... Er? Console session in use?!? 2015-12-04T21:28:33Z nyef: Ah, good. There's a "force" option. 2015-12-04T21:31:12Z dougk2 joined #sbcl 2015-12-04T21:33:28Z Bicyclidine joined #sbcl 2015-12-04T21:40:06Z nyef: SPARC build running. 2015-12-04T21:40:35Z nyef: ... May get interrupted as I install a new hard drive, may not. We'll see. 2015-12-04T21:41:34Z nyef: Okay, still seems to be going. 2015-12-04T21:43:28Z csziacobus joined #sbcl 2015-12-04T21:46:45Z ASau joined #sbcl 2015-12-04T21:51:45Z nyef: Hrm. Well to the start of dynamic space. 2015-12-04T21:52:18Z Bicyclidine quit (Ping timeout: 260 seconds) 2015-12-04T21:53:35Z dougk2 quit (Ping timeout: 264 seconds) 2015-12-04T21:53:38Z Xof: the random mask-signed-field test just survived a million iterations here 2015-12-04T21:55:06Z nyef: Re-running the MIPS build, in the hopes that something will be different enough to at least let sb-posix build and pass its tests. 2015-12-04T22:01:28Z csziacobus quit (Quit: csziacobus) 2015-12-04T22:02:52Z angavrilov quit (Remote host closed the connection) 2015-12-04T22:05:54Z Bicyclidine joined #sbcl 2015-12-04T22:08:25Z karswell` joined #sbcl 2015-12-04T22:09:23Z eudoxia joined #sbcl 2015-12-04T22:13:52Z gingerale quit (Remote host closed the connection) 2015-12-04T22:20:19Z stassats quit (Ping timeout: 260 seconds) 2015-12-04T22:20:39Z nyef: Running tests on SPARC. 2015-12-04T22:22:36Z stassats joined #sbcl 2015-12-04T22:31:58Z stassats quit (Ping timeout: 260 seconds) 2015-12-04T22:35:55Z stassats joined #sbcl 2015-12-04T22:39:04Z leuler quit (Quit: ERC Version 5.1.2 $Revision: 1.796.2.6 $ (IRC client for Emacs)) 2015-12-04T22:42:42Z stassats quit (Ping timeout: 260 seconds) 2015-12-04T22:43:36Z mega1: comments welcome on https://github.com/melisgl/sbcl/commits/thread-local 2015-12-04T22:44:31Z mega1: it's been a while since I last hacked on sbcl 2015-12-04T22:44:36Z stassats joined #sbcl 2015-12-04T22:45:20Z mega1: It's currently x86-64 only, but it should be easy to port to the other threaded platforms. 2015-12-04T22:47:47Z nyef: SPARC test results are in... And it's not appreciably worse than normal, so I... Hrm. compiler.impure failed, 2015-12-04T22:47:55Z nyef: I don't know if that's significant or not. 2015-12-04T22:51:16Z nyef: Let's see... immediate value overflow, LD instruction, VOP CALL-NAMED... Reading relative to CODE? Or relative to CNAME. Either way, not worth dealing with right now. 2015-12-04T22:51:55Z nyef: stassats: I'm counting SPARC as good with respect to your recent changes. Still dreadful, but it doesn't look like you broke it any worse. 2015-12-04T23:07:17Z eudoxia quit (Quit: Leaving) 2015-12-04T23:16:18Z dougk2 joined #sbcl 2015-12-04T23:18:59Z eudoxia joined #sbcl 2015-12-04T23:31:54Z sjl quit (Quit: WeeChat 1.3) 2015-12-04T23:32:23Z jlarocco_ quit (Quit: Leaving) 2015-12-04T23:35:27Z Bike quit (Ping timeout: 260 seconds) 2015-12-04T23:35:32Z eudoxia quit (Quit: Leaving) 2015-12-04T23:35:38Z mordocai quit (Ping timeout: 246 seconds) 2015-12-04T23:36:04Z karswell` quit (Read error: Connection reset by peer) 2015-12-04T23:37:02Z Bike joined #sbcl 2015-12-05T00:01:06Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-12-05T00:03:54Z stassats quit (Ping timeout: 260 seconds) 2015-12-05T00:35:26Z Shinmera quit (Quit: しつれいしなければならないんです。) 2015-12-05T00:44:31Z scymtym quit (Ping timeout: 260 seconds) 2015-12-05T00:45:30Z antoszka joined #sbcl 2015-12-05T01:06:54Z dougk2 quit (Ping timeout: 260 seconds) 2015-12-05T01:23:55Z dougk2 joined #sbcl 2015-12-05T01:24:24Z Stardust` joined #sbcl 2015-12-05T01:25:41Z Stardust` quit (Client Quit) 2015-12-05T02:07:22Z nyef: Ooh. New commits. Maybe now sb-posix will build on MIPS. 2015-12-05T02:28:35Z adhoc quit (Ping timeout: 260 seconds) 2015-12-05T02:46:23Z adhoc joined #sbcl 2015-12-05T02:57:37Z Bicyclidine quit (Quit: leaving) 2015-12-05T03:11:02Z npatrick04 quit (Ping timeout: 260 seconds) 2015-12-05T03:24:23Z Bicyclidine joined #sbcl 2015-12-05T03:39:02Z nyef: Bloody typical. Now sb-posix is the ONLY failing contrib. I really need to figure this one out. /-: 2015-12-05T03:58:54Z |3b|: you probably don't have networking configured on the system :p 2015-12-05T03:59:46Z |3b|: actually, i guess thats the wrong contrib for that problem 2015-12-05T04:00:05Z nyef: |3b|: Yes, because sshing in to run a build while not having networking configured causes a contrib to die with a corruption warning about an access to a page-aligned address in dynamic space. 2015-12-05T04:00:58Z |3b|: :) 2015-12-05T04:02:02Z |3b| was failing to make a joke 2015-12-05T04:07:52Z nyef: Sorry. I'm just a little bit frustrated at heisenbugs that involve the GC, signal handling, or both. 2015-12-05T04:10:20Z zacts quit (Read error: Connection reset by peer) 2015-12-05T04:38:29Z lnostdal__ joined #sbcl 2015-12-05T04:42:14Z lnostdal_ quit (Ping timeout: 246 seconds) 2015-12-05T04:46:57Z Bicyclidine quit (Quit: leaving) 2015-12-05T05:09:44Z zacts joined #sbcl 2015-12-05T05:19:01Z zacts quit (Quit: WeeChat 1.3) 2015-12-05T05:20:08Z zacts joined #sbcl 2015-12-05T06:07:29Z dougk2: istm that if GC itself crashes and drops you into ldb, then you cannot possibly get a correct backtrace because component_ptr_from_pc calls gc_search_space which is totally randomized by the presence of forwarding pointers in the space being searched. 2015-12-05T06:49:27Z psy_ quit (Ping timeout: 260 seconds) 2015-12-05T07:13:42Z psy_ joined #sbcl 2015-12-05T07:21:10Z dougk2 quit (Ping timeout: 260 seconds) 2015-12-05T07:30:01Z edgar-rft joined #sbcl 2015-12-05T07:40:25Z gingerale joined #sbcl 2015-12-05T07:42:28Z angavrilov joined #sbcl 2015-12-05T07:44:59Z gingerale quit (Ping timeout: 260 seconds) 2015-12-05T07:46:35Z Shinmera joined #sbcl 2015-12-05T07:47:14Z gingerale joined #sbcl 2015-12-05T08:11:24Z gingerale quit (Remote host closed the connection) 2015-12-05T08:49:38Z gingerale joined #sbcl 2015-12-05T08:51:05Z gingerale quit (Remote host closed the connection) 2015-12-05T09:23:37Z stassats joined #sbcl 2015-12-05T09:55:28Z gingerale joined #sbcl 2015-12-05T10:39:42Z mega1 quit (Ping timeout: 250 seconds) 2015-12-05T10:45:06Z stassats quit (Ping timeout: 260 seconds) 2015-12-05T10:48:03Z stassats joined #sbcl 2015-12-05T10:52:14Z stassats quit (Ping timeout: 245 seconds) 2015-12-05T10:54:34Z stassats joined #sbcl 2015-12-05T10:58:54Z stassats quit (Ping timeout: 245 seconds) 2015-12-05T11:00:05Z stassats joined #sbcl 2015-12-05T11:04:43Z stassats quit (Ping timeout: 260 seconds) 2015-12-05T11:05:34Z stassats joined #sbcl 2015-12-05T11:09:41Z stassats quit (Ping timeout: 246 seconds) 2015-12-05T11:10:35Z stassats joined #sbcl 2015-12-05T11:14:59Z stassats quit (Ping timeout: 260 seconds) 2015-12-05T11:16:05Z stassats joined #sbcl 2015-12-05T11:20:35Z stassats quit (Ping timeout: 260 seconds) 2015-12-05T11:21:04Z stassats joined #sbcl 2015-12-05T11:25:34Z stassats quit (Ping timeout: 245 seconds) 2015-12-05T11:26:36Z stassats joined #sbcl 2015-12-05T11:36:47Z ASau quit (Remote host closed the connection) 2015-12-05T11:37:16Z ASau joined #sbcl 2015-12-05T11:54:53Z attila_lendvai joined #sbcl 2015-12-05T11:54:54Z attila_lendvai quit (Changing host) 2015-12-05T11:54:54Z attila_lendvai joined #sbcl 2015-12-05T12:22:44Z mega1 joined #sbcl 2015-12-05T12:47:18Z sjl joined #sbcl 2015-12-05T12:52:56Z sjl: does anyone know how I can customize the SBCL repl prompt? 2015-12-05T12:53:05Z sjl: the manual says "you can do it" but doesn't actually say how 2015-12-05T12:53:37Z sjl: I found a com.lang.lisp answer from 2007 that doesn't seem to work: https://groups.google.com/forum/#!msg/comp.lang.lisp/0my9J43-QOE/-5DxXpke3eoJ 2015-12-05T12:57:52Z stassats: just start your own 2015-12-05T13:05:40Z stassats: otherwise, (apropos "*REPL" :sb-int t) 2015-12-05T13:05:50Z stassats: those should really come from SB-EXT 2015-12-05T13:09:00Z edgar-rft: see there are SBCL examples on that page, too 2015-12-05T13:16:02Z plertrood quit (Ping timeout: 246 seconds) 2015-12-05T13:38:10Z dougk2 joined #sbcl 2015-12-05T13:42:17Z sjl: ah yeah that page has pretty much exactly what I want, thanks! 2015-12-05T13:51:47Z dougk2 quit (Ping timeout: 260 seconds) 2015-12-05T14:11:31Z stassats: forgot that check-bound needs to be elided with low safety 2015-12-05T14:11:39Z stassats: and now there are multiple options 2015-12-05T14:12:06Z stassats: 1: remove it from deftransform, but that'll stop type derivation 2015-12-05T14:12:30Z stassats: 2: remove from during ir2 conversion, but that leaves some moves 2015-12-05T14:13:50Z stassats: 3: don't create %check-bound combination, just bound-cast, but i'm not sure how well lvars will behave 2015-12-05T14:13:55Z stassats: i need to actually try that 2015-12-05T14:34:49Z stassats: yeah, my suspicions seem to be confirmed 2015-12-05T14:34:54Z stassats: can't just leave some dangling lvars 2015-12-05T14:35:46Z stassats: but, what if i put multiple values into the cast? 2015-12-05T14:45:00Z scymtym joined #sbcl 2015-12-05T14:47:50Z dougk2 joined #sbcl 2015-12-05T14:50:11Z stassats quit (Ping timeout: 246 seconds) 2015-12-05T14:53:42Z stassats joined #sbcl 2015-12-05T14:58:56Z dougk2 quit (Ping timeout: 246 seconds) 2015-12-05T15:04:30Z dougk2 joined #sbcl 2015-12-05T15:11:13Z leuler joined #sbcl 2015-12-05T15:18:49Z stassats: i like that there is ir1tran.lisp and ir1-translators.lisp 2015-12-05T15:27:33Z stassats: looks like ir1-merge-casts is the best place to delete it 2015-12-05T15:30:22Z stassats: not really, it still loads arguments 2015-12-05T15:31:19Z stassats: maybe i should just make those new slots visible 2015-12-05T15:39:45Z leuler: The manual contains a literal UTF-8-encoded a-with-acute, which appears broken in the HTML output (see http://sbcl.sourceforge.net/manual/index.html#Unicode-Support) and not at all in the PDF output. 2015-12-05T15:39:53Z leuler: This can be fixed by adding "@documentencoding UTF-8" to sbcl.texinfo. 2015-12-05T15:39:58Z leuler: The only downside I see is that old texinfo versions would warn about an unknown encoding then (but build the manual like now anyway). Does anybody know another reason why I shouldn't make this change? 2015-12-05T15:43:46Z stassats: what a conundrum, delete too early, not type derivation, delete too late, useless moves 2015-12-05T15:47:14Z dougk2 quit (Ping timeout: 246 seconds) 2015-12-05T15:52:44Z stassats: what if it has its own block and i just delete the whole thing? 2015-12-05T15:53:09Z stassats: but the argument loads would be in a previous block 2015-12-05T16:06:31Z sjl quit (Quit: WeeChat 1.3) 2015-12-05T16:07:07Z sjl joined #sbcl 2015-12-05T16:19:26Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-12-05T16:19:42Z joshe quit (Ping timeout: 260 seconds) 2015-12-05T16:51:27Z DeadTrickster quit (Ping timeout: 260 seconds) 2015-12-05T17:00:46Z _iwc joined #sbcl 2015-12-05T17:04:09Z DeadTrickster joined #sbcl 2015-12-05T17:13:30Z _iwc quit (Killed (Sigyn (Spam is off topic on freenode.))) 2015-12-05T17:19:55Z dougk2 joined #sbcl 2015-12-05T17:27:17Z stassats: got something working, but not i'm not entirely happy with 2015-12-05T17:29:42Z frankS2 quit (Ping timeout: 260 seconds) 2015-12-05T17:29:53Z stassats: (and (svref #(x) x) x) for some reason doesn't derive 0, while (and (svref #(x b) x) x) derives (or bit null) 2015-12-05T17:31:45Z frankS2 joined #sbcl 2015-12-05T17:39:14Z dougk2 quit (Ping timeout: 246 seconds) 2015-12-05T17:55:04Z dougk2 joined #sbcl 2015-12-05T18:09:11Z jdz quit (Ping timeout: 264 seconds) 2015-12-05T18:09:49Z jdz joined #sbcl 2015-12-05T18:19:14Z stassats: can't seem to reign in ir1-phases 2015-12-05T18:19:36Z stassats: it either loops indefinitely, or calls generate-type-checks on deleted blocks 2015-12-05T18:20:20Z stassats: maybe i should just make generate-type-checks tolerate deleted blocks 2015-12-05T18:22:01Z Jonsky joined #sbcl 2015-12-05T18:25:04Z Jonsky left #sbcl 2015-12-05T18:28:29Z dougk2 quit (Ping timeout: 245 seconds) 2015-12-05T18:28:58Z stassats: that works so far 2015-12-05T18:31:46Z lnostdal__ quit (Ping timeout: 260 seconds) 2015-12-05T18:32:14Z adhoc quit (Ping timeout: 260 seconds) 2015-12-05T18:35:24Z stassats: a one-liner fix, at least something is easy 2015-12-05T18:37:24Z stassats: ok, all Eric's reports taken care of 2015-12-05T18:51:54Z stassats: opened a new high severity bug 2015-12-05T18:52:00Z stassats: lp 1523149 2015-12-05T18:52:01Z specbot: https://bugs.launchpad.net/bugs/1523149 2015-12-05T18:56:17Z nyef: Wonderful. /-: 2015-12-05T18:57:27Z stassats: no angle whatsoever 2015-12-05T18:57:49Z stassats: but haven't researched it in depth 2015-12-05T18:58:03Z stassats: i think i'll tackle per stream *print-circle* next 2015-12-05T18:59:15Z stassats: to solve http://paste.lisp.org/display/161396 2015-12-05T18:59:35Z dougk2 joined #sbcl 2015-12-05T19:02:28Z lnostdal__ joined #sbcl 2015-12-05T19:13:19Z dougk2 quit (Ping timeout: 260 seconds) 2015-12-05T19:18:14Z dougk2 joined #sbcl 2015-12-05T19:21:15Z nyef: Which binds closer, && or ! ? 2015-12-05T19:29:44Z dougk2 quit (Ping timeout: 245 seconds) 2015-12-05T19:35:27Z stassats: i should print out the rules 2015-12-05T19:35:38Z stassats: who can remember all of them? 2015-12-05T19:36:33Z stassats: or in c++, where you can add new ones, silly stuff 2015-12-05T19:37:15Z loke quit (Ping timeout: 245 seconds) 2015-12-05T19:37:35Z loke joined #sbcl 2015-12-05T19:38:21Z lnostdal__ quit (Quit: Invest and trade anonymously: https://goo.gl/Hw81yy) 2015-12-05T19:49:30Z lnostdal joined #sbcl 2015-12-05T19:58:07Z lnostdal quit (Ping timeout: 260 seconds) 2015-12-05T20:11:33Z lnostdal joined #sbcl 2015-12-05T20:14:27Z adhoc joined #sbcl 2015-12-05T20:16:24Z psy_ quit (Read error: Connection reset by peer) 2015-12-05T20:19:23Z jdz quit (Ping timeout: 264 seconds) 2015-12-05T20:21:33Z jdz joined #sbcl 2015-12-05T20:40:53Z dougk2 joined #sbcl 2015-12-05T20:51:23Z dougk2 quit (Ping timeout: 246 seconds) 2015-12-05T21:53:00Z leuler quit (Quit: ERC Version 5.1.2 $Revision: 1.796.2.6 $ (IRC client for Emacs)) 2015-12-05T22:17:00Z attila_lendvai joined #sbcl 2015-12-05T22:17:00Z attila_lendvai quit (Changing host) 2015-12-05T22:17:00Z attila_lendvai joined #sbcl 2015-12-05T22:31:25Z angavrilov quit (Remote host closed the connection) 2015-12-05T22:44:28Z dougk2 joined #sbcl 2015-12-05T22:53:34Z stassats quit (Ping timeout: 260 seconds) 2015-12-05T23:34:16Z gingerale quit (Remote host closed the connection) 2015-12-06T00:01:25Z edgar-rft quit (Quit: edgar-rft) 2015-12-06T00:08:54Z dougk2 quit (Ping timeout: 245 seconds) 2015-12-06T00:09:22Z dougk2 joined #sbcl 2015-12-06T00:17:13Z Shinmera quit (Quit: しつれいしなければならないんです。) 2015-12-06T01:50:54Z zacts quit (Quit: leaving) 2015-12-06T01:51:12Z zacts joined #sbcl 2015-12-06T02:14:06Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-12-06T02:30:26Z jlarocco joined #sbcl 2015-12-06T02:35:50Z karswell` joined #sbcl 2015-12-06T02:50:10Z scymtym quit (Ping timeout: 260 seconds) 2015-12-06T03:01:01Z karswell` is now known as karswell 2015-12-06T03:30:18Z ASau quit (Ping timeout: 260 seconds) 2015-12-06T04:02:43Z edgar-rft joined #sbcl 2015-12-06T04:15:19Z nyef: Hrm. An audit of all changes to src/runtime back to the initial merge of the ARM port shows nothing obvious for the effect I'm seeing on cheneygc. 2015-12-06T04:15:45Z nyef: And yet, the effect is newly observed as of the past month. 2015-12-06T04:33:28Z nyef: Hrm. Worse. Newly observed since the second of November, and possibly since the thirteenth. 2015-12-06T04:44:05Z nyef: Observed on-or-about the 30th, so that's our oldest-known-broken version... 2015-12-06T04:45:13Z nyef: And it wasn't observed prior to 1.3.1, so barring any further information we can presume that that's our newest-known-working version... 2015-12-06T04:45:33Z nyef: A range of fifteen commits. 2015-12-06T04:47:40Z nyef: ... None of which appear to have anything remotely to do with the observed symptoms. 2015-12-06T05:05:53Z Intensity joined #sbcl 2015-12-06T05:06:51Z edgar-rft quit (Quit: edgar-rft) 2015-12-06T05:13:29Z dougk2 quit (Ping timeout: 245 seconds) 2015-12-06T06:41:54Z DGASAU` quit (Read error: Connection reset by peer) 2015-12-06T06:42:31Z DGASAU` joined #sbcl 2015-12-06T06:52:26Z kumbiKambi joined #sbcl 2015-12-06T06:59:41Z DGASAU` quit (Ping timeout: 246 seconds) 2015-12-06T07:51:03Z SamSkulls joined #sbcl 2015-12-06T08:05:11Z Shinmera joined #sbcl 2015-12-06T08:12:25Z angavrilov joined #sbcl 2015-12-06T08:13:29Z mega1 quit (Ping timeout: 245 seconds) 2015-12-06T08:16:13Z stassats joined #sbcl 2015-12-06T08:18:22Z gingerale joined #sbcl 2015-12-06T08:19:52Z Xof: nyef: I remember seeing those kinds of things on (heap violations, every so often) on hppa and mips 15 years ago :) 2015-12-06T08:20:34Z stassats quit (Ping timeout: 245 seconds) 2015-12-06T08:20:37Z Xof: so don't be too sure that it's a new thing 2015-12-06T08:22:10Z stassats joined #sbcl 2015-12-06T08:26:29Z stassats quit (Ping timeout: 246 seconds) 2015-12-06T08:28:10Z stassats joined #sbcl 2015-12-06T08:32:26Z stassats quit (Ping timeout: 246 seconds) 2015-12-06T08:33:11Z stassats joined #sbcl 2015-12-06T08:37:39Z stassats quit (Ping timeout: 245 seconds) 2015-12-06T08:40:10Z stassats joined #sbcl 2015-12-06T08:44:19Z stassats quit (Ping timeout: 245 seconds) 2015-12-06T08:50:40Z stassats joined #sbcl 2015-12-06T08:50:43Z scymtym joined #sbcl 2015-12-06T08:54:50Z stassats quit (Ping timeout: 246 seconds) 2015-12-06T08:55:40Z stassats joined #sbcl 2015-12-06T09:00:05Z stassats quit (Ping timeout: 246 seconds) 2015-12-06T09:01:10Z stassats joined #sbcl 2015-12-06T09:05:34Z stassats quit (Ping timeout: 245 seconds) 2015-12-06T09:06:38Z stassats joined #sbcl 2015-12-06T09:10:56Z stassats quit (Ping timeout: 246 seconds) 2015-12-06T09:11:41Z stassats joined #sbcl 2015-12-06T09:29:27Z ASau joined #sbcl 2015-12-06T10:57:53Z attila_lendvai joined #sbcl 2015-12-06T11:23:00Z whiteline quit (Ping timeout: 250 seconds) 2015-12-06T12:10:10Z Quadrescence quit (Ping timeout: 260 seconds) 2015-12-06T12:27:38Z Quadrescence joined #sbcl 2015-12-06T13:09:44Z edgar-rft joined #sbcl 2015-12-06T13:41:04Z pootler_ joined #sbcl 2015-12-06T13:41:33Z les joined #sbcl 2015-12-06T13:41:39Z luis` joined #sbcl 2015-12-06T13:41:49Z dsp- joined #sbcl 2015-12-06T13:41:51Z chu_ joined #sbcl 2015-12-06T13:42:57Z scymtym__ joined #sbcl 2015-12-06T13:43:02Z pootler quit (Ping timeout: 240 seconds) 2015-12-06T13:43:03Z luis quit (Ping timeout: 240 seconds) 2015-12-06T13:43:03Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-12-06T13:43:04Z les` quit (Ping timeout: 240 seconds) 2015-12-06T13:43:04Z scymtym_ quit (Ping timeout: 240 seconds) 2015-12-06T13:43:05Z chu quit (Ping timeout: 240 seconds) 2015-12-06T13:43:05Z dsp-_ quit (Ping timeout: 240 seconds) 2015-12-06T13:43:05Z ignotus quit (Ping timeout: 240 seconds) 2015-12-06T13:44:50Z attila_lendvai joined #sbcl 2015-12-06T13:44:50Z attila_lendvai quit (Changing host) 2015-12-06T13:44:50Z attila_lendvai joined #sbcl 2015-12-06T13:45:12Z ignotus joined #sbcl 2015-12-06T13:45:12Z ignotus quit (Changing host) 2015-12-06T13:45:13Z ignotus joined #sbcl 2015-12-06T13:45:51Z pootler_ quit (Ping timeout: 260 seconds) 2015-12-06T13:57:21Z zacts quit (Read error: Connection reset by peer) 2015-12-06T13:58:34Z zacts joined #sbcl 2015-12-06T14:02:45Z pootler_ joined #sbcl 2015-12-06T14:06:12Z jdz quit (Ping timeout: 264 seconds) 2015-12-06T14:06:53Z jdz joined #sbcl 2015-12-06T14:30:43Z nyef: Xof: About the only thing that I'm sure of is that it's happening on HPPA and MIPS... And that I hadn't seen it before. Do you know if it was the same sort of symptom (page-aligned fault address in dynamic space, weird or unavailable faulting PC), or was it too long ago to remember? 2015-12-06T14:33:20Z dougk2 joined #sbcl 2015-12-06T14:37:23Z jdz quit (Ping timeout: 264 seconds) 2015-12-06T14:37:31Z jdz joined #sbcl 2015-12-06T14:38:54Z Xof: I'm afraid I don't remember 2015-12-06T14:39:11Z Xof: I just remember intermittent heap-corruption-looking failures 2015-12-06T14:40:50Z nyef: I guess the next question is, did this affect any OTHER cheneygc ports? 2015-12-06T14:40:58Z Xof: not as I recall 2015-12-06T14:41:06Z Xof: I never saw anything similar on SPARC, for example 2015-12-06T14:41:10Z Xof: and I used to build that quite a lot 2015-12-06T14:41:29Z Xof: I also don't remember seeing anything like it on PPC or Alpha, though I think I built those less often 2015-12-06T14:41:44Z nyef: Hrm. 2015-12-06T14:41:55Z nyef: So, possibly something in the arch or arch-os support. 2015-12-06T14:42:06Z nyef: Or even an oversight in the assem code. 2015-12-06T14:42:32Z Xof: I was also willing to blame the kernels 2015-12-06T14:42:36Z nyef: Or it could just be weird luck that it's not been noticed on other platforms. 2015-12-06T14:42:42Z nyef: There we go, or that. 2015-12-06T14:43:39Z nyef: Linux PA-RISC kernels complain if a BREAK other than BREAK 4,8 is used, for example. 2015-12-06T14:44:19Z nyef: So there are definitely some questionable kernel decisions out there. 2015-12-06T14:44:35Z jdz quit (Ping timeout: 264 seconds) 2015-12-06T14:44:55Z nyef: But... why is it always a page-aligned fault address? 2015-12-06T14:44:58Z jdz joined #sbcl 2015-12-06T14:46:09Z leuler joined #sbcl 2015-12-06T14:48:19Z Xof: leuler: your utf-8 fix seems sensible to me 2015-12-06T14:51:57Z leuler: Xof: Thanks. 2015-12-06T15:03:00Z stassats: poking around modular funs, x86-64 only has ash-left-mod-64 for unsigned 2015-12-06T15:03:06Z stassats: so signed is using it 2015-12-06T15:04:59Z stassats: here's what it gets http://paste.lisp.org/display/165850 2015-12-06T15:08:06Z stassats: and compiler.pure no longer fails on arm64 2015-12-06T15:11:24Z Xof: I don't understand the paste 2015-12-06T15:11:38Z stassats: Z = 18446744073709551608 2015-12-06T15:11:41Z stassats: should be -8 2015-12-06T15:11:59Z Xof: why? 2015-12-06T15:12:15Z stassats: (ash -1 3) 2015-12-06T15:12:45Z Xof: um, but you have a (logand ... ) around it 2015-12-06T15:13:45Z Xof: (logand ) will always be positive 2015-12-06T15:15:48Z jdz quit (Ping timeout: 264 seconds) 2015-12-06T15:15:48Z stassats: ok, that's not the best way 2015-12-06T15:16:01Z jdz joined #sbcl 2015-12-06T15:16:56Z nyef: ... I had some trouble with ASH recently, didn't I? 2015-12-06T15:17:25Z nyef: Ah, yes. Always using a signed shift when shifting right. 2015-12-06T15:18:14Z dougk2 quit (Ping timeout: 260 seconds) 2015-12-06T15:18:28Z Xof: stassats: if you use (mask-signed-field 64 (ash (aref array 0) 3)) you get the right temporary 2015-12-06T15:18:38Z Xof: (but you don't get sweet, sweet inlined arithmetic) 2015-12-06T15:23:34Z stassats: ok then, unsignedness of the vop doesn't affect variable information 2015-12-06T15:24:23Z stassats: but why is mask-signed-field not optimized? 2015-12-06T15:28:09Z Xof: because we don't have (signed 64) modular functions, only (unsigned 64) 2015-12-06T15:28:24Z Xof: so the ASH is not optimized 2015-12-06T15:28:26Z dougk2 joined #sbcl 2015-12-06T15:28:31Z Xof: so the ASH can return a bignum 2015-12-06T15:28:38Z Xof: so we have to do generic arithmetic downstream 2015-12-06T15:30:26Z Xof: if you repeat the experiment, but with (mask-signed-field n-fixnum-bits ...) [ and a similarly-typed array ] you should see optimized arithmetic on x86-64, because we do have (signed ) modular functions 2015-12-06T15:31:30Z stassats: 63 instead of 64 works 2015-12-06T15:33:15Z stassats: i defined signed modular +/-/*, and it works with 64 2015-12-06T15:33:35Z stassats: the fact that define-modular + affects ash is pretty weird 2015-12-06T15:33:59Z luis` is now known as luis 2015-12-06T15:34:02Z Xof: it shouldn't 2015-12-06T15:34:35Z stassats: but that's how best-modular-version decides what to return 2015-12-06T15:35:04Z stassats: without any modular functions (modular-class-widths *untagged-signed-modular-class*) is NIL 2015-12-06T15:35:13Z Xof: I mean there shouldn't magically be a signed 64 implementation of ash 2015-12-06T15:36:11Z stassats: that's also true for arm64, i got logand to modularize only after having +/-/* 2015-12-06T15:36:33Z Xof: you need some modular functions, sure 2015-12-06T15:36:42Z Xof: if there are none at all there's nothing to do 2015-12-06T15:36:45Z stassats: the :good thing doesn't matter if there is no modular-class-widths 2015-12-06T15:36:54Z dougk2 quit (Ping timeout: 260 seconds) 2015-12-06T15:38:21Z stassats: ok, translating to mask-signed-field if it's not going to get transformed is a bad idea, sure 2015-12-06T15:38:32Z stassats: except that now mask-signed-field is faster than two-arg-and 2015-12-06T15:39:32Z stassats: or at least it conses less 2015-12-06T15:44:48Z stassats: shouldn't two-arg-and stop being static then? 2015-12-06T15:44:53Z stassats: when is it ever called? 2015-12-06T15:46:16Z stassats: logand calls it 2015-12-06T15:50:43Z stassats: do we want modular signed arithmetic? 2015-12-06T15:50:56Z stassats: when is it triggered? mask-signed-field is not standard 2015-12-06T15:52:01Z stassats: ash on arm64 cuts to 63, but doesn't on x86-64 2015-12-06T15:52:30Z stassats: arm64 can translate all modular ashes, but does unnecessary cuts otherwise 2015-12-06T15:53:36Z stassats: maybe there is some branchless trick 2015-12-06T15:58:02Z dougk2 joined #sbcl 2015-12-06T16:00:12Z stassats: i can do conditional select invert 2015-12-06T16:00:44Z stassats: CMP X, #64 CSINV LT X, XZR 2015-12-06T16:09:42Z Xof: I would expect ash on x86-64 to cut given mask-signed-field 63 2015-12-06T16:10:04Z Xof: e.g. (defun foo (x) (declare (type fixnum x)) (sb-c::mask-signed-field 63 (ash x 7))) 2015-12-06T16:12:01Z stassats: i mean (defun foo (x y) (declare (type fixnum x y)) (logand (ash x y) #xFFFFFFFFFFFFF)) 2015-12-06T16:12:18Z stassats: Y is not cut to 64 2015-12-06T16:13:04Z dougk2 quit (Ping timeout: 245 seconds) 2015-12-06T16:13:54Z stassats: splice in unsigned-byte for y 2015-12-06T16:14:36Z Xof: y is different in (ash x y) 2015-12-06T16:15:18Z Xof: you can't just mask it and preserve correctness 2015-12-06T16:15:30Z stassats: (defun foo (x y) (declare (fixnum x) ((and unsigned-byte fixnum) y)) (logand (ash x y) #xFFFFFFFFFFFFF)) 2015-12-06T16:15:40Z stassats: has a full call to SB-VM::ASH-LEFT-MODFX 2015-12-06T16:16:07Z Xof: right, because Y could be e.g. 20000 2015-12-06T16:16:22Z stassats: that's why i've been going on about cutting 2015-12-06T16:16:29Z stassats: on arm64, it's transformed alright 2015-12-06T16:17:20Z Xof: does it give the right answer? 2015-12-06T16:17:34Z stassats: and i found a way to optimize that, moreover, i want to cut only for modular functions 2015-12-06T16:17:37Z stassats: yes, 0 2015-12-06T16:18:05Z Xof: on x86-64, the arithmetic shift takes the low 6 bits of the shift count register, if I remember correctly 2015-12-06T16:18:14Z stassats: same thing on arm64 2015-12-06T16:18:27Z Xof: ok, let me look at the backends 2015-12-06T16:18:49Z stassats: which can be done in two instructions, cmp with 64, conditionally move inverted ZR 2015-12-06T16:22:59Z jdz quit (Ping timeout: 264 seconds) 2015-12-06T16:23:04Z Xof: ;; FIXME: figure out why the definition of ash-left-modfx is 2015-12-06T16:23:04Z Xof: ;; conditionalized out for platforms other than x86[-64]. 2015-12-06T16:23:37Z jdz joined #sbcl 2015-12-06T16:23:56Z Xof: hm, no, comment out of date 2015-12-06T16:24:24Z stassats: because it wasn't implemented 2015-12-06T16:25:10Z Xof: the next odd thing is the extra deftransforms in the x86[-64] backends but not the arm ones 2015-12-06T16:25:21Z stassats: that's the cutting thing 2015-12-06T16:25:25Z dougk2 joined #sbcl 2015-12-06T16:25:29Z stassats: the transforms are limited to (unsigned-byte 6) 2015-12-06T16:25:39Z stassats: without them it would produce bogus results 2015-12-06T16:26:52Z Xof: right, but how does the arm backend manage to transform ash-left-modfx at all? 2015-12-06T16:27:01Z stassats: :translate 2015-12-06T16:27:09Z Xof: the only thing that translates it is a vop for constant shift argument 2015-12-06T16:27:45Z stassats: i have a pending commit that adds variable ash-left-modfx 2015-12-06T16:27:50Z stassats: with :translate 2015-12-06T16:28:14Z stassats: form arm64 2015-12-06T16:28:16Z stassats: for 2015-12-06T16:28:55Z lnostdal quit (Ping timeout: 245 seconds) 2015-12-06T16:29:09Z Xof: ok 2015-12-06T16:29:15Z Xof: then I think everything makes sense 2015-12-06T16:29:20Z lnostdal joined #sbcl 2015-12-06T16:29:30Z stassats: huh, i have some malloc failures running foreign.test.sh on arm64 2015-12-06T16:30:10Z stassats: sometimes 2015-12-06T16:30:13Z stassats: that's the worst part 2015-12-06T16:33:28Z stassats: could add cutting to x86-64 2015-12-06T16:34:05Z stassats: mov x 63, cmp shift, x cmov lt shift, x 2015-12-06T16:36:08Z dougk2 quit (Ping timeout: 246 seconds) 2015-12-06T16:38:24Z lnostdal_ joined #sbcl 2015-12-06T16:42:15Z lnostdal quit (Ping timeout: 260 seconds) 2015-12-06T16:44:15Z stassats: regarding per-stream printer controls, *print-circle* is easy, just wrap the stream when needed, but *current-print-level* is more pervasive 2015-12-06T16:44:45Z luis quit (Ping timeout: 245 seconds) 2015-12-06T16:44:50Z stassats: i guess if *print-level* is nil it can be ignored too 2015-12-06T16:44:54Z nyef: Okay, got a line on ONE possible GC bug, at least. 2015-12-06T16:45:45Z stassats: maybe there's something interesting for MIN in hacker's delight 2015-12-06T16:46:55Z luis joined #sbcl 2015-12-06T16:48:51Z nyef: Umm... What's this lowtag check in set_page_consi_bit() where it checks for a literal 2 or 9? 2015-12-06T16:51:24Z stassats: hacker's delight recommends a new cpu instruction 2015-12-06T16:52:33Z Xof: nyef: that does look quite weird. 2015-12-06T16:54:03Z stassats: that seems to be new 2015-12-06T16:54:10Z stassats: from the zeroing changes 2015-12-06T16:54:35Z nyef: Yes, that's where that entire function is from. 2015-12-06T16:55:21Z stassats: how can something have a low tag of 2 and not be a fixnum on 1 bit fixnums? 2015-12-06T16:55:35Z leuler: stassats: An unsigned number is larger than 63 if any bit to the left of the sixth from the right is set, so you could use: mov x shift; shr x, 6; mov x, 63; cmov nz shift, x. 2015-12-06T16:55:46Z leuler: stassats: But that is worse than what you had already above. 2015-12-06T16:56:29Z nyef: stassats: What if that's the 32-bit case? 2015-12-06T16:56:55Z stassats: what is 9 then? 2015-12-06T16:56:56Z Xof: but 9 is OTHER_IMMEDIATE_2_LOWTAG, so what's that testing for? 2015-12-06T16:57:30Z stassats: 9 has four bits, 32-bits have 3 bit lowtags 2015-12-06T16:57:51Z nyef: And what's the pattern for OTHER_IMMEDIATE lowtags on 32-bit? 2015-12-06T16:58:13Z stassats: 10 2015-12-06T16:59:29Z nyef: Okay, what if this is a misguided check for CONSes? 2015-12-06T17:01:15Z stassats: 9 is other-immediate-2-lowtag on 64-bit, and 2 is other-immediate-0-lowtag on 32-bit 2015-12-06T17:02:02Z nyef: Yeah, size_immediate and size_pointer both return 1. 2015-12-06T17:02:30Z stassats: as if it tries to double-word "align" something 2015-12-06T17:02:46Z nyef: So, if it's a fixnum, a lisp pointer, or has lowtags 9 or 2? 2015-12-06T17:02:55Z stassats: i don't get it 2015-12-06T17:03:01Z nyef: I don't get it either. 2015-12-06T17:03:12Z dougk2 joined #sbcl 2015-12-06T17:03:29Z stassats: it first grabs widetag_of of this 2015-12-06T17:03:36Z stassats: hey, is that this #x72 thing? 2015-12-06T17:03:48Z nyef: That's what I'm thinking, yes. 2015-12-06T17:04:10Z nyef: You saw the most recent exchange, right? 2015-12-06T17:04:22Z stassats: with one eye 2015-12-06T17:04:50Z zacts quit (Quit: WeeChat 1.3) 2015-12-06T17:04:56Z stassats: #x72 is a fixnum 2015-12-06T17:05:07Z stassats: ok, let's try to replicate that then 2015-12-06T17:05:25Z stassats: what's consi? 2015-12-06T17:05:53Z zacts joined #sbcl 2015-12-06T17:06:09Z stassats: considered? 2015-12-06T17:06:17Z nyef: conservative? 2015-12-06T17:07:26Z stassats: there page_considered in the function above 2015-12-06T17:10:20Z nyef: On x86-64, single-float-widetag is 0x19, character-widetag is 0x49, and unbound-marker-widetag is 0x51. 2015-12-06T17:11:28Z nyef: And on 32-bit, character-widetag is 0x42. 2015-12-06T17:12:05Z nyef: I really think that this is an ersatz is_lisp_immediate(*mark_which_pointer), meant as a way to determine if the candidate object is a CONS. 2015-12-06T17:12:37Z stassats: it should be before checking for widetag, either way 2015-12-06T17:13:27Z nyef: So, next question: Are there other situations where we can get a size of 1? 2015-12-06T17:13:52Z stassats: more generally, are there any other objects without widetags? 2015-12-06T17:14:19Z nyef: It seems not. 2015-12-06T17:14:47Z nyef: All cases where calling a sizetab function returns 1 appear to be conses. 2015-12-06T17:16:43Z nyef: Now, how do we get from here to a function getting relocated? 2015-12-06T17:16:50Z nyef: (Well, transported.) 2015-12-06T17:18:11Z dougk2 quit (Ping timeout: 260 seconds) 2015-12-06T17:18:39Z stassats: how does it ever work? 2015-12-06T17:22:15Z nyef: No idea. 2015-12-06T17:22:17Z stassats: managed to exhaust the heap due to conservatives 2015-12-06T17:22:34Z stassats: no crashes so far 2015-12-06T17:23:40Z nyef: Wha...? 2015-12-06T17:24:07Z nyef: It's sufficient for any lisp function to be transported from a lower page number than a page which IS pinned by the stack? 2015-12-06T17:25:44Z stassats: consing some lists, when size == 1, the thing it points it is either 0, NIL or 0xE4 2015-12-06T17:26:02Z stassats: there are some twos too 2015-12-06T17:27:20Z stassats: but i'm consing #x33s 2015-12-06T17:30:36Z stassats: ok, i see my cons contents as widetags 2015-12-06T17:31:03Z stassats: not, false positive 2015-12-06T17:31:12Z zacts quit (Read error: Connection reset by peer) 2015-12-06T17:32:03Z zacts joined #sbcl 2015-12-06T17:33:25Z dougk2 joined #sbcl 2015-12-06T17:34:16Z stassats: oh, sizetab doesn't actually care about widetag correctness, does it? 2015-12-06T17:35:33Z nyef: Hrm... I think I may have an angle. 2015-12-06T17:36:05Z stassats: thought it failed and sizetab, but it's just a table 2015-12-06T17:36:17Z nyef: In move_pinned_pages_to_newspace(), some pages can be retained in oldspace. 2015-12-06T17:37:18Z nyef: Yeah, this is very carefully dreadful. 2015-12-06T17:38:33Z stassats: then there are single floats 2015-12-06T17:40:12Z nyef: Hrm. from_space_p accounts for this, in theory. 2015-12-06T17:40:50Z stassats: and lowtag_of of single-float is #x9 2015-12-06T17:41:02Z stassats: so that's what it checks for 2015-12-06T17:41:54Z stassats: but what's with 2 then? 2015-12-06T17:42:15Z nyef: As I said earlier, lowtag of character-widetag is 2 on 32-bit. 2015-12-06T17:42:26Z stassats: ok 2015-12-06T17:42:28Z stassats: weird weird 2015-12-06T17:43:03Z nyef: It's a perfectly dreadful kludge, and fragile in a way that the rest of the system is not. 2015-12-06T17:43:52Z stassats: huh, got an invariant lost 2015-12-06T17:43:58Z nyef: Oh? 2015-12-06T17:44:07Z stassats: consed an unbound-marker-widetag 2015-12-06T17:44:16Z stassats: well, that was expected 2015-12-06T17:45:05Z stassats: can't it just take 1 as 2 and be done with it? 2015-12-06T17:45:23Z stassats: we can't have 1-long objects, so this is just an insane sanity check 2015-12-06T17:45:24Z nyef: It should be able to, yes. 2015-12-06T17:45:52Z nyef: I did a quick audit of size functions, and it looks like anywhere that they return a 1 is a CONS case. 2015-12-06T17:47:21Z stassats: it returns 1 for immediates, and immediates at the beginning of an object can only appear in conses 2015-12-06T17:47:45Z nyef: It also returns 1 for pointers, and pointers at the beginning of an object can only appear in conses. 2015-12-06T17:48:11Z stassats: pointers are immediate 2015-12-06T17:48:22Z nyef: There's a separate size function for them. 2015-12-06T17:48:40Z nyef: The only other size function that returns 1 is size_lose(), after the call to lose() returns. 2015-12-06T17:48:53Z nyef: I'm not especially worried about that case, for some reason. (-: 2015-12-06T17:48:58Z kumbiKambi quit (Read error: Connection reset by peer) 2015-12-06T17:49:32Z stassats: so, that doesn't appear to be causing the #x72 thing 2015-12-06T17:51:02Z dougk2 quit (Ping timeout: 246 seconds) 2015-12-06T17:52:23Z nyef: Umm... 2015-12-06T17:52:34Z nyef: ... No, that can't be it. 2015-12-06T17:53:16Z stassats: is a comment or two too much to ask? 2015-12-06T17:53:44Z stassats: i can't understand none of the parts in set_page_consi_bit 2015-12-06T17:53:47Z stassats: including its name 2015-12-06T17:57:12Z stassats: especially such hacks as combined checking for characters and floats 2015-12-06T17:57:42Z stassats: if anything warrants a comment, then this would be the first thing 2015-12-06T18:00:32Z nyef: I'll keep digging on this for a bit, but I suspect that it's going to take rebuilding my mental model of how the GC and conservation works in terms of this new "wipe" semantic, and then revalidating everything in terms of the model. 2015-12-06T18:09:16Z stassats: #x72 can only fail on 32-bits, no? 2015-12-06T18:09:37Z nyef: I have no idea. I've yet to have it happen. 2015-12-06T18:10:43Z nyef: On the other hand, I'm not really trying to have it happen. 2015-12-06T18:10:59Z stassats: and i'm trying 2015-12-06T18:11:14Z stassats: otherwise, 72 is a fixnum, and it would have a size function 2015-12-06T18:11:40Z stassats: that's why nobody sees it 2015-12-06T18:11:56Z stassats: dougk_: where did you stumble on it? 2015-12-06T18:14:27Z nyef: So, this whole wipe thing is broken on non-x86oids. 2015-12-06T18:14:29Z leuler` joined #sbcl 2015-12-06T18:14:55Z stassats: set_page_consi_bit is not couled outside of them 2015-12-06T18:15:14Z nyef: Okay, fair enough. 2015-12-06T18:15:16Z stassats: but it still wastes spaces for the dontmove array? 2015-12-06T18:15:53Z leuler quit (Ping timeout: 246 seconds) 2015-12-06T18:19:26Z stassats: "couled" that's an interesting way to write "called" 2015-12-06T18:35:05Z stassats: so, preserve_pointer can be called on a conservative pointer which isn't a pointer at all 2015-12-06T18:42:31Z nyef: Eh? 2015-12-06T18:42:40Z nyef: Oh, right. 2015-12-06T18:43:11Z nyef: Yeah, it's used for context registers, the entirety of the stack, things like that. 2015-12-06T18:44:07Z nyef: We only know that it's a valid lispobj (not necessarily a pointer) on non-x86oids. 2015-12-06T18:46:20Z stassats: if dougk_ says it's a jump, what if it reconstructs the wrong lispobj? 2015-12-06T18:48:42Z nyef: Hmm? 2015-12-06T18:48:57Z stassats: exactly 2015-12-06T18:53:27Z stassats: rereading the emails 2015-12-06T18:53:38Z stassats: how come it's about functions? 2015-12-06T18:56:39Z Quadrescence quit (Quit: Leaving) 2015-12-06T18:56:49Z stassats: so, the cause is that the heap gets out of sync 2015-12-06T18:57:17Z stassats: but plausible the room thing and the no size function are caused by different things 2015-12-06T18:58:29Z Quadrescence joined #sbcl 2015-12-06T19:02:17Z nyef: They'd have to be fairly similar different things. 2015-12-06T19:02:56Z nyef: I'm suggesting functions because of their embedded objects. 2015-12-06T19:03:29Z stassats: they both get out of sync 2015-12-06T19:03:34Z nyef: Right. 2015-12-06T19:04:12Z nyef: And M-A-O basically IS gc_search_space(). 2015-12-06T19:04:32Z nyef: Same basic iteration logic, at least. 2015-12-06T19:04:47Z stassats: could it be that the zeroing logic is at fault here? 2015-12-06T19:04:52Z stassats: the zeroing itself 2015-12-06T19:04:57Z nyef: Hrm... 2015-12-06T19:05:02Z stassats: like an off by one error that makes something a cons? 2015-12-06T19:06:29Z nyef: The lisp_pointers_wiped bit in do_the_wipe() is clearly nonsense... 2015-12-06T19:08:26Z nyef: Nothing obviously wrong with do_the_wipe() beyond that. 2015-12-06T19:08:26Z stassats: it's not even neccessary is it? 2015-12-06T19:08:35Z stassats: just slowing things down 2015-12-06T19:10:05Z stassats: and GENCGC_CARD_BYTES / N_WORD_BYTES / 2 should read n_dwords_in_card 2015-12-06T19:10:28Z stassats: which should rather be a #define 2015-12-06T19:11:05Z stassats: same with wipe_with 2015-12-06T19:11:10Z stassats: why is it a variable? 2015-12-06T19:11:44Z stassats: and the dont_move table should be a bit-vector 2015-12-06T19:15:11Z jdz quit (Ping timeout: 264 seconds) 2015-12-06T19:16:57Z jdz joined #sbcl 2015-12-06T19:44:20Z sjl quit (Quit: WeeChat 1.3) 2015-12-06T19:58:26Z stassats quit (Ping timeout: 246 seconds) 2015-12-06T19:58:53Z stassats joined #sbcl 2015-12-06T19:59:18Z sjl joined #sbcl 2015-12-06T20:00:26Z karswell quit (Read error: Connection reset by peer) 2015-12-06T20:04:35Z sjl quit (Quit: WeeChat 1.3) 2015-12-06T20:26:59Z leuler` quit (Quit: ERC Version 5.1.2 $Revision: 1.796.2.6 $ (IRC client for Emacs)) 2015-12-06T20:33:16Z sjl joined #sbcl 2015-12-06T20:49:27Z dougk2 joined #sbcl 2015-12-06T21:07:23Z brucem quit (Ping timeout: 264 seconds) 2015-12-06T21:08:04Z dougk2 quit (Ping timeout: 245 seconds) 2015-12-06T21:11:28Z sjl quit (Quit: WeeChat 1.3) 2015-12-06T21:12:13Z pkhuong: stassats: you can delete after the first run of type derivation. 2015-12-06T21:12:29Z sjl joined #sbcl 2015-12-06T21:20:05Z gingerale quit (Remote host closed the connection) 2015-12-06T21:25:40Z brucem joined #sbcl 2015-12-06T21:27:16Z dougk2 joined #sbcl 2015-12-06T21:28:23Z jdz quit (Ping timeout: 264 seconds) 2015-12-06T21:28:40Z jdz joined #sbcl 2015-12-06T21:30:10Z stassats: pkhuong: when does that happen? 2015-12-06T21:34:36Z stassats: there are still some strange things happening with bound-cast 2015-12-06T21:35:04Z stassats: like just the cast is able to derive (and (svref #(x) z) z) as 0, but not bound-cast 2015-12-06T21:35:35Z stassats: and i had to do ,(if (constant-lvar-p dimension) (lvar-value dimension) 'dimension), otherwise it doesn't get propagated 2015-12-06T21:35:38Z pkhuong: stassats: you can do something with one of the ir1 delay calls 2015-12-06T21:36:15Z Shinmera quit (Quit: しつれいしなければならないんです。) 2015-12-06T21:36:45Z stassats: pkhuong: well, it works for now, i don't want to go down that rabbit hole any deeper 2015-12-06T21:36:51Z pkhuong: I also added stuff to extend constraint propagation for new functions 2015-12-06T21:37:00Z pkhuong: so you can use that to let type propagation know about bound cast 2015-12-06T21:37:25Z stassats: well, it's just a cast underneath 2015-12-06T21:37:55Z stassats: that was the idea, subclass cast so that everything just works 2015-12-06T21:40:02Z stassats: maybe that can be extended to some other things for better error reporting, not just check-bound 2015-12-06T21:41:22Z dougk2 quit (Ping timeout: 260 seconds) 2015-12-06T21:45:04Z edgar-rft quit (Quit: edgar-rft) 2015-12-06T21:57:06Z angavrilov quit (Remote host closed the connection) 2015-12-06T22:22:09Z stassats: looking at http://paste.lisp.org/display/165892 2015-12-06T22:22:38Z stassats: for some reason the XEP for FUN doesn't have an allocator 2015-12-06T22:25:01Z stassats: it tries to grab it from something named (SB-C::LOCAL-INLINE (LABELS FUN :IN TEST)) 2015-12-06T22:26:49Z stassats: normally when a local function is closed over ir1 uses %allocate-closures 2015-12-06T22:27:11Z stassats: but SB-C::MAYBE-EXPAND-LOCAL-INLINE doesn't seem to be doing that 2015-12-06T22:28:46Z stassats: that's probably the idea, no closures for inlined stuff 2015-12-06T22:29:35Z joshe joined #sbcl 2015-12-06T22:30:47Z stassats: it should probably do better screening before deciding to let convert 2015-12-06T22:44:08Z stassats: FUNCTION does %%allocate-closures 2015-12-06T22:44:29Z stassats: but maybe-expand-local-inline calls ir1-convert-lambdalike directly 2015-12-06T22:45:08Z prxq joined #sbcl 2015-12-06T22:46:53Z stassats: probably the problem is that a call using tail-call-variable cannot be inlined 2015-12-06T22:53:15Z dougk2 joined #sbcl 2015-12-06T22:59:59Z stassats: in (flet ((fun () z)) (declare (inline fun)) (multiple-value-call #'fun (no-values))) it still converts the inline expansion, even though there is actually no inlining going on 2015-12-06T23:03:54Z stassats: better test case http://paste.lisp.org/display/165892#1 2015-12-06T23:04:49Z stassats: so, it inline expands and tries to convert a call, but doesn't succed 2015-12-06T23:04:57Z stassats: but the lambda is already substituted 2015-12-06T23:09:32Z dougk2 quit (Ping timeout: 246 seconds) 2015-12-06T23:11:20Z stassats: ok, i think the idea would be to refrain from expansion in convert-call-if-possible when it wouldn't converted 2015-12-06T23:11:29Z stassats: not only does it confuses things, it's also wasteful 2015-12-06T23:19:20Z stassats: maybe it can do only change-ref-leaf after it seceded converting it and otherwise delete it 2015-12-06T23:19:29Z stassats: not creating in the first place would be a better idea 2015-12-06T23:21:02Z stassats: or maybe convert-mv-call and convert-lambda-call can do inline expansion when needed instead? 2015-12-06T23:25:53Z dougk2 joined #sbcl 2015-12-06T23:33:12Z stassats: that seems to work, but not sure what it breaks and it's too late to find out 2015-12-06T23:37:14Z prxq quit (Ping timeout: 245 seconds) 2015-12-06T23:38:58Z stassats quit (Ping timeout: 260 seconds) 2015-12-06T23:53:29Z dougk2 quit (Ping timeout: 245 seconds) 2015-12-06T23:54:31Z dougk2 joined #sbcl 2015-12-07T00:07:34Z ASau quit (Read error: No route to host) 2015-12-07T00:10:35Z scymtym quit (Ping timeout: 245 seconds) 2015-12-07T00:10:44Z ASau joined #sbcl 2015-12-07T00:27:46Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-12-07T01:15:20Z chu_ is now known as chu 2015-12-07T02:03:07Z zacts quit (Quit: WeeChat 1.0.1) 2015-12-07T02:38:10Z mega1 joined #sbcl 2015-12-07T03:11:36Z nyef: Oh, hell. I think I just found the 0x72 thing. 2015-12-07T03:13:30Z nyef: Hrm. Maybe. 2015-12-07T03:15:37Z nyef: Nevermind, that can't be it. 2015-12-07T03:28:53Z npatrick04 joined #sbcl 2015-12-07T03:36:57Z zacts joined #sbcl 2015-12-07T04:41:41Z lnostdal_ quit (Ping timeout: 246 seconds) 2015-12-07T04:56:25Z lnostdal_ joined #sbcl 2015-12-07T05:00:30Z dougk2 quit (Ping timeout: 260 seconds) 2015-12-07T05:11:56Z yvm joined #sbcl 2015-12-07T05:55:34Z flip214: nyef: on sbcl-devel there was a discussion yesterday about the 0x72 widetag issue. 2015-12-07T06:02:14Z adhoc quit (Ping timeout: 245 seconds) 2015-12-07T06:04:11Z adhoc joined #sbcl 2015-12-07T06:18:31Z dougk2 joined #sbcl 2015-12-07T06:24:02Z dougk2 quit (Ping timeout: 260 seconds) 2015-12-07T06:40:15Z jlarocco quit (Read error: Connection reset by peer) 2015-12-07T06:43:27Z jlarocco joined #sbcl 2015-12-07T07:11:55Z prxq joined #sbcl 2015-12-07T07:38:30Z jlarocco quit (Read error: Connection reset by peer) 2015-12-07T08:00:32Z angavrilov joined #sbcl 2015-12-07T08:02:10Z Shinmera joined #sbcl 2015-12-07T08:02:29Z Shinmera quit (Client Quit) 2015-12-07T08:03:03Z jlarocco joined #sbcl 2015-12-07T08:15:07Z stassats joined #sbcl 2015-12-07T08:31:40Z Cymew joined #sbcl 2015-12-07T09:43:18Z ASau quit (Ping timeout: 260 seconds) 2015-12-07T10:17:50Z |3b| quit (Ping timeout: 260 seconds) 2015-12-07T10:23:27Z ZabaQ joined #sbcl 2015-12-07T10:29:02Z brucem quit (Ping timeout: 260 seconds) 2015-12-07T10:44:31Z prxq quit (Remote host closed the connection) 2015-12-07T10:45:12Z joshe quit (Ping timeout: 264 seconds) 2015-12-07T11:10:51Z prxq joined #sbcl 2015-12-07T11:12:39Z sjl quit (Quit: WeeChat 1.3) 2015-12-07T11:13:00Z sjl joined #sbcl 2015-12-07T11:13:04Z stassats quit (Ping timeout: 245 seconds) 2015-12-07T11:14:37Z stassats joined #sbcl 2015-12-07T11:18:56Z stassats quit (Ping timeout: 246 seconds) 2015-12-07T11:19:38Z stassats joined #sbcl 2015-12-07T11:25:59Z stassats quit (Ping timeout: 245 seconds) 2015-12-07T11:26:37Z stassats joined #sbcl 2015-12-07T11:27:24Z attila_lendvai joined #sbcl 2015-12-07T11:27:24Z attila_lendvai quit (Changing host) 2015-12-07T11:27:24Z attila_lendvai joined #sbcl 2015-12-07T11:27:41Z DGASAU joined #sbcl 2015-12-07T11:45:53Z Bike quit (Ping timeout: 246 seconds) 2015-12-07T11:47:27Z SamSkulls quit (Remote host closed the connection) 2015-12-07T11:58:26Z Bike joined #sbcl 2015-12-07T12:20:46Z brucem joined #sbcl 2015-12-07T12:29:06Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-12-07T12:33:59Z brucem quit (Changing host) 2015-12-07T12:33:59Z brucem joined #sbcl 2015-12-07T13:00:25Z prxq quit (Remote host closed the connection) 2015-12-07T13:19:23Z DGASAU quit (Ping timeout: 260 seconds) 2015-12-07T13:25:40Z DGASAU joined #sbcl 2015-12-07T13:31:59Z DGASAU quit (Ping timeout: 260 seconds) 2015-12-07T13:32:09Z DGASAU` joined #sbcl 2015-12-07T13:32:59Z mega1 quit (Ping timeout: 246 seconds) 2015-12-07T13:33:45Z DGASAU` is now known as DGASAU 2015-12-07T13:47:38Z sjl_ joined #sbcl 2015-12-07T13:49:14Z sjl quit (Disconnected by services) 2015-12-07T13:49:16Z sjl_ is now known as sjl 2015-12-07T13:54:50Z sjl_ joined #sbcl 2015-12-07T13:56:26Z sjl quit (Ping timeout: 246 seconds) 2015-12-07T13:56:41Z psilord quit (Quit: Leaving.) 2015-12-07T14:03:41Z edgar-rft joined #sbcl 2015-12-07T14:08:14Z dougk2 joined #sbcl 2015-12-07T14:15:51Z sigjuice quit (Ping timeout: 265 seconds) 2015-12-07T14:22:20Z dougk2 quit (Ping timeout: 246 seconds) 2015-12-07T14:22:32Z sigjuice joined #sbcl 2015-12-07T14:43:26Z DGASAU quit (Read error: Connection reset by peer) 2015-12-07T14:43:49Z DGASAU joined #sbcl 2015-12-07T14:45:46Z edgar-rft quit (Quit: edgar-rft) 2015-12-07T14:54:31Z attila_lendvai joined #sbcl 2015-12-07T14:54:32Z attila_lendvai quit (Changing host) 2015-12-07T14:54:32Z attila_lendvai joined #sbcl 2015-12-07T15:01:22Z psilord joined #sbcl 2015-12-07T15:10:26Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-12-07T15:37:31Z edgar-rft joined #sbcl 2015-12-07T15:44:28Z mordocai joined #sbcl 2015-12-07T16:05:05Z dougk_ quit (Remote host closed the connection) 2015-12-07T16:05:14Z eudoxia joined #sbcl 2015-12-07T16:06:28Z dougk2 joined #sbcl 2015-12-07T16:07:41Z Cymew quit (Ping timeout: 246 seconds) 2015-12-07T16:12:50Z Cymew joined #sbcl 2015-12-07T16:45:56Z nyef: flip214: As one of the participants in said discussion, I am aware of it. (-: 2015-12-07T16:46:41Z nyef: Currently coming back to "it may not be the GC at fault". 2015-12-07T16:49:10Z Cymew quit (Read error: Connection reset by peer) 2015-12-07T17:00:09Z attila_lendvai joined #sbcl 2015-12-07T17:00:09Z attila_lendvai quit (Changing host) 2015-12-07T17:00:09Z attila_lendvai joined #sbcl 2015-12-07T17:10:05Z flip214: nyef: Sorry, I'm not that proficient associating IRC nicks with real names. 2015-12-07T17:10:32Z flip214: Just wanted to save you some work, in case the discussion on -devel was already the solution. 2015-12-07T17:11:24Z ZabaQ quit (Ping timeout: 245 seconds) 2015-12-07T17:11:46Z sjl joined #sbcl 2015-12-07T17:11:51Z sjl_ quit (Read error: Connection reset by peer) 2015-12-07T17:12:04Z eudoxia quit (Quit: Leaving) 2015-12-07T17:12:41Z nyef: flip214: It's a partial diagnosis, and a fix for a related issue, but there's been no success on finding a root cause yet. 2015-12-07T17:13:45Z scymtym joined #sbcl 2015-12-07T17:23:17Z dougk_ joined #sbcl 2015-12-07T17:30:33Z stassats: maybe it's just a heap corruption? 2015-12-07T17:39:11Z dougk2 quit (Ping timeout: 250 seconds) 2015-12-07T17:42:16Z stassats: this could be an exercise in chasing wild geese 2015-12-07T17:57:42Z dougk2 joined #sbcl 2015-12-07T17:58:35Z Xof: I blame bad RAM 2015-12-07T17:59:17Z stassats: minion: advice on compiler 2015-12-07T17:59:18Z minion: #11907: Looking for a compiler bug is the strategy of LAST resort. LAST resort. 2015-12-07T18:00:32Z stassats: clearly, minion haven't worked with SBCL 2015-12-07T18:02:04Z stassats: minion: version? 2015-12-07T18:02:04Z minion: This is the minion bot, running on a X86-64 (QEMU Virtual CPU version 1.1.2) and running under SBCL 1.1.6. 2015-12-07T18:12:33Z dougk2 quit (Ping timeout: 250 seconds) 2015-12-07T18:16:28Z dougk2 joined #sbcl 2015-12-07T18:21:40Z nyef: stassats: Right, heap corruption from the Lisp side is the other plausible angle. 2015-12-07T18:22:17Z nyef: minion: Advice on RAM? 2015-12-07T18:22:17Z minion: #11924: Well, if you don't know what it does, why did you put it in your program? 2015-12-07T18:22:20Z nyef: Hrm. 2015-12-07T18:22:27Z nyef: That's... a bit sketchy for a match. 2015-12-07T18:22:46Z dougk2 quit (Ping timeout: 240 seconds) 2015-12-07T18:22:47Z nyef: minion: Advice on solution? 2015-12-07T18:22:47Z minion: You can't expect automated advice for everything. 2015-12-07T18:22:50Z nyef: Aww. 2015-12-07T18:25:24Z stassats: i tried running the code that allegedly caused that, no dice 2015-12-07T18:26:41Z dougk2 joined #sbcl 2015-12-07T18:28:34Z stassats: but those wiping parts are still worth modifying 2015-12-07T18:38:59Z ASau joined #sbcl 2015-12-07T18:44:46Z nyef: Yes, there's definitely some issue there. 2015-12-07T18:45:30Z nyef: Do you want to do the first round of cleanup, or shall I? 2015-12-07T18:47:38Z stassats: you can clean it up and i can make it use an actual bit-map 2015-12-07T18:48:05Z stassats: and what is the relationship with gengc? does it wastefully allocates those bit-maps? 2015-12-07T18:48:35Z stassats: when it allocated whole words for each bit, i could no longer start on 32-bit arches, too much address space used 2015-12-07T18:49:07Z nyef: Another question: Should we MAKE it work on non-x86oids? 2015-12-07T18:49:23Z stassats: what's the point? 2015-12-07T18:49:50Z nyef: They're not subject to false positives, but a pinned object is a pinned object. 2015-12-07T18:50:11Z nyef: Which means that the same conservatism applies. 2015-12-07T18:52:50Z stassats: pinned objects pin whole pages? 2015-12-07T18:53:22Z stassats: can we have special pinned pages? 2015-12-07T18:54:01Z nyef: Problem is, the pinned attribute is dynamic. 2015-12-07T18:54:47Z stassats: but it has dynamic extent 2015-12-07T18:56:58Z stassats: might as well stack allocate such things 2015-12-07T18:57:17Z stassats: how often is with-pinned-object used anyway? 2015-12-07T18:58:39Z nyef: Primarily around certain kinds of FFI, I believe. 2015-12-07T18:59:44Z nyef: And the pin is typically stack-allocated, but the objects might only need to be pinned occasionally, or are allocated in a manner entirely unsuitable to stack allocation, or... various things. 2015-12-07T19:01:45Z stassats: and how often are there multiple conservative objects in a page, it can probably use bzero on wider ranges 2015-12-07T19:02:19Z stassats: so, i'd like to first construct a way to exercise those bits, preferably measure them 2015-12-07T19:02:25Z stassats: and then transition to bit-maps and bzero 2015-12-07T19:03:59Z pkhuong quit (Ping timeout: 276 seconds) 2015-12-07T19:05:12Z nyef: Also note that a multi-page allocation region prevents wiping. 2015-12-07T19:06:49Z stassats: aren't those large objects? 2015-12-07T19:10:44Z lnostdal_ quit (Ping timeout: 246 seconds) 2015-12-07T19:11:59Z nyef: Not necessarily. 2015-12-07T19:12:46Z nyef: Certainly, when it comes to the cold-core, everything gets bunged into ONE allocation region, and then the runtime slices that up wherever an object boundary coincides with a page boundary. 2015-12-07T19:15:01Z stassats: so, wiping is providing double-word level pinning, couldn't the whole pinning be reworked to work on double worlds 2015-12-07T19:16:22Z nyef: It's worse than that. If we have a pinned page, why the hell are we evacuating live data from it? 2015-12-07T19:17:12Z gingerale joined #sbcl 2015-12-07T19:23:40Z lnostdal_ joined #sbcl 2015-12-07T19:27:00Z stassats: so that it can be told apart from dead data? 2015-12-07T19:28:00Z stassats: maybe mark and sweep for pinned pages? 2015-12-07T19:28:34Z stassats: nothing can be allocated to a pinned page anyway? so we just need to zero out unused stuff so that it doesn't pose as a root 2015-12-07T19:29:16Z stassats: moving from live data from a pinned page will just create two pages, the only benefit is no false roots 2015-12-07T19:30:56Z stassats: so, instead of marking pinned objects, mark all live objects in a pinned page, zero out the remaining? 2015-12-07T19:31:27Z stassats: so if you want to transport an object and it's in a pinned page, mark its bit as 1 2015-12-07T19:31:36Z stassats: and move on 2015-12-07T19:31:58Z stassats: nyef: how does that sound? 2015-12-07T19:33:36Z stassats: and how does it do transporting now? 2015-12-07T19:33:41Z nyef: More-or-less right. 2015-12-07T19:33:52Z stassats: for pinned page with a dontmove map 2015-12-07T19:34:10Z nyef: On the other hand, I don't really want to be doing drastic surgery on the GC when we have an unresolved heap-corruption issue somewhere. 2015-12-07T19:34:38Z stassats: it could help catch the corruption 2015-12-07T19:34:46Z stassats: by providing more insight 2015-12-07T19:35:33Z stassats: ok, is zeroing actually needed? 2015-12-07T19:35:50Z stassats: previously, was the whole page considered as a root? 2015-12-07T19:36:04Z sjl quit (Ping timeout: 256 seconds) 2015-12-07T19:36:14Z nyef: So, right now, pinned pages are maintained in oldspace, so that scavenge will evacuate them, but then it turns around and hooks the presence of the dontmove_dwords in to say that anything in dontmove_dwords is in newspace instead. 2015-12-07T19:36:38Z nyef: Except if it's a multi-page region, in which case the entire page is dumped into newspace. 2015-12-07T19:36:57Z sjl joined #sbcl 2015-12-07T19:37:04Z nyef: Right, the pre-wipeout version always transported the entire page to newspace, so it acted as a root. 2015-12-07T19:37:26Z stassats: newspace is just a state, not a physical location, right? 2015-12-07T19:37:36Z nyef: In gencgc, yes. 2015-12-07T19:37:48Z nyef: In cheneygc, it's a location. 2015-12-07T19:38:09Z nyef: I'm giving a certain amount of thought to building a new GC for SBCL, too. 2015-12-07T19:39:10Z stassats: so, how bad would it be to have dead objects intermixed with leave objects? 2015-12-07T19:39:29Z stassats: bad for room? 2015-12-07T19:39:35Z stassats: ROOM 2015-12-07T19:39:53Z nyef: Bad for ROOM, at the very least. 2015-12-07T19:40:01Z stassats: well, zeroing is easy 2015-12-07T19:40:37Z nyef: Right, the zeroing is basically necessary. Or the use of an "unused-space-widetag". 2015-12-07T19:40:54Z nyef: (unallocated-space-widetag?) 2015-12-07T19:41:08Z stassats: but moving non-conservative-but-stuck-pinned is not necessary 2015-12-07T19:41:27Z stassats: they'll get moved and compacted on the next flight 2015-12-07T19:41:34Z stassats: if possible 2015-12-07T19:42:03Z prxq joined #sbcl 2015-12-07T19:42:21Z stassats: otherwise if you pin enough stuff in a certain way you can end up with twice the amount of pages 2015-12-07T19:43:44Z stassats: 2 words pinned in a page, the rest are alive, get a whole new page, the pinned words get its own page 2015-12-07T19:44:15Z nyef: Right, if you always (or usually) evacuate pinned pages, you end up with more pages in use. 2015-12-07T19:44:28Z nyef: But if you don't at least CLEAN them, you end up with more garbage being retained. 2015-12-07T19:47:04Z stassats: the move to newspace has generations[new_space].bytes_allocated += page_table[i].bytes_used; 2015-12-07T19:47:21Z stassats: does bytes_allocated presume contiguous bytes from 0? 2015-12-07T19:47:35Z stassats: could it resume allocation from there and screw things up? 2015-12-07T19:48:00Z nyef: The dead conses count as being in use, if that's what you're trying to ask. 2015-12-07T19:48:19Z nyef: If it resumes allocation, it has to resume from bytes_used. 2015-12-07T19:49:20Z nyef: So what we need to do when scavenge hits a live object on a dont_move page in oldspace is add the object to a list to be scavenged "soon", and mark its dwords as being live-and-in-newspace. 2015-12-07T19:50:26Z nyef: Or we enter an immediate recursive scavenge, but that's just trading off where that "scavenge this soon" list is stored. 2015-12-07T19:50:44Z nyef: And the entire thing would be easier if we had a separate mark pass. 2015-12-07T19:51:05Z eudoxia joined #sbcl 2015-12-07T19:52:03Z stassats: with-pinned-objects and stack/register preservation is a separate pass 2015-12-07T19:52:12Z stassats: i think 2015-12-07T19:52:33Z nyef: Yes, it runs FIRST, before almost anything else. 2015-12-07T19:57:59Z stassats: and then it tries to transport things? 2015-12-07T19:59:11Z nyef: Right, the pre-wipeout way was to transport the pinned page straight to newspace by changing its metadata. 2015-12-07T19:59:45Z nyef: And that still happens in a few cases: Large-object pages, and contiguous multi-page regions. 2015-12-07T20:00:47Z nyef: After that, the roots are scavenged, providing an initial set of non-pinned newspace objects, and then newspace is scavenged repeatedly until it stops growing. 2015-12-07T20:02:43Z nyef: Once newspace stops growing, we mark all of the oldspace pages as being free, and do_the_wipe(). 2015-12-07T20:02:47Z stassats: repeatedly? it doesn't catch everything in one pass? 2015-12-07T20:03:10Z stassats: or it avoids recursion? 2015-12-07T20:03:15Z nyef: It's not cheneygc, where newspace only grows from the top. 2015-12-07T20:03:33Z nyef: Repeatedly might be the wrong word. 2015-12-07T20:03:51Z nyef: Live objects get scanned once, after they've been moved to newspace. 2015-12-07T20:06:07Z stassats: and when are old space references fixed up? 2015-12-07T20:07:26Z lnostdal_ quit (Ping timeout: 240 seconds) 2015-12-07T20:09:18Z nyef: The scavenge() function fixes up forwarding pointers. 2015-12-07T20:10:04Z nyef: Also calls the various scav_whatever() functions, via scavtab, which in turn do at least some of the transport... At least, I think that's how it works. 2015-12-07T20:10:18Z stassats: a curiously named scavenge_pages_with_conservative_pointers_to_them_protected_objects_only 2015-12-07T20:10:32Z stassats: there's the _consi_ thing, and then there's is this 2015-12-07T20:10:46Z stassats: how do you like them protected objects? 2015-12-07T20:14:09Z nyef: It looks like someone tried to graft part of a mark/sweep collector on an already badly mangled generational copying collector. 2015-12-07T20:15:30Z nyef: So it doesn't work efficiently, and there's some very obvious scar tissue at the joints. 2015-12-07T20:16:10Z nyef: And then parts of it were done without a full understanding of the memory model, so there are things like that CONS-detector that we figured out yesterday. 2015-12-07T20:17:02Z lnostdal_ joined #sbcl 2015-12-07T20:18:47Z dougk2 quit (Ping timeout: 264 seconds) 2015-12-07T20:22:18Z stassats: looking at scavenge_pages_with_conservative_pointers_to_them_protected_objects_only 2015-12-07T20:22:47Z stassats: it tries to scavenge(scavme_begin, (begin + dword * 2) - scavme_begin); after the loop 2015-12-07T20:22:55Z stassats: is DWORD in a good shape after the loop? 2015-12-07T20:24:25Z nyef: Yes, it's GENCGC_CARD_BYTES / N_WORD_BYTES / 2. 2015-12-07T20:24:43Z sjl quit (Ping timeout: 250 seconds) 2015-12-07T20:24:43Z stassats: it could probably use a counter instead? 2015-12-07T20:24:53Z stassats: instead of the NULL busyness 2015-12-07T20:25:43Z nyef: Probably, but the tradeoff is probably pretty marginal. 2015-12-07T20:25:53Z stassats: clearer to understand 2015-12-07T20:25:59Z nyef: Fair enough. 2015-12-07T20:28:02Z sjl joined #sbcl 2015-12-07T20:29:00Z stassats: ok, otherwise it seems good 2015-12-07T20:30:41Z stassats: so, it modifies from_space_p to use in_dontmove_nativeptr_p 2015-12-07T20:33:22Z nyef: Right. That's graft-vs-host syndrome right there. 2015-12-07T20:33:45Z stassats: is there a differences between page_free_p(addr_page_index) and (page_table[addr_page_index].bytes_used == 0)? 2015-12-07T20:34:08Z nyef: Yes. 2015-12-07T20:34:23Z nyef: Open a new allocation region. 2015-12-07T20:34:23Z dougk2 joined #sbcl 2015-12-07T20:34:26Z lnostdal_ quit (Ping timeout: 240 seconds) 2015-12-07T20:34:51Z nyef: Your bytes_used is zero, but your allocated has OPEN_REGION_PAGE_FLAG. 2015-12-07T20:35:01Z nyef: (Possibly among other data.) 2015-12-07T20:36:12Z stassats: wouldn't it be filled with something right away? 2015-12-07T20:37:04Z nyef: Probably, but there's still that distinction to be made. 2015-12-07T20:37:24Z stassats: it wasn't done in the past 2015-12-07T20:37:27Z nyef: Actually, IIRC, bytes_used doesn't get updated until the region gets closed. 2015-12-07T20:37:47Z stassats: looked over the changes, nothing leaps at me 2015-12-07T20:37:53Z stassats: except for that bytes_used thing 2015-12-07T20:39:25Z nyef: Yeah, so either its a subtle thing, or it's somewhere else. 2015-12-07T20:45:03Z stassats: are regions closed before gcing? 2015-12-07T20:46:25Z nyef: Yes, see gc_alloc_update_all_page_tables(), and gc_alloc_update_page_tables(). 2015-12-07T20:46:53Z nyef: It's pretty much the first step in a GC cycle. 2015-12-07T20:48:15Z stassats: ok, good then 2015-12-07T20:48:38Z stassats: so, nothing obvious besides suboptimialities 2015-12-07T20:48:51Z lnostdal_ joined #sbcl 2015-12-07T20:49:07Z stassats: looking for other gc changes 2015-12-07T20:50:14Z nyef: That's basically the conclusion I came to: It's not looking like a _recent_ GC thing, meaning either not a GC thing, not recent, or very subtle. 2015-12-07T20:52:29Z stassats: or all of the above 2015-12-07T20:54:58Z nyef: Yes, just that we've now both investigated the space of recent GC things, and for us both to miss an issue with them it would have to be very subtle. 2015-12-07T20:57:13Z stassats: maybe this is interleaved struct slots? 2015-12-07T21:00:31Z nyef: Easy enough to disable, if we have a way to trigger the issue to verify. 2015-12-07T21:00:37Z stassats: some objects may be scavenged twice? 2015-12-07T21:00:46Z stassats: well, that's the problem 2015-12-07T21:01:06Z stassats: only one person reported the problem 2015-12-07T21:01:16Z stassats: and no luck in replicating it 2015-12-07T21:01:42Z stassats: interleaved slots would fall apart pretty quickly, i imagine 2015-12-07T21:02:04Z stassats: if we had a test cases, we could bisect 2015-12-07T21:04:26Z dougk2 quit (Ping timeout: 240 seconds) 2015-12-07T21:04:39Z stassats: if room stumbles on #x72, then it means it's 32-bit too? i haven't tried on 32-bit linux 2015-12-07T21:06:02Z nyef: I think that we have to presume that, otherwise it falls into either the FIXNUM case, or the someone-hacked-N-FIXNUM-TAG-BITS case. 2015-12-07T21:07:37Z stassats: will retry the test case on x86 2015-12-07T21:10:03Z stassats: mmap: Cannot allocate memory [2015-12-08 00:09:39 [ERROR]] Error while creating worker thread for new incoming connection: Could not create a new thread. 2015-12-07T21:10:10Z stassats: that was short lived 2015-12-07T21:10:43Z nyef quit (Ping timeout: 260 seconds) 2015-12-07T21:10:55Z stassats: huh, it did seem to deadlock though 2015-12-07T21:12:12Z stassats: reduced dynamic-space-size for threads to have some breathing room 2015-12-07T21:18:09Z stassats: nothing in the c part of interleaved slots is notable 2015-12-07T21:18:34Z stassats: i also have this inlining thing to deal with 2015-12-07T21:19:27Z stassats: i can hang the x86 test case with some liberal application of C-c C-c 2015-12-07T21:20:28Z stassats: a bona fide deadlock, all threads are in futex_wait 2015-12-07T21:22:55Z sjl quit (Read error: Connection reset by peer) 2015-12-07T21:23:33Z stassats: SB-THREAD::%EXIT-OTHER-THREADS 2015-12-07T21:23:36Z stassats: i think i know that guy 2015-12-07T21:24:45Z sjl joined #sbcl 2015-12-07T21:25:24Z nyef joined #sbcl 2015-12-07T21:26:52Z stassats: anyway, no luck 2015-12-07T21:28:51Z stassats: will leave it running 2015-12-07T21:29:10Z stassats: it raises cpu temperature to 72°C 2015-12-07T21:39:28Z gingerale quit (Remote host closed the connection) 2015-12-07T21:48:31Z stassats quit (Ping timeout: 260 seconds) 2015-12-07T21:53:34Z angavrilov quit (Remote host closed the connection) 2015-12-07T21:55:30Z stassats joined #sbcl 2015-12-07T22:00:00Z stassats quit (Ping timeout: 256 seconds) 2015-12-07T22:00:57Z stassats joined #sbcl 2015-12-07T22:03:23Z psilord quit (Quit: Leaving.) 2015-12-07T22:12:26Z sjl quit (Ping timeout: 240 seconds) 2015-12-07T22:17:14Z sjl joined #sbcl 2015-12-07T22:31:48Z dougk2 joined #sbcl 2015-12-07T22:32:18Z nyef quit (Ping timeout: 256 seconds) 2015-12-07T22:36:13Z nyef joined #sbcl 2015-12-07T22:40:48Z sjl quit (Ping timeout: 256 seconds) 2015-12-07T22:41:24Z sjl joined #sbcl 2015-12-07T22:45:44Z sjl quit (Read error: Connection reset by peer) 2015-12-07T22:47:12Z karswell joined #sbcl 2015-12-07T22:52:26Z dougk2 quit (Ping timeout: 240 seconds) 2015-12-07T22:58:07Z krzysz00 joined #sbcl 2015-12-07T23:02:16Z scymtym quit (Ping timeout: 272 seconds) 2015-12-07T23:12:06Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-12-07T23:13:43Z psilord joined #sbcl 2015-12-07T23:31:27Z prxq quit (Remote host closed the connection) 2015-12-07T23:37:26Z eudoxia quit (Quit: Leaving) 2015-12-07T23:38:56Z mordocai quit (Remote host closed the connection) 2015-12-07T23:42:10Z stassats quit (Ping timeout: 272 seconds) 2015-12-07T23:45:21Z lnostdal_ quit (Ping timeout: 250 seconds) 2015-12-07T23:52:18Z npatrick04 quit (Remote host closed the connection) 2015-12-07T23:59:51Z lnostdal_ joined #sbcl 2015-12-08T00:06:54Z |3b| joined #sbcl 2015-12-08T00:42:33Z dougk2 joined #sbcl 2015-12-08T01:33:41Z dougk2 quit (Ping timeout: 250 seconds) 2015-12-08T01:37:38Z dougk2 joined #sbcl 2015-12-08T02:16:42Z lnostdal_ quit (Ping timeout: 272 seconds) 2015-12-08T02:41:26Z lnostdal_ joined #sbcl 2015-12-08T03:03:59Z christoph_d quit (Ping timeout: 260 seconds) 2015-12-08T03:29:55Z ZabaQ joined #sbcl 2015-12-08T04:12:18Z dougk2 quit (Ping timeout: 256 seconds) 2015-12-08T04:12:57Z dougk2 joined #sbcl 2015-12-08T04:40:54Z lnostdal__ joined #sbcl 2015-12-08T04:43:00Z lnostdal_ quit (Ping timeout: 272 seconds) 2015-12-08T04:50:09Z christoph_d joined #sbcl 2015-12-08T05:01:26Z dougk2 quit (Ping timeout: 240 seconds) 2015-12-08T05:33:46Z ZabaQ quit (Ping timeout: 240 seconds) 2015-12-08T05:35:29Z karswell quit (Read error: Connection reset by peer) 2015-12-08T05:50:26Z lnostdal__ quit (Ping timeout: 240 seconds) 2015-12-08T06:03:23Z lnostdal__ joined #sbcl 2015-12-08T06:08:20Z dougk2 joined #sbcl 2015-12-08T06:11:52Z lnostdal__ quit (Ping timeout: 256 seconds) 2015-12-08T06:12:26Z dougk2 quit (Ping timeout: 240 seconds) 2015-12-08T06:20:32Z sigjuice quit (Quit: ZNC - http://znc.in) 2015-12-08T06:21:15Z sigjuice joined #sbcl 2015-12-08T06:22:02Z lnostdal__ joined #sbcl 2015-12-08T06:22:28Z dougk2 joined #sbcl 2015-12-08T06:55:26Z dougk2 quit (Ping timeout: 240 seconds) 2015-12-08T08:11:55Z clique joined #sbcl 2015-12-08T08:12:17Z clique left #sbcl 2015-12-08T08:12:36Z stassats joined #sbcl 2015-12-08T08:17:39Z stassats: dougk_: type inference for make-list doesn't happen because it's a source transform, as opposed to deftransform 2015-12-08T08:30:49Z Cymew joined #sbcl 2015-12-08T08:36:39Z clique joined #sbcl 2015-12-08T08:44:58Z angavrilov joined #sbcl 2015-12-08T08:59:02Z stassats quit (Ping timeout: 256 seconds) 2015-12-08T09:01:35Z stassats joined #sbcl 2015-12-08T09:06:05Z stassats quit (Ping timeout: 250 seconds) 2015-12-08T09:06:32Z stassats joined #sbcl 2015-12-08T10:32:36Z ASau quit (Ping timeout: 272 seconds) 2015-12-08T10:52:25Z clique quit (Ping timeout: 252 seconds) 2015-12-08T11:34:58Z Bike quit (Ping timeout: 260 seconds) 2015-12-08T11:35:21Z Bike joined #sbcl 2015-12-08T12:27:52Z pkhuong joined #sbcl 2015-12-08T12:31:40Z stassats quit (Ping timeout: 272 seconds) 2015-12-08T12:33:11Z stassats joined #sbcl 2015-12-08T12:37:18Z dougk2 joined #sbcl 2015-12-08T12:37:26Z stassats quit (Ping timeout: 240 seconds) 2015-12-08T12:39:11Z stassats joined #sbcl 2015-12-08T13:11:26Z lnostdal__ quit (Ping timeout: 240 seconds) 2015-12-08T13:12:50Z DGASAU quit (Ping timeout: 272 seconds) 2015-12-08T13:14:44Z DGASAU joined #sbcl 2015-12-08T13:20:26Z DGASAU quit (Ping timeout: 272 seconds) 2015-12-08T13:32:18Z DGASAU joined #sbcl 2015-12-08T13:58:29Z sjl joined #sbcl 2015-12-08T14:10:41Z psilord quit (Quit: Leaving.) 2015-12-08T14:23:02Z lnostdal joined #sbcl 2015-12-08T14:24:24Z dougk2 quit (Ping timeout: 272 seconds) 2015-12-08T15:01:02Z eudoxia joined #sbcl 2015-12-08T15:02:02Z stassats: fixed a couple of problems in allocate-list-on-heap 2015-12-08T15:02:11Z stassats: but stumbled on something silly 2015-12-08T15:03:12Z stassats: (make-list (expt 2 28)) returns (0 . 0) 2015-12-08T15:11:20Z nyef: ... is this new, or pre-existing? 2015-12-08T15:11:38Z eudoxia quit (Quit: Leaving) 2015-12-08T15:14:53Z stassats: the vop is new 2015-12-08T15:15:47Z nyef: Is the silliness also new? 2015-12-08T15:16:13Z stassats: i presume so, it's coming from the vop 2015-12-08T15:19:05Z psilord joined #sbcl 2015-12-08T15:19:47Z stassats: and it doesn't make any sense! maybe i should step in gdb 2015-12-08T15:21:44Z stassats: gdb doesn't know about allocate_tramp 2015-12-08T15:24:01Z stassats: connected to a 32-bit sbcl 2015-12-08T15:27:31Z stassats: luis: i think slime is due for a release, is there some kind of a testing phase? 2015-12-08T15:27:47Z stassats: nobody will test anyhow 2015-12-08T15:29:20Z stassats: actually, (make-list 2^28) doesn't always return 0 . 0 2015-12-08T15:29:43Z stassats: after some deliberation it returns (# . 31) 2015-12-08T15:30:36Z sjl quit (Ping timeout: 256 seconds) 2015-12-08T15:31:46Z Cymew: For me it gives me the merry facy of ldb after exhausting the heap 2015-12-08T15:31:46Z minion: Cymew, memo from pjb: learn and write a few programs in Modula-2 (then you'll remember about uppercase symbols). Also useful: (setf *print-case* :downcase) ; but this breaks some bad libraries… 2015-12-08T15:32:13Z stassats: Cymew: you need to have some RAM to go around 2015-12-08T15:32:27Z Cymew: Looks like it 2015-12-08T15:32:56Z stassats: that's just 4GB 2015-12-08T15:33:25Z joshe joined #sbcl 2015-12-08T15:33:28Z stassats: for 2²⁸ 2015-12-08T15:33:47Z sjl joined #sbcl 2015-12-08T15:33:58Z Cymew: I own multiple machines, and only one have more than 4GB, and it's not my work computer either... 2015-12-08T15:34:16Z Cymew: Retarded, I know. 2015-12-08T15:36:04Z stassats: nyef: those are large objects, something is fishy going on at least with the (# . 31) result 2015-12-08T15:36:26Z stassats: that's supposed to be zeroed 2015-12-08T15:36:37Z nyef: 32 or 64? 2015-12-08T15:36:44Z stassats: 64 2015-12-08T15:36:49Z stassats: hard to create 4GB lists on 32 2015-12-08T15:36:57Z nyef: Right. Hrm. 2015-12-08T15:37:44Z stassats: doing some stepping now 2015-12-08T15:38:00Z stassats: i can see some address overflows 2015-12-08T15:38:05Z stassats: but not really 2015-12-08T15:38:25Z stassats: i don't see address overflows, but they would explain the behaviour, that is 2015-12-08T15:40:35Z stassats: mov rdi,QWORD PTR [rbp+0x10] => rdi = 272 2015-12-08T15:40:36Z stassats: what? 2015-12-08T15:41:32Z stassats: that's for (expt 2 28) 2015-12-08T15:42:02Z stassats: ok, that may be a false call to alloc_tramp 2015-12-08T15:43:02Z stassats: doing call backtrace_from_fp ($rbp,100,0), it comes from COMPILE-IN-LEXENV 2015-12-08T15:43:13Z stassats: since when is (fun (expt 2 28)) compiled? 2015-12-08T15:43:34Z nyef: Is it? 2015-12-08T15:43:51Z stassats: well, yeah 2015-12-08T15:44:03Z stassats: oh wait, fun is undefined 2015-12-08T15:44:23Z zacts quit (Read error: Connection reset by peer) 2015-12-08T15:45:02Z stassats: rdi 0x100000000 4294967296 2015-12-08T15:45:04Z stassats: that's better 2015-12-08T15:45:34Z stassats: alloc(long nbytes) 2015-12-08T15:45:41Z stassats: how well does that work on 64-bit windows? 2015-12-08T15:46:20Z stassats: just above general_alloc(sword_t nbytes 2015-12-08T15:46:33Z stassats: i better write that down to check on windows 2015-12-08T15:46:50Z zacts joined #sbcl 2015-12-08T15:47:21Z zacts is now known as Guest24432 2015-12-08T15:50:03Z stassats: os_vm_size_t large_allocation = 0; 2015-12-08T15:50:25Z stassats: typedef size_t os_vm_size_t; 2015-12-08T15:50:32Z stassats: which is unsigned 2015-12-08T15:51:02Z stassats: but that's only negative 32 bits 2015-12-08T15:51:22Z Guest24432 quit (Client Quit) 2015-12-08T15:54:57Z stassats: there's some amount of clashes with size_t and sword_t 2015-12-08T15:58:42Z gingerale joined #sbcl 2015-12-08T16:00:59Z psy_ joined #sbcl 2015-12-08T16:01:28Z psy_ quit (Max SendQ exceeded) 2015-12-08T16:01:53Z psy_ joined #sbcl 2015-12-08T16:04:16Z stassats: starting a fresh sbcl, it returns (a few ones .... 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 . 0) 2015-12-08T16:04:27Z stassats: not 2^28 ones, that's for sure 2015-12-08T16:08:34Z Cymew quit (Ping timeout: 256 seconds) 2015-12-08T16:14:30Z Cymew joined #sbcl 2015-12-08T16:24:11Z psy_ quit (Ping timeout: 250 seconds) 2015-12-08T16:25:59Z dougk2 joined #sbcl 2015-12-08T16:30:54Z sjl quit (Read error: Connection reset by peer) 2015-12-08T16:30:58Z stassats: ok, after stepping i see a proper allocated list 2015-12-08T16:31:05Z stassats: but PAI is set 2015-12-08T16:32:01Z sjl joined #sbcl 2015-12-08T16:32:01Z stassats: apparently something goes very wrong after PAI is serviced 2015-12-08T16:32:24Z prxq joined #sbcl 2015-12-08T16:36:34Z stassats: that's where the trail gets cold 2015-12-08T16:39:34Z nyef: Is there a tagged pointer to the list head in the register set? 2015-12-08T16:39:44Z nyef: Or on the stack? 2015-12-08T16:39:55Z stassats: sure 2015-12-08T16:40:06Z nyef: Hrm. 2015-12-08T16:40:46Z dougk2 quit (Ping timeout: 240 seconds) 2015-12-08T16:42:05Z stassats: to recap, it is a large object, filled with conses 2015-12-08T16:42:14Z stassats: nothing of the sort seem to happen with vectors 2015-12-08T16:44:04Z stassats: only the first cons really pinned 2015-12-08T16:44:19Z nyef: Oh, shit! 2015-12-08T16:44:24Z nyef: It's in a large-object page?!? 2015-12-08T16:44:57Z nyef: large-object pages don't contain conses. 2015-12-08T16:45:05Z nyef: It's Not Allowed. 2015-12-08T16:45:38Z nyef: In fact, large-object pages are only permitted to contain a SINGLE object. 2015-12-08T16:46:02Z stassats: ok, there you go then 2015-12-08T16:46:05Z stassats: and, oops 2015-12-08T16:46:21Z stassats: that make-list as a vop is not going to work 2015-12-08T16:47:12Z nyef: Have a look at possibly_valid_dynamic_space_pointer_s(). 2015-12-08T16:48:18Z nyef: You can still do it as a VOP, but you have to make sure that the allocations are small enough that they don't end up in large-object pages. 2015-12-08T16:48:21Z stassats: unless it only made to work on small objects 2015-12-08T16:48:53Z stassats: nyef: it's hard to bail out to a full call to make-list from a vop 2015-12-08T16:49:42Z stassats: ok, i think the idea was to achieve make-list dx allocation, that works 2015-12-08T16:49:55Z stassats: i think i'll just rip out the heap vop for now 2015-12-08T16:50:13Z stassats: it probably can be an assembly-routine anyway 2015-12-08T16:50:21Z stassats: should be, rather 2015-12-08T16:52:52Z nyef: Yeah, an assembly-routine is probably sanest. 2015-12-08T16:53:54Z Cymew quit (Ping timeout: 256 seconds) 2015-12-08T16:57:16Z scymtym joined #sbcl 2015-12-08T16:57:44Z dougk2 joined #sbcl 2015-12-08T16:58:17Z stassats: just removing allocate-list-on-heap doesn't work, since it wants both variants 2015-12-08T16:58:20Z stassats: for ltn-annotate 2015-12-08T16:58:29Z sjl quit (Read error: Connection reset by peer) 2015-12-08T16:59:16Z sjl joined #sbcl 2015-12-08T17:01:08Z stassats: so i guess now would be the time to translate it into a asm-routine 2015-12-08T17:01:11Z psy_ joined #sbcl 2015-12-08T17:02:02Z nyef: Can you have the ltn-annotate routine decline if it's not being stack-allocated? 2015-12-08T17:02:16Z stassats: i tried doing nothing 2015-12-08T17:02:21Z stassats: it doesn't like nothing for a template 2015-12-08T17:02:32Z nyef: Hrm. 2015-12-08T17:04:27Z stassats: see ltn-analyze-known-call 2015-12-08T17:04:37Z nyef: It should be possible to make it work, but you end up duplicating half of LTN-ANALYZE-KNOWN-CALL in doing so, yes. 2015-12-08T17:07:06Z krzysz00 quit (Ping timeout: 240 seconds) 2015-12-08T17:07:14Z nyef: Wait... 2015-12-08T17:07:42Z nyef: LTN-DEFAULT-CALL? 2015-12-08T17:07:45Z stassats: can return a sentinel 2015-12-08T17:08:41Z stassats: ltn-analyze-known-call calls ltn-default-call 2015-12-08T17:09:01Z stassats: or, give-up-ltn-analyze 2015-12-08T17:09:01Z nyef: Right, but also have a look at (allocate-vector ltn-annotate). 2015-12-08T17:09:28Z nyef: The bit about is-okay-template-use. 2015-12-08T17:10:13Z stassats: ok, i can do that 2015-12-08T17:10:20Z sjl quit (Ping timeout: 256 seconds) 2015-12-08T17:12:32Z stassats: ok, done that 2015-12-08T17:12:52Z stassats: i won't remove the vop just yet, only its invocation 2015-12-08T17:13:56Z mordocai joined #sbcl 2015-12-08T17:17:30Z nyef: So, next, you can put a constraint so that the VOP still gets used if it's a constant size less than the large-object threshold. 2015-12-08T17:19:49Z stassats: i'll just mail the details to douglas 2015-12-08T17:21:02Z stassats: i'm going for correctness right now, not for performance 2015-12-08T17:23:18Z stassats: know what, i only see marginal difference with a full call 2015-12-08T17:25:34Z stassats: it's measurable, but nothing to write home about 2015-12-08T17:25:57Z _iwc joined #sbcl 2015-12-08T17:27:26Z lnostdal quit (Ping timeout: 240 seconds) 2015-12-08T17:30:12Z stassats: 30% faster on 8191-long lists, 20% on 3-long lists 2015-12-08T17:30:28Z stassats: not really worth it 2015-12-08T17:31:04Z stassats: maybe if it unrolled the loop 2015-12-08T17:31:31Z stassats: even more complicated and prone to bugs 2015-12-08T17:33:54Z stassats: stack allocating from make-list is a better goal 2015-12-08T17:40:13Z lnostdal joined #sbcl 2015-12-08T17:54:02Z stassats quit (Ping timeout: 272 seconds) 2015-12-08T17:54:54Z stassats joined #sbcl 2015-12-08T17:59:05Z stassats quit (Ping timeout: 250 seconds) 2015-12-08T18:00:24Z stassats joined #sbcl 2015-12-08T18:07:07Z sjl joined #sbcl 2015-12-08T18:07:46Z DGASAU quit (Ping timeout: 240 seconds) 2015-12-08T18:11:29Z DGASAU joined #sbcl 2015-12-08T18:11:46Z sjl quit (Ping timeout: 272 seconds) 2015-12-08T18:12:22Z eudoxia joined #sbcl 2015-12-08T18:28:14Z karswell joined #sbcl 2015-12-08T18:30:04Z stassats: nyef: what would it take to make conses work as large objects? 2015-12-08T18:33:04Z nyef: I don't think that that's the right question to ask. 2015-12-08T18:34:27Z nyef: Specifically, large-object pages have certain semantics that really shouldn't apply to conses. 2015-12-08T18:35:07Z nyef: So, a better question is, how can we allocate that much contiguous space without having the large-object flag set on the pages? 2015-12-08T18:35:18Z eudoxia quit (Quit: Leaving) 2015-12-08T18:36:40Z nyef: And then we turn around and say "but wait, there's no real need for it to be contiguous space, that just puts a requirement for a large free-space area that simply isn't required by the structure of the data being stored". 2015-12-08T18:38:01Z Bicyclidine joined #sbcl 2015-12-08T18:39:33Z psilord quit (Quit: Leaving.) 2015-12-08T18:47:20Z karswell quit (Read error: Connection reset by peer) 2015-12-08T18:47:32Z karswell joined #sbcl 2015-12-08T18:58:53Z lnostdal quit (Ping timeout: 250 seconds) 2015-12-08T19:15:51Z krzysz00 joined #sbcl 2015-12-08T19:27:22Z lnostdal joined #sbcl 2015-12-08T19:27:54Z stassats: conses will get contiguous on the next gc, if they survive, so, yeah 2015-12-08T19:28:19Z stassats: and already a simple lisp version is only 30% slower 2015-12-08T19:28:56Z stassats: maybe unrolling the initialization step could bring a bigger improvement 2015-12-08T19:29:46Z clique joined #sbcl 2015-12-08T19:32:11Z stassats: not parsing &key initial-element is already a win 2015-12-08T19:52:55Z clique quit (Quit: Page closed) 2015-12-08T19:53:29Z Bicyclidine quit (Ping timeout: 250 seconds) 2015-12-08T20:00:54Z lnostdal quit (Ping timeout: 256 seconds) 2015-12-08T20:10:26Z Bicyclidine joined #sbcl 2015-12-08T20:13:57Z lnostdal joined #sbcl 2015-12-08T20:19:27Z psilord joined #sbcl 2015-12-08T20:25:06Z stassats: as Douglas pointed out, (LIST x ... x) has the same problem 2015-12-08T20:25:17Z stassats: i finally OAOOed large-object-size between lisp and C 2015-12-08T20:25:28Z stassats: and disallowed the LIST VOP based on it 2015-12-08T20:25:35Z nyef: Hrm. It's actually a GC tuning parameter, isn't it? 2015-12-08T20:26:11Z stassats: can't tune without recompiling 2015-12-08T20:26:24Z stassats: on x86-64 it's hard coded 2015-12-08T20:26:44Z nyef: Yes, I know, but still, it's a tuning parameter. 2015-12-08T20:26:59Z stassats: could tune on the C side at runtime, but then it'll bring havoc to the lisp side 2015-12-08T20:28:32Z stassats: nyef: well, yes, gc operation doesn't depend on its value 2015-12-08T20:28:40Z stassats: so, it is tuning 2015-12-08T20:29:47Z stassats: also (make-sequence 'list ..) was horrible, transformed it too 2015-12-08T20:29:55Z stassats: full call is still terrible 2015-12-08T20:30:15Z stassats: could use some map love for quickly picking up LIST, but it's not as important as for map 2015-12-08T20:32:18Z stassats: or some monster like SB-IMPL::%VECTOR-WIDETAG-AND-N-BITS 2015-12-08T20:32:24Z stassats: perhaps that can be generalized 2015-12-08T20:32:50Z stassats: i'm not rushing to do that, though 2015-12-08T20:33:00Z stassats: i've had enough of %VECTOR-WIDETAG-AND-N-BITS 2015-12-08T20:38:06Z dougk2 quit (Ping timeout: 240 seconds) 2015-12-08T20:43:52Z gingerale quit (Read error: Connection reset by peer) 2015-12-08T20:45:50Z attila_lendvai joined #sbcl 2015-12-08T20:45:50Z attila_lendvai quit (Changing host) 2015-12-08T20:45:50Z attila_lendvai joined #sbcl 2015-12-08T20:49:04Z krzysz00 quit (Ping timeout: 256 seconds) 2015-12-08T20:54:56Z krzysz00 joined #sbcl 2015-12-08T21:00:12Z sjl joined #sbcl 2015-12-08T21:01:02Z karswell quit (Remote host closed the connection) 2015-12-08T21:01:18Z karswell joined #sbcl 2015-12-08T21:02:06Z psilord quit (Ping timeout: 256 seconds) 2015-12-08T21:18:16Z psilord joined #sbcl 2015-12-08T21:21:46Z lnostdal quit (Ping timeout: 240 seconds) 2015-12-08T21:23:12Z ASau joined #sbcl 2015-12-08T21:26:24Z dougk2 joined #sbcl 2015-12-08T21:30:16Z edgar-rft quit (Quit: edgar-rft) 2015-12-08T21:33:50Z krzysz00 quit (Ping timeout: 256 seconds) 2015-12-08T21:36:36Z lnostdal joined #sbcl 2015-12-08T21:45:01Z eudoxia joined #sbcl 2015-12-08T21:55:04Z karswell quit (Read error: Connection reset by peer) 2015-12-08T21:55:16Z karswell joined #sbcl 2015-12-08T21:56:46Z karswell quit (Remote host closed the connection) 2015-12-08T21:57:02Z karswell joined #sbcl 2015-12-08T22:04:46Z lnostdal quit (Ping timeout: 240 seconds) 2015-12-08T22:07:21Z krzysz00 joined #sbcl 2015-12-08T22:07:27Z kanru joined #sbcl 2015-12-08T22:23:58Z lnostdal joined #sbcl 2015-12-08T22:31:25Z prxq quit (Remote host closed the connection) 2015-12-08T22:56:36Z psilord quit (Quit: Leaving.) 2015-12-08T23:00:38Z angavrilov quit (Remote host closed the connection) 2015-12-08T23:19:45Z krzysz00 quit (Ping timeout: 250 seconds) 2015-12-08T23:26:39Z eudoxia_ joined #sbcl 2015-12-08T23:30:58Z eudoxia quit (Ping timeout: 272 seconds) 2015-12-08T23:31:42Z kanru quit (Ping timeout: 256 seconds) 2015-12-08T23:36:02Z stassats quit (Ping timeout: 272 seconds) 2015-12-08T23:38:34Z sjl quit (Ping timeout: 272 seconds) 2015-12-08T23:41:21Z sjl joined #sbcl 2015-12-08T23:41:25Z scymtym quit (Ping timeout: 250 seconds) 2015-12-08T23:42:04Z eudoxia_ quit (Quit: Leaving) 2015-12-08T23:48:30Z krzysz00 joined #sbcl 2015-12-08T23:51:47Z dougk2 quit (Ping timeout: 264 seconds) 2015-12-08T23:54:04Z psilord joined #sbcl 2015-12-08T23:56:46Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-12-08T23:57:04Z mordocai quit (Remote host closed the connection) 2015-12-09T00:04:11Z eudoxia joined #sbcl 2015-12-09T00:14:06Z krzysz00 quit (Ping timeout: 240 seconds) 2015-12-09T00:14:32Z sjl quit (Quit: WeeChat 1.3) 2015-12-09T00:15:43Z dougk2 joined #sbcl 2015-12-09T00:22:26Z nyef quit (Ping timeout: 240 seconds) 2015-12-09T00:23:43Z nyef joined #sbcl 2015-12-09T00:49:59Z Bicyclidine quit (Quit: leaving) 2015-12-09T00:55:19Z karswell quit (Read error: Connection reset by peer) 2015-12-09T01:06:06Z lnostdal quit (Ping timeout: 240 seconds) 2015-12-09T01:21:01Z lnostdal joined #sbcl 2015-12-09T01:36:11Z krzysz00 joined #sbcl 2015-12-09T02:31:48Z zacts joined #sbcl 2015-12-09T02:33:06Z lnostdal quit (Ping timeout: 240 seconds) 2015-12-09T02:45:16Z karswell joined #sbcl 2015-12-09T02:45:29Z lnostdal joined #sbcl 2015-12-09T02:49:26Z dougk2 quit (Ping timeout: 240 seconds) 2015-12-09T02:52:18Z nyef quit (Ping timeout: 256 seconds) 2015-12-09T03:04:40Z nyef joined #sbcl 2015-12-09T03:07:42Z eudoxia quit (Quit: Leaving) 2015-12-09T03:31:38Z lnostdal quit (Ping timeout: 272 seconds) 2015-12-09T03:45:56Z lnostdal joined #sbcl 2015-12-09T04:12:53Z eudoxia joined #sbcl 2015-12-09T04:28:47Z dougk2 joined #sbcl 2015-12-09T04:39:24Z psy_ quit (Ping timeout: 256 seconds) 2015-12-09T06:27:26Z eudoxia left #sbcl 2015-12-09T07:14:07Z nikki93 joined #sbcl 2015-12-09T07:23:42Z edgar-rft joined #sbcl 2015-12-09T08:10:05Z edgar-rft quit (Quit: edgar-rft) 2015-12-09T08:13:15Z angavrilov joined #sbcl 2015-12-09T08:20:18Z stassats joined #sbcl 2015-12-09T08:30:06Z Shinmera joined #sbcl 2015-12-09T08:33:24Z Cymew joined #sbcl 2015-12-09T09:40:14Z ASau quit (Ping timeout: 272 seconds) 2015-12-09T10:38:52Z sjl joined #sbcl 2015-12-09T10:41:22Z phcrist quit (Quit: leaving) 2015-12-09T10:42:05Z pchrist joined #sbcl 2015-12-09T11:16:05Z attila_lendvai joined #sbcl 2015-12-09T11:16:05Z attila_lendvai quit (Changing host) 2015-12-09T11:16:06Z attila_lendvai joined #sbcl 2015-12-09T11:22:48Z edgar-rft joined #sbcl 2015-12-09T12:21:14Z sjl quit (Ping timeout: 256 seconds) 2015-12-09T12:50:04Z sjl joined #sbcl 2015-12-09T13:18:28Z stassats quit (Ping timeout: 256 seconds) 2015-12-09T13:22:37Z sjl_ joined #sbcl 2015-12-09T13:25:11Z sjl quit (Ping timeout: 250 seconds) 2015-12-09T13:53:02Z lnostdal quit (Ping timeout: 256 seconds) 2015-12-09T13:57:45Z sjl_ is now known as sjl 2015-12-09T14:18:01Z sjl quit (Quit: WeeChat 1.3) 2015-12-09T14:18:06Z dougk2 quit (Ping timeout: 240 seconds) 2015-12-09T14:19:41Z sjl joined #sbcl 2015-12-09T14:19:52Z lnostdal joined #sbcl 2015-12-09T14:19:58Z stassats joined #sbcl 2015-12-09T14:35:47Z Quadrescence quit (Ping timeout: 246 seconds) 2015-12-09T14:38:46Z stassats quit (Ping timeout: 240 seconds) 2015-12-09T15:36:45Z dougk2 joined #sbcl 2015-12-09T15:37:04Z karswell quit (Read error: Connection reset by peer) 2015-12-09T15:37:17Z karswell joined #sbcl 2015-12-09T15:51:04Z eudoxia joined #sbcl 2015-12-09T15:52:03Z karswell quit (Read error: Connection reset by peer) 2015-12-09T15:52:16Z karswell joined #sbcl 2015-12-09T15:54:32Z lnostdal quit (Ping timeout: 272 seconds) 2015-12-09T16:02:19Z lnostdal joined #sbcl 2015-12-09T16:11:35Z dougk2 quit (Ping timeout: 250 seconds) 2015-12-09T16:15:37Z psy_ joined #sbcl 2015-12-09T16:16:11Z psy_ quit (Max SendQ exceeded) 2015-12-09T16:16:45Z psy_ joined #sbcl 2015-12-09T16:16:55Z dougk2 joined #sbcl 2015-12-09T16:21:47Z dougk2 quit (Ping timeout: 264 seconds) 2015-12-09T16:22:26Z duikboot joined #sbcl 2015-12-09T16:35:21Z scymtym joined #sbcl 2015-12-09T16:37:29Z mordocai joined #sbcl 2015-12-09T16:38:56Z lnostdal_ joined #sbcl 2015-12-09T16:43:03Z prxq joined #sbcl 2015-12-09T16:43:18Z lnostdal quit (Ping timeout: 272 seconds) 2015-12-09T16:45:23Z mordocai quit (Changing host) 2015-12-09T16:45:24Z mordocai joined #sbcl 2015-12-09T17:28:41Z Cymew quit (Quit: Konversation terminated!) 2015-12-09T17:28:53Z Cymew joined #sbcl 2015-12-09T17:29:06Z Cymew quit (Client Quit) 2015-12-09T17:36:26Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-12-09T17:37:21Z attila_lendvai joined #sbcl 2015-12-09T17:37:21Z attila_lendvai quit (Changing host) 2015-12-09T17:37:21Z attila_lendvai joined #sbcl 2015-12-09T17:39:59Z dougk2 joined #sbcl 2015-12-09T17:40:02Z eudoxia quit (Quit: Leaving) 2015-12-09T17:41:07Z gingerale joined #sbcl 2015-12-09T17:50:23Z duikboot quit (Ping timeout: 250 seconds) 2015-12-09T17:56:46Z dougk2 quit (Ping timeout: 240 seconds) 2015-12-09T17:58:24Z sjl quit (Ping timeout: 256 seconds) 2015-12-09T18:11:09Z dougk2 joined #sbcl 2015-12-09T18:21:47Z karswell` joined #sbcl 2015-12-09T18:23:33Z karswell quit (Read error: Connection reset by peer) 2015-12-09T18:35:28Z karswell` quit (Read error: Connection reset by peer) 2015-12-09T19:18:46Z duikboot joined #sbcl 2015-12-09T19:22:59Z dougk2 quit (Ping timeout: 264 seconds) 2015-12-09T19:31:29Z dougk2 joined #sbcl 2015-12-09T19:41:32Z stassats joined #sbcl 2015-12-09T19:49:07Z duikboot quit (Ping timeout: 250 seconds) 2015-12-09T20:04:19Z adhoc quit (Ping timeout: 245 seconds) 2015-12-09T20:06:25Z adhoc joined #sbcl 2015-12-09T20:07:26Z dougk2 quit (Ping timeout: 240 seconds) 2015-12-09T20:16:31Z sjl joined #sbcl 2015-12-09T20:23:33Z gingerale quit (Remote host closed the connection) 2015-12-09T20:41:51Z zacts quit (Quit: leaving) 2015-12-09T20:50:24Z dougk2 joined #sbcl 2015-12-09T20:52:44Z duikboot joined #sbcl 2015-12-09T21:04:05Z dougk2 quit (Ping timeout: 250 seconds) 2015-12-09T21:22:26Z sjl quit (Ping timeout: 240 seconds) 2015-12-09T21:32:08Z dougk2 joined #sbcl 2015-12-09T21:32:26Z prxq quit (Ping timeout: 240 seconds) 2015-12-09T21:36:03Z ASau joined #sbcl 2015-12-09T21:36:06Z dougk2 quit (Ping timeout: 240 seconds) 2015-12-09T21:37:55Z eudoxia joined #sbcl 2015-12-09T21:45:32Z krzysz00 quit (Remote host closed the connection) 2015-12-09T21:56:14Z dougk2 joined #sbcl 2015-12-09T21:56:31Z dougk_ quit (Ping timeout: 250 seconds) 2015-12-09T21:57:12Z foom quit (Ping timeout: 264 seconds) 2015-12-09T22:09:36Z eudoxia quit (Quit: Leaving) 2015-12-09T22:10:35Z foom joined #sbcl 2015-12-09T22:11:13Z dougk_ joined #sbcl 2015-12-09T22:16:01Z duikboot quit (Ping timeout: 250 seconds) 2015-12-09T22:18:55Z sjl joined #sbcl 2015-12-09T22:25:30Z Bicyclidine joined #sbcl 2015-12-09T22:52:32Z scymtym quit (Ping timeout: 272 seconds) 2015-12-09T22:55:23Z dougk2 quit (Ping timeout: 264 seconds) 2015-12-09T22:55:57Z dougk2 joined #sbcl 2015-12-09T23:01:48Z angavrilov quit (Remote host closed the connection) 2015-12-09T23:19:04Z Shinmera quit (Quit: しつれいしなければならないんです。) 2015-12-09T23:42:41Z dougk2 quit (Ping timeout: 250 seconds) 2015-12-09T23:45:13Z karswell` joined #sbcl 2015-12-09T23:47:08Z dougk2 joined #sbcl 2015-12-09T23:51:40Z lnostdal joined #sbcl 2015-12-09T23:53:26Z lnostdal_ quit (Ping timeout: 240 seconds) 2015-12-09T23:53:59Z stassats quit (Ping timeout: 272 seconds) 2015-12-09T23:59:03Z karswell` is now known as karswell 2015-12-10T00:01:26Z lnostdal quit (Ping timeout: 240 seconds) 2015-12-10T00:02:11Z mordocai quit (Ping timeout: 250 seconds) 2015-12-10T00:05:35Z dougk2 quit (Ping timeout: 264 seconds) 2015-12-10T00:08:01Z lnostdal joined #sbcl 2015-12-10T00:10:06Z dougk2 joined #sbcl 2015-12-10T00:15:11Z Bicyclidine quit (Quit: d) 2015-12-10T00:20:49Z karswell quit (Read error: Connection reset by peer) 2015-12-10T00:21:09Z karswell joined #sbcl 2015-12-10T00:31:10Z karswell quit (Remote host closed the connection) 2015-12-10T01:24:47Z dougk2 quit (Ping timeout: 264 seconds) 2015-12-10T01:32:29Z dougk2 joined #sbcl 2015-12-10T01:38:58Z eudoxia joined #sbcl 2015-12-10T01:48:47Z lnostdal quit (Ping timeout: 250 seconds) 2015-12-10T02:05:06Z dougk2 quit (Ping timeout: 240 seconds) 2015-12-10T02:06:48Z lnostdal joined #sbcl 2015-12-10T02:25:26Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-12-10T02:26:03Z dougk2 joined #sbcl 2015-12-10T02:54:46Z dougk2 quit (Ping timeout: 240 seconds) 2015-12-10T02:55:06Z dougk2 joined #sbcl 2015-12-10T02:59:06Z dougk2 quit (Ping timeout: 240 seconds) 2015-12-10T03:06:28Z minion quit (Write error: Broken pipe) 2015-12-10T03:07:12Z minion joined #sbcl 2015-12-10T03:24:55Z dougk2 joined #sbcl 2015-12-10T03:33:19Z xargs joined #sbcl 2015-12-10T03:45:27Z eudoxia quit (Quit: Leaving) 2015-12-10T04:15:30Z dougk2 quit (Ping timeout: 256 seconds) 2015-12-10T04:24:24Z dougk2 joined #sbcl 2015-12-10T04:45:46Z xargs quit (Quit: jmIrc destroyed by the OS) 2015-12-10T05:13:33Z psy_ quit (Quit: Leaving) 2015-12-10T05:45:35Z nikki93 quit (Remote host closed the connection) 2015-12-10T06:19:06Z dougk2 quit (Ping timeout: 240 seconds) 2015-12-10T06:23:24Z dougk2 joined #sbcl 2015-12-10T06:29:14Z dougk2 quit (Ping timeout: 256 seconds) 2015-12-10T07:29:46Z lnostdal quit (Ping timeout: 240 seconds) 2015-12-10T07:34:24Z adhoc quit (Ping timeout: 272 seconds) 2015-12-10T07:35:56Z adhoc joined #sbcl 2015-12-10T07:38:57Z prxq joined #sbcl 2015-12-10T07:42:20Z lnostdal joined #sbcl 2015-12-10T08:18:06Z angavrilov joined #sbcl 2015-12-10T08:20:29Z duikboot joined #sbcl 2015-12-10T08:34:08Z Cymew joined #sbcl 2015-12-10T08:36:10Z duikboot quit (Ping timeout: 256 seconds) 2015-12-10T08:41:44Z edgar-rft quit (Quit: edgar-rft) 2015-12-10T09:29:25Z sjl quit (Ping timeout: 250 seconds) 2015-12-10T09:36:05Z loke quit (Ping timeout: 246 seconds) 2015-12-10T09:44:53Z nikki93 joined #sbcl 2015-12-10T09:48:51Z loke joined #sbcl 2015-12-10T09:50:55Z duikboot joined #sbcl 2015-12-10T10:04:56Z edgar-rft joined #sbcl 2015-12-10T10:08:40Z nikki93 quit (Remote host closed the connection) 2015-12-10T10:17:07Z prxq quit (Remote host closed the connection) 2015-12-10T10:35:10Z ASau quit (Ping timeout: 256 seconds) 2015-12-10T10:37:19Z sjl joined #sbcl 2015-12-10T10:47:56Z stassats joined #sbcl 2015-12-10T11:29:29Z xargs joined #sbcl 2015-12-10T11:49:24Z stassats quit (Ping timeout: 256 seconds) 2015-12-10T11:49:50Z stassats joined #sbcl 2015-12-10T11:51:01Z attila_lendvai joined #sbcl 2015-12-10T11:51:01Z attila_lendvai quit (Changing host) 2015-12-10T11:51:01Z attila_lendvai joined #sbcl 2015-12-10T12:14:26Z sjl quit (Ping timeout: 240 seconds) 2015-12-10T12:44:18Z stassats` joined #sbcl 2015-12-10T12:45:06Z stassats quit (Ping timeout: 240 seconds) 2015-12-10T12:53:54Z dougk2 joined #sbcl 2015-12-10T12:55:00Z sjl joined #sbcl 2015-12-10T12:56:58Z akkad quit (Ping timeout: 250 seconds) 2015-12-10T12:58:20Z akkad joined #sbcl 2015-12-10T13:07:49Z dougk2 quit (Ping timeout: 250 seconds) 2015-12-10T13:34:48Z dougk2 joined #sbcl 2015-12-10T13:41:44Z dougk2 quit (Ping timeout: 272 seconds) 2015-12-10T13:57:34Z luis quit (Ping timeout: 260 seconds) 2015-12-10T13:57:34Z les quit (Ping timeout: 260 seconds) 2015-12-10T13:57:35Z derrida quit (Ping timeout: 260 seconds) 2015-12-10T13:59:53Z les joined #sbcl 2015-12-10T13:59:56Z derrida joined #sbcl 2015-12-10T13:59:56Z derrida quit (Changing host) 2015-12-10T13:59:56Z derrida joined #sbcl 2015-12-10T14:00:54Z luis` joined #sbcl 2015-12-10T14:02:26Z Alfr joined #sbcl 2015-12-10T14:05:38Z nyef: What's our schedule for this month? About another 7-10 days before freeze, then look to release shortly after Christmas? 2015-12-10T14:06:48Z xargs quit (Quit: jmIrc destroyed by the OS) 2015-12-10T14:08:18Z stassats`: planning anything big? 2015-12-10T14:44:26Z nyef: Considering priorities. 2015-12-10T14:45:54Z nyef: Nothing huge yet, but I'm thinking about dealing with the last major issues on the HPPA backend, and trying to hunt down the cheneygc or hppa-and-mips issue that causes that weird lossage issue with the page-aligned addresses. 2015-12-10T14:46:58Z Xof: I will attempt to coordinate release activity with Xach 2015-12-10T14:58:25Z Xof: current thinking: maybe no release this month 2015-12-10T14:58:45Z Xof: (rationale: QL release in "a few days", so no end-of-month coordination in any case) 2015-12-10T15:04:17Z dougk2 joined #sbcl 2015-12-10T15:04:35Z stassats joined #sbcl 2015-12-10T15:08:46Z stassats quit (Ping timeout: 240 seconds) 2015-12-10T15:08:56Z nyef: So I saw. 2015-12-10T15:09:23Z nyef: We don't skip releases very often, do we? 2015-12-10T15:11:30Z stassats joined #sbcl 2015-12-10T15:14:21Z stassats` quit (Ping timeout: 250 seconds) 2015-12-10T15:15:46Z stassats quit (Ping timeout: 240 seconds) 2015-12-10T15:16:43Z Xof: every so often 2015-12-10T15:16:54Z Xof: I think we might have skipped one two christmases ago 2015-12-10T15:17:00Z stassats joined #sbcl 2015-12-10T15:17:25Z Xof: http://sourceforge.net/p/sbcl/mailman/sbcl-announce/ # fairly good visualisation of releases 2015-12-10T15:21:06Z stassats quit (Ping timeout: 240 seconds) 2015-12-10T15:22:55Z stassats joined #sbcl 2015-12-10T15:27:21Z stassats quit (Ping timeout: 250 seconds) 2015-12-10T15:27:56Z stassats joined #sbcl 2015-12-10T15:32:07Z stassats quit (Ping timeout: 250 seconds) 2015-12-10T15:33:30Z stassats joined #sbcl 2015-12-10T15:34:56Z Cymew quit (Ping timeout: 256 seconds) 2015-12-10T15:40:06Z stassats quit (Ping timeout: 240 seconds) 2015-12-10T15:40:55Z stassats joined #sbcl 2015-12-10T15:45:06Z stassats quit (Ping timeout: 240 seconds) 2015-12-10T15:46:00Z stassats joined #sbcl 2015-12-10T15:48:11Z nyef: ... No announce email last month? 2015-12-10T15:50:06Z stassats quit (Ping timeout: 240 seconds) 2015-12-10T15:50:58Z stassats joined #sbcl 2015-12-10T15:55:20Z stassats quit (Ping timeout: 256 seconds) 2015-12-10T15:55:46Z sjl quit (Ping timeout: 240 seconds) 2015-12-10T15:55:58Z stassats joined #sbcl 2015-12-10T15:56:47Z sjl joined #sbcl 2015-12-10T15:59:39Z mordocai joined #sbcl 2015-12-10T16:04:58Z stassats quit (Ping timeout: 256 seconds) 2015-12-10T16:08:30Z stassats joined #sbcl 2015-12-10T16:09:36Z Alfr: Hello. I have a problem with sbcl, interrupt-thread and commonqt. Essentially, after calling qt:make-qapplication interrupting threads isn't possible anymore, so sb-thread:terminate-thread ceases working as well. Here's a small test case: http://paste.lisp.org/display/166235 2015-12-10T16:10:46Z duikboot quit (Ping timeout: 240 seconds) 2015-12-10T16:11:33Z dougk2 quit (Ping timeout: 250 seconds) 2015-12-10T16:11:45Z Alfr: I already asked on #lisp, but hadn't tested with ccl and ecl then, for these two implementations it seems to work. 2015-12-10T16:15:33Z nyef: You realize that interrupting threads isn't, in general, safe, right? 2015-12-10T16:16:47Z mordocai` joined #sbcl 2015-12-10T16:17:13Z Alfr: Yes, for now I just do it for the networking thread where I sometimes want to add or remove a socket to listen on. 2015-12-10T16:17:26Z stassats quit (Ping timeout: 240 seconds) 2015-12-10T16:17:42Z mordocai quit (Read error: Connection reset by peer) 2015-12-10T16:18:22Z Alfr: So the whole thing lives in a without-interrupts except the part where it's waiting for something to happen. 2015-12-10T16:19:30Z stassats joined #sbcl 2015-12-10T16:19:45Z nyef: Do you want to discuss design alternatives for informing your networking thread about adding or removing sockets? 2015-12-10T16:20:02Z brucem: Alfr: Just keep an extra pipe around that you can write a byte to so that your network thread wakes out of select / poll / whatever. 2015-12-10T16:20:10Z Alfr: Interestingly the waiting part (usocket's wait-for-input) wakes up when the sockets are ready. 2015-12-10T16:21:28Z Alfr: nyef, sure. 2015-12-10T16:22:40Z Alfr: brucem, that's a nice idea. 2015-12-10T16:23:46Z stassats quit (Ping timeout: 240 seconds) 2015-12-10T16:23:49Z nyef: ... And that was the main design alternative, yes. 2015-12-10T16:23:51Z mordocai` is now known as mordocai 2015-12-10T16:23:56Z mordocai quit (Changing host) 2015-12-10T16:23:56Z mordocai joined #sbcl 2015-12-10T16:25:01Z stassats joined #sbcl 2015-12-10T16:26:42Z Alfr: nyef, and I haven't tried yet, does bt's release-lock use interrupts? I.e. how does it inform a thread waiting for a lock that it's available? 2015-12-10T16:27:28Z nyef: It varies. 2015-12-10T16:28:07Z nyef: There can be a bit of a loop busy-waiting on the lock with a compare-exchange, or there can be a system call involved, or both. 2015-12-10T16:28:45Z psy joined #sbcl 2015-12-10T16:29:14Z psy quit (Max SendQ exceeded) 2015-12-10T16:29:36Z psy joined #sbcl 2015-12-10T16:29:39Z Alfr: Guess I'll just have to try this. :) 2015-12-10T16:31:08Z Alfr: Hm ... what does sb-thread:interrupt-thread actually do to ``signal'' the thread that it has been interrupted? 2015-12-10T16:31:27Z stassats` joined #sbcl 2015-12-10T16:32:11Z stassats` quit (Client Quit) 2015-12-10T16:33:45Z stassats: using interrupt-thread for anything other than debugging is a bad idea 2015-12-10T16:33:49Z Alfr: I followed it until I hit ``define-alien-routine "wake_thread"'' and gave up. :/ 2015-12-10T16:33:57Z nyef: Sets up some data so that the thread knows what to do, then uses tkill(2) with something, I think. 2015-12-10T16:34:32Z nyef: It might-or-might-not use SIGPIPE. 2015-12-10T16:34:45Z nyef: And it obviously has to do something else on winapi. 2015-12-10T16:35:01Z stassats: safepoints 2015-12-10T16:35:01Z nyef: (Say, has anyone been manic enough to propose a WinCE port yet?) 2015-12-10T16:35:35Z stassats: one of the things that are subtly broken 2015-12-10T16:36:09Z nyef: As opposed to one of the things that are blatantly broken, but which we haven't been able to track down causes yet? 2015-12-10T16:36:17Z Alfr: Ah ... so the best guess would be that qt somehow swallows the posix signal and sbcl never notices. :) 2015-12-10T16:36:54Z nyef: Oh, hell. Yeah, there's a good chance that SBCL isn't robust against maniacs using sigaction() or signal() themselves. 2015-12-10T16:37:31Z nyef: I'm suddenly reminded of DOS TSR programs and how they hook various interrupts. 2015-12-10T16:38:07Z stassats: nyef: right 2015-12-10T16:38:31Z stassats: Alfr: i never observed that 2015-12-10T16:40:11Z Alfr: So ... since interrupt-thread isn't an option to notify a thread anymore when it's busy what, would be a good alternative? 2015-12-10T16:41:04Z Alfr: stassats, so http://paste.lisp.org/display/166235 works for you? 2015-12-10T16:41:41Z stassats: qt signals can be used for notifications across threads 2015-12-10T16:41:45Z nyef: Alfr: Incorporate a periodic check into the "busy" that asks "should I be doing something else right now?" 2015-12-10T16:42:53Z stassats: communicating with qt, that is 2015-12-10T16:43:49Z stassats: Alfr: and yes, including that example 2015-12-10T16:44:00Z Alfr: nyef, I hoped to avoid polling, but it's better than not reacting at all. :) 2015-12-10T16:44:28Z nyef: It doesn't have to be an expensive poll. 2015-12-10T16:45:18Z Alfr: stassats, hm ... okay. Then I guess I must have set up something really wrong. :( 2015-12-10T16:45:59Z stassats: what features are you using? 2015-12-10T16:47:06Z stassats: i can imagine this being broken on sb-thruption 2015-12-10T16:48:37Z scymtym joined #sbcl 2015-12-10T16:49:17Z Alfr: stassats, it's http://paste.lisp.org/display/166264 . 2015-12-10T16:49:48Z stassats: that's pretty standard 2015-12-10T16:51:54Z stassats: which qt version? 2015-12-10T16:52:22Z duikboot joined #sbcl 2015-12-10T16:54:03Z Alfr: stassats dev-qt/qtcore-4.8.6-r2 or the version that comes with current quicklisp's qt-libs. I'm not sure. 2015-12-10T16:54:43Z stassats: should work 2015-12-10T16:55:20Z stassats: there was never any reports of such an issue 2015-12-10T16:55:28Z psy quit (Disconnected by services) 2015-12-10T16:55:38Z stassats: you shouldn't use, but it should work 2015-12-10T16:55:49Z psy_ joined #sbcl 2015-12-10T16:58:51Z stassats: you can start by examining thread signal masks 2015-12-10T17:01:46Z Alfr: Hm ... an other thing is, that when I have more than one thread running then (sb-ext:exit :abort nil) hangs, i guess it's waiting for the other threads to terminate ... 2015-12-10T17:02:15Z stassats: that's an old issue, yes 2015-12-10T17:02:51Z Alfr: Here this also only happens after calling qt:make-qapplication . 2015-12-10T17:03:07Z stassats: well, of course if you can't terminate threads it will hang 2015-12-10T17:03:47Z stassats: usually it's not a problem since it only happens when you try to exit concurrently from two threads or something similar 2015-12-10T17:05:30Z Alfr: how do i access thread signal masks? 2015-12-10T17:07:54Z Alfr: stassats, how did you set up commonqt maybe I could to reproduce it? 2015-12-10T17:07:55Z nyef: Isn't whichever signal we use for interrupt-thread also covered by the runtime with its various sigmasks, and thus verified to be in a known state at each GC at least? 2015-12-10T17:08:09Z stassats: Alfr: normally? 2015-12-10T17:08:38Z Alfr: stassats, any that passes the test case. :) 2015-12-10T17:08:50Z stassats: i don't know how to not pass it 2015-12-10T17:09:19Z duikboot quit (Quit: Leaving) 2015-12-10T17:09:50Z Alfr: Guess, then normally will do. :) 2015-12-10T17:10:17Z stassats: can you kill threads created after make-qapplication? 2015-12-10T17:11:06Z Alfr: not by using terminate-thread. Didn't try kill(1) itself. 2015-12-10T17:22:25Z Alfr: How can one control which qt-.so are loaded? I'd like to test whether it's caused by the version on this machine. 2015-12-10T17:22:57Z stassats: cffi loads them 2015-12-10T17:23:10Z stassats: from the standard locations 2015-12-10T17:27:20Z stassats: can sb-alien:with-alien allocate a pointer? 2015-12-10T17:27:33Z stassats: it just gives me a null pointer for (* long) 2015-12-10T17:30:29Z Alfr: stassats, hm ... it uses those in /usr/lib... 2015-12-10T17:31:04Z stassats: combined with make-alien, it works, but i want it stack allocated 2015-12-10T17:31:18Z stassats: reminds me why i never use sb-alien 2015-12-10T17:32:01Z nyef: stassats: what are you trying to do? 2015-12-10T17:32:02Z Alfr: Do you know of precompiled qt-libs working for you which i can try? 2015-12-10T17:32:32Z nyef: stassats: Do you want to WITH-ALIEN a LONG, and then use ADDR on it? 2015-12-10T17:32:41Z stassats: nyef: just noticed that i need to use addr 2015-12-10T17:33:14Z stassats: but (with-alien ((x (struct foo)))) works without one 2015-12-10T17:33:25Z stassats: or (array long 1) 2015-12-10T17:36:04Z stassats: it doesn't seem that you can get a thread mask outside of the thread 2015-12-10T17:36:16Z stassats: gdb can help here 2015-12-10T17:36:52Z stassats: or (with-alien ((set long)) (alien-funcall (extern-alien "sigprocmask" (function int int (* long) (* long))) 2 nil (addr set)) set) should work as well 2015-12-10T17:41:31Z stassats: Alfr: can you do (sb-sys:enable-interrupt sb-unix:sigpipe #'sb-unix::sigpipe-handler) after make-qapplication? 2015-12-10T17:46:38Z dougk2 joined #sbcl 2015-12-10T17:52:03Z Alfr: stassats, yes and it also makes both threads abort in the test case. :) 2015-12-10T17:57:53Z nyef: So, why is QT hijacking sigpipe? 2015-12-10T17:58:42Z Alfr: Thank you. 2015-12-10T17:59:58Z Alfr: I'm trying to only load the precompiled qt/smoke/etc-libs from qt-libs right now ... 2015-12-10T18:00:33Z stassats: it doesn't hijack it here 2015-12-10T18:00:43Z stassats: although it does hijack and poorly resignal sigchld 2015-12-10T18:01:30Z stassats: which commonqt handles by removing the sbcl handler 2015-12-10T18:01:46Z Alfr: But cffi decides to take those and the ones in /usr/lib64/ right now. 2015-12-10T18:01:54Z nyef: And also reimplements run-program? 2015-12-10T18:02:35Z nyef: After all, not having SIGCHLD means that our run-program implementation is almost certainly busted. 2015-12-10T18:02:45Z stassats: it survives 2015-12-10T18:03:08Z Alfr: So I can't tell whether it's my qt or the rest of my system messing things up. 2015-12-10T18:08:03Z stassats: try with 4.8.7 2015-12-10T18:09:04Z Alfr: I'll do that and tell ... 2015-12-10T18:09:51Z adhoc quit (Ping timeout: 250 seconds) 2015-12-10T18:10:01Z Alfr: ... but now I have to grab a snack and run. 2015-12-10T18:10:41Z stassats: without paying? that's bad 2015-12-10T18:11:38Z adhoc joined #sbcl 2015-12-10T18:13:06Z Alfr: I hope investigating it further counts. 2015-12-10T18:20:09Z Alfr quit (Quit: Leaving) 2015-12-10T18:35:53Z eudoxia joined #sbcl 2015-12-10T19:06:38Z luis` is now known as luis 2015-12-10T19:11:46Z dougk2 quit (Ping timeout: 240 seconds) 2015-12-10T19:15:12Z dougk2 joined #sbcl 2015-12-10T19:31:57Z psy_ quit (Read error: Connection timed out) 2015-12-10T19:31:59Z dougk2 quit (Ping timeout: 264 seconds) 2015-12-10T19:37:53Z dougk2 joined #sbcl 2015-12-10T19:41:49Z gingerale joined #sbcl 2015-12-10T19:45:42Z eudoxia quit (Quit: Leaving) 2015-12-10T20:11:35Z dougk2 quit (Ping timeout: 264 seconds) 2015-12-10T20:17:06Z dougk2 joined #sbcl 2015-12-10T20:29:42Z clique joined #sbcl 2015-12-10T20:32:28Z eudoxia joined #sbcl 2015-12-10T20:49:58Z dougk2 quit (Remote host closed the connection) 2015-12-10T20:51:26Z lnostdal quit (Ping timeout: 240 seconds) 2015-12-10T20:58:08Z nikki93 joined #sbcl 2015-12-10T21:06:30Z lnostdal joined #sbcl 2015-12-10T21:06:49Z DeadTrickster quit (Ping timeout: 245 seconds) 2015-12-10T21:18:44Z ASau joined #sbcl 2015-12-10T21:19:25Z sjl: hi, I'm hitting SB-KERNEL::CONTROL-STACK-EXHAUSTED-ERROR but when I backtrace the call stack is only 16 functions deep 2015-12-10T21:19:34Z sjl: well 17 actually, counting 0 2015-12-10T21:19:39Z sjl: what else should I look at? 2015-12-10T21:20:10Z gingerale quit (Remote host closed the connection) 2015-12-10T21:20:19Z stassats: you can exhaust it in one frame 2015-12-10T21:20:30Z nyef: stassats: Massive DX allocation? 2015-12-10T21:21:21Z sjl: Hmm, is it dependent on the size of the argument in the frame? I am passing a rather large list, but the only thing on the stack should be the reference to the first cons cell living somewhere on the heap, no? 2015-12-10T21:21:51Z stassats: show us the code 2015-12-10T21:22:24Z nyef: Ah, yes. APPLY with a large list would also do it. 2015-12-10T21:23:25Z sjl: http://paste.lisp.org/display/166286 2015-12-10T21:23:34Z sjl: ah yes, I am APPLYing 2015-12-10T21:23:55Z stassats: (apply #'concatenate 'list) 2015-12-10T21:23:58Z stassats: don't do that 2015-12-10T21:24:07Z sjl: yeah, so I tried using reduce, but it was far slower 2015-12-10T21:24:20Z sjl: what's the right way to flatten a huge list? 2015-12-10T21:24:28Z nyef: Not to do that? 2015-12-10T21:24:42Z nyef: Don't flatten huge lists, build them flat in the first place. 2015-12-10T21:24:48Z sjl: ugh 2015-12-10T21:24:52Z sjl: yeah I guess I'll rewrite it 2015-12-10T21:24:55Z sjl: oh well 2015-12-10T21:24:57Z sjl: thanks 2015-12-10T21:24:59Z sjl: makes sense now 2015-12-10T21:25:36Z nyef: Otherwise you're at least paying the iteration cost on all of the lists in order to find the ends to join together, if not duplicating the backbones straight-up. 2015-12-10T21:26:02Z stassats: at least you could use append with reduce 2015-12-10T21:26:11Z stassats: and from-end t at that 2015-12-10T21:27:45Z dougk_: dougk_: to your comment from days, I know that type-inference on make-list wasn't happening. My question is why it also wasn't happening for %make-list which *does* have its type defined in fndb. 2015-12-10T21:27:57Z dougk_: days ago i meant 2015-12-10T21:28:34Z dougk_: i am messed up. I am trying to say: "stassats: regarding your comment to me from days ago" 2015-12-10T21:29:04Z stassats: dougk_: i then noticed that you were talking about %make-list 2015-12-10T21:30:06Z stassats: sjl: (reduce #'append list :from-end t) is as fast as concatenate and conses much less 2015-12-10T21:30:38Z stassats: or even faster 2015-12-10T21:30:46Z stassats: but not doing it is the fastest 2015-12-10T21:31:06Z stassats: dougk_: but it's always nice to talk to a smart person, isn't it? 2015-12-10T21:32:48Z stassats: dougk_: i was going to poke at that part, but then i noticed that it loads NIL twice (couldn't solve that), then that it doesn't optimize zeroing away 2015-12-10T21:33:08Z dougk_: yah, those were silly 2015-12-10T21:33:21Z stassats: then that the vop falls victim of large integers, and that lead me to gc failures 2015-12-10T21:34:02Z p_l quit (Ping timeout: 276 seconds) 2015-12-10T21:34:06Z stassats: and i think i discovered that large integers and allocation is broken on windows, it uses LONG, let me actually check that 2015-12-10T21:34:49Z stassats: to avoid loading NIL it has to know that it's a NIL, but if it's immediate, there's no register allocated 2015-12-10T21:34:53Z dougk_: but, notwithstanding that allocate-list-on-heap is disabled, isn't adding 'immediate' as an allowed-sc for that vop arg much simpler, and the same as, adding your :load-if ? 2015-12-10T21:35:36Z stassats: 1 is an immediate 2015-12-10T21:35:39Z stassats: or # 2015-12-10T21:35:46Z stassats: \a 2015-12-10T21:37:19Z stassats: storew can store 1, but not (expt 2 32) or #\a 2015-12-10T21:37:42Z stassats: or, it may be able to store (expt 2 32) 2015-12-10T21:55:03Z clique quit (Quit: Page closed) 2015-12-10T22:00:16Z sjl quit (Ping timeout: 256 seconds) 2015-12-10T22:00:25Z stassats: there seem to be no derivation happening at all 2015-12-10T22:06:21Z stassats: on windows, (make-array (expt 2 31) :element-type '(unsigned-byte 8)) => gc invariant lost 2015-12-10T22:19:10Z scymtym quit (Ping timeout: 272 seconds) 2015-12-10T22:34:50Z stassats: i see what happens with type declarations 2015-12-10T22:35:20Z stassats: assert-call-type adds a cast, ir1-merge-casts removes it because it's externally checkable, and loses any type information 2015-12-10T22:37:43Z stassats: but then it stops being externally checkable 2015-12-10T22:39:30Z stassats: dougk_: mystery solved, but i see no viable solution 2015-12-10T22:41:06Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-12-10T22:42:37Z stassats: and you had do declare a different type, one less, because otherwise it'll be considered externally checkable too 2015-12-10T22:43:08Z stassats: ir2-convert is a bit too late to put casts back in 2015-12-10T22:44:47Z nikki93 quit (Remote host closed the connection) 2015-12-10T22:45:50Z nikki93 joined #sbcl 2015-12-10T23:07:46Z derrida quit (Ping timeout: 240 seconds) 2015-12-10T23:09:24Z derrida joined #sbcl 2015-12-10T23:09:24Z derrida quit (Changing host) 2015-12-10T23:09:24Z derrida joined #sbcl 2015-12-10T23:20:24Z mordocai quit (Quit: going home) 2015-12-10T23:59:59Z stassats quit (Ping timeout: 250 seconds) 2015-12-11T00:07:06Z eudoxia quit (Quit: Leaving) 2015-12-11T00:08:45Z sjl joined #sbcl 2015-12-11T00:17:24Z nikki93 quit (Ping timeout: 256 seconds) 2015-12-11T00:17:58Z sjl quit (Ping timeout: 256 seconds) 2015-12-11T00:21:07Z sjl joined #sbcl 2015-12-11T00:31:09Z mordocai joined #sbcl 2015-12-11T00:56:26Z adhoc quit (Ping timeout: 240 seconds) 2015-12-11T00:58:29Z adhoc joined #sbcl 2015-12-11T01:05:00Z adhoc quit (Ping timeout: 256 seconds) 2015-12-11T01:06:48Z adhoc joined #sbcl 2015-12-11T01:12:42Z adhoc quit (Ping timeout: 272 seconds) 2015-12-11T01:13:04Z adhoc joined #sbcl 2015-12-11T01:17:17Z edgar-rft quit (Quit: edgar-rft) 2015-12-11T01:48:04Z adhoc quit (Ping timeout: 256 seconds) 2015-12-11T01:49:49Z adhoc joined #sbcl 2015-12-11T01:54:52Z adhoc quit (Ping timeout: 256 seconds) 2015-12-11T01:56:03Z adhoc joined #sbcl 2015-12-11T02:00:42Z karswell joined #sbcl 2015-12-11T02:01:19Z adhoc quit (Ping timeout: 250 seconds) 2015-12-11T02:03:23Z adhoc joined #sbcl 2015-12-11T02:08:06Z adhoc quit (Ping timeout: 240 seconds) 2015-12-11T02:09:39Z adhoc joined #sbcl 2015-12-11T02:15:16Z adhoc quit (Ping timeout: 256 seconds) 2015-12-11T02:16:58Z adhoc joined #sbcl 2015-12-11T02:20:28Z loke quit (Ping timeout: 272 seconds) 2015-12-11T02:25:56Z nikki93 joined #sbcl 2015-12-11T02:32:49Z loke joined #sbcl 2015-12-11T02:33:23Z adhoc quit (Ping timeout: 250 seconds) 2015-12-11T02:35:24Z adhoc joined #sbcl 2015-12-11T02:38:18Z karswell quit (Remote host closed the connection) 2015-12-11T02:58:24Z nikki93 quit (Remote host closed the connection) 2015-12-11T03:19:02Z nikki93 joined #sbcl 2015-12-11T03:19:28Z paulbernard joined #sbcl 2015-12-11T03:26:37Z mordocai: I'm wanting to write some basic stuff about garbage collectors and how they differ between lisp implementations for http://articulate-lisp.com. Best documentation i've found so far for sbcl is cmucl's. Is there a better source? http://www.cons.org/cmucl/doc/gc-tuning.html. I'm wanting to give general overviews not specific advice. 2015-12-11T03:28:56Z adhoc quit (Ping timeout: 256 seconds) 2015-12-11T03:38:15Z nyef: The situation is... a bit different for SBCL. I'm not sure how many of the tuning and diagnostic controls are still valid, but the samples are at least out-of-date. 2015-12-11T03:39:11Z mordocai: So what I really need is what features the GC has and any gotchas to watch out for 2015-12-11T03:39:20Z mordocai: Not wanting to go too in depth for this resource 2015-12-11T03:39:29Z nyef: At least for the next release or two, SBCL has two garbage collectors: A baker / cheney two-space collector and an occasionally-conservative generational collector. 2015-12-11T03:40:01Z nyef: There's a proposal on the table to remove the cheney collector entirely, but for the time being a number of backends require it. 2015-12-11T03:40:53Z nyef: Umm... And you might-or-might-not want to mention WITH-PINNED-OBJECT. 2015-12-11T03:46:26Z adhoc joined #sbcl 2015-12-11T03:51:36Z adhoc quit (Ping timeout: 256 seconds) 2015-12-11T03:52:41Z adhoc joined #sbcl 2015-12-11T03:57:50Z adhoc quit (Ping timeout: 256 seconds) 2015-12-11T03:58:58Z adhoc joined #sbcl 2015-12-11T04:04:58Z adhoc quit (Ping timeout: 272 seconds) 2015-12-11T04:06:15Z adhoc joined #sbcl 2015-12-11T04:11:26Z adhoc quit (Ping timeout: 240 seconds) 2015-12-11T04:12:40Z paulbernard left #sbcl 2015-12-11T04:13:34Z adhoc joined #sbcl 2015-12-11T04:15:27Z mordocai: Soo, the garbage collection section here http://www.sbcl.org/manual/#Garbage-Collection is pretty sparse. Is that the best we have right now? 2015-12-11T04:15:39Z mordocai: Compare to ccls manual and it is rather embarrasingly vague. 2015-12-11T04:18:15Z adhoc quit (Ping timeout: 250 seconds) 2015-12-11T04:19:52Z adhoc joined #sbcl 2015-12-11T04:24:46Z adhoc quit (Ping timeout: 240 seconds) 2015-12-11T04:26:07Z adhoc joined #sbcl 2015-12-11T04:31:06Z adhoc quit (Ping timeout: 240 seconds) 2015-12-11T04:32:19Z adhoc joined #sbcl 2015-12-11T04:33:56Z jlarocco quit (Ping timeout: 246 seconds) 2015-12-11T04:38:04Z adhoc quit (Ping timeout: 256 seconds) 2015-12-11T04:39:39Z adhoc joined #sbcl 2015-12-11T04:44:26Z adhoc quit (Ping timeout: 240 seconds) 2015-12-11T04:45:54Z adhoc joined #sbcl 2015-12-11T04:47:18Z jlarocco joined #sbcl 2015-12-11T05:00:06Z adhoc quit (Ping timeout: 240 seconds) 2015-12-11T05:02:19Z adhoc joined #sbcl 2015-12-11T05:09:26Z adhoc quit (Ping timeout: 240 seconds) 2015-12-11T05:11:39Z adhoc joined #sbcl 2015-12-11T05:16:26Z adhoc quit (Ping timeout: 240 seconds) 2015-12-11T05:17:56Z adhoc joined #sbcl 2015-12-11T05:23:24Z adhoc quit (Ping timeout: 256 seconds) 2015-12-11T05:24:10Z adhoc joined #sbcl 2015-12-11T05:29:45Z adhoc quit (Ping timeout: 250 seconds) 2015-12-11T05:31:35Z adhoc joined #sbcl 2015-12-11T05:36:15Z adhoc quit (Ping timeout: 250 seconds) 2015-12-11T05:36:56Z mordocai quit (Remote host closed the connection) 2015-12-11T05:37:51Z adhoc joined #sbcl 2015-12-11T05:43:14Z adhoc quit (Ping timeout: 256 seconds) 2015-12-11T05:44:06Z adhoc joined #sbcl 2015-12-11T05:50:06Z adhoc quit (Ping timeout: 272 seconds) 2015-12-11T05:51:25Z adhoc joined #sbcl 2015-12-11T05:56:06Z adhoc quit (Ping timeout: 240 seconds) 2015-12-11T05:57:39Z adhoc joined #sbcl 2015-12-11T06:03:24Z adhoc quit (Ping timeout: 272 seconds) 2015-12-11T06:03:55Z adhoc joined #sbcl 2015-12-11T06:09:06Z adhoc quit (Ping timeout: 240 seconds) 2015-12-11T06:11:10Z adhoc joined #sbcl 2015-12-11T06:19:26Z adhoc quit (Ping timeout: 240 seconds) 2015-12-11T06:21:32Z adhoc joined #sbcl 2015-12-11T06:50:17Z nikki93 quit (Remote host closed the connection) 2015-12-11T07:14:46Z akkad quit (Ping timeout: 240 seconds) 2015-12-11T07:19:01Z nikki93 joined #sbcl 2015-12-11T07:24:52Z akkad joined #sbcl 2015-12-11T07:27:21Z jlarocco quit (Quit: Leaving) 2015-12-11T07:28:57Z nikki93 quit (Remote host closed the connection) 2015-12-11T07:29:21Z nikki93 joined #sbcl 2015-12-11T07:36:23Z loke quit (Remote host closed the connection) 2015-12-11T07:36:59Z nikki93 quit (Remote host closed the connection) 2015-12-11T07:40:32Z nikki93 joined #sbcl 2015-12-11T07:41:15Z loke joined #sbcl 2015-12-11T07:48:49Z nikki93 quit (Remote host closed the connection) 2015-12-11T07:57:06Z adhoc quit (Ping timeout: 240 seconds) 2015-12-11T08:14:28Z nikki93 joined #sbcl 2015-12-11T08:14:48Z nikki93 quit (Remote host closed the connection) 2015-12-11T08:16:31Z jlarocco joined #sbcl 2015-12-11T08:16:42Z jlarocco quit (Remote host closed the connection) 2015-12-11T08:27:42Z Cymew joined #sbcl 2015-12-11T08:33:48Z lnostdal quit (Ping timeout: 256 seconds) 2015-12-11T08:35:38Z adhoc joined #sbcl 2015-12-11T08:43:01Z adhoc quit (Ping timeout: 250 seconds) 2015-12-11T08:45:21Z adhoc joined #sbcl 2015-12-11T08:45:56Z lnostdal joined #sbcl 2015-12-11T08:49:46Z adhoc quit (Ping timeout: 240 seconds) 2015-12-11T08:51:37Z adhoc joined #sbcl 2015-12-11T09:34:56Z ASau quit (Ping timeout: 272 seconds) 2015-12-11T09:48:14Z sjl quit (Ping timeout: 272 seconds) 2015-12-11T09:59:38Z adhoc quit (Ping timeout: 272 seconds) 2015-12-11T10:00:54Z adhoc joined #sbcl 2015-12-11T10:35:30Z sjl joined #sbcl 2015-12-11T10:36:15Z sjl quit (Client Quit) 2015-12-11T10:37:14Z sjl joined #sbcl 2015-12-11T10:42:21Z stassats joined #sbcl 2015-12-11T10:46:26Z stassats quit (Ping timeout: 240 seconds) 2015-12-11T10:47:48Z stassats joined #sbcl 2015-12-11T10:52:09Z stassats quit (Ping timeout: 250 seconds) 2015-12-11T10:52:14Z DeadTrickster joined #sbcl 2015-12-11T10:52:48Z stassats joined #sbcl 2015-12-11T10:57:21Z stassats quit (Ping timeout: 250 seconds) 2015-12-11T10:58:18Z stassats joined #sbcl 2015-12-11T11:02:50Z stassats quit (Ping timeout: 256 seconds) 2015-12-11T11:04:20Z stassats joined #sbcl 2015-12-11T11:08:37Z stassats quit (Ping timeout: 250 seconds) 2015-12-11T11:09:48Z stassats joined #sbcl 2015-12-11T11:13:42Z attila_lendvai joined #sbcl 2015-12-11T11:13:42Z attila_lendvai quit (Changing host) 2015-12-11T11:13:42Z attila_lendvai joined #sbcl 2015-12-11T11:14:22Z stassats quit (Ping timeout: 272 seconds) 2015-12-11T11:15:48Z stassats joined #sbcl 2015-12-11T11:20:24Z stassats quit (Ping timeout: 256 seconds) 2015-12-11T11:20:50Z stassats joined #sbcl 2015-12-11T11:25:05Z stassats quit (Ping timeout: 250 seconds) 2015-12-11T11:26:48Z stassats joined #sbcl 2015-12-11T11:47:46Z sjl quit (Ping timeout: 240 seconds) 2015-12-11T11:50:36Z lnostdal_ joined #sbcl 2015-12-11T11:54:54Z lnostdal quit (Ping timeout: 272 seconds) 2015-12-11T11:58:14Z Intensity quit (Ping timeout: 260 seconds) 2015-12-11T12:00:34Z Intensity joined #sbcl 2015-12-11T12:11:46Z Intensity quit (Ping timeout: 260 seconds) 2015-12-11T12:18:39Z Intensity joined #sbcl 2015-12-11T12:27:49Z p_l joined #sbcl 2015-12-11T12:30:45Z sjl joined #sbcl 2015-12-11T12:40:19Z edgar-rft joined #sbcl 2015-12-11T13:11:02Z flip214: how can I get the address of an lisp array? I can't find a matching SAP function in SB-SYS or SB-ALIEN. 2015-12-11T13:19:38Z ZabaQ joined #sbcl 2015-12-11T13:20:53Z stassats: vector-sap 2015-12-11T13:20:58Z stassats: think twice before you do that 2015-12-11T13:23:29Z flip214: stassats: thanks. why think twice? just to highlight a cell in a table on output. 2015-12-11T13:24:56Z stassats: the last sentence didn't make any sense to me 2015-12-11T13:25:01Z nyef: If you use a vector-sap, you need to pin the array while you have the sap in hand. 2015-12-11T13:26:04Z flip214: nyef: thanks. 2015-12-11T13:26:38Z flip214: stassats: I only need to store which element of a vector was changed, so that the output can do highlightning on the value. 2015-12-11T13:26:56Z nyef: Store the index, not the pointer? 2015-12-11T13:27:02Z flip214: doesn't matter if GC kicks in in the middle and the pointer gets "invalid", I'd only compare for EQ and wouldn't deref anyway 2015-12-11T13:27:23Z flip214: nyef: I've got several vectors that could be meant, so storing one address is easier 2015-12-11T13:28:35Z stassats: so you're saying a protection fault is alright? 2015-12-11T13:29:23Z stassats: you're comparing addresses? why didn't you say so 2015-12-11T13:29:24Z flip214: stassats: I never deref, so why should I get a segfault? just take the address, and on output I loop through the vectors; if there's the same address again, change formatting 2015-12-11T13:29:28Z stassats: sb-kernel:get-lisp-obj-address 2015-12-11T13:29:34Z flip214: ah, thanks 2015-12-11T13:29:51Z flip214: sb-kernel, why do I always forget about that one 2015-12-11T13:31:31Z stassats: how do you know the width of an element? 2015-12-11T13:31:39Z stassats: this does sound like a bad solution 2015-12-11T13:40:54Z Intensity quit (Ping timeout: 260 seconds) 2015-12-11T13:43:19Z akkad quit (Ping timeout: 250 seconds) 2015-12-11T13:44:41Z Intensity joined #sbcl 2015-12-11T13:52:13Z akkad joined #sbcl 2015-12-11T13:54:59Z flip214: stassats: it wouldn't really matter, I'd just add the index to the base address. 2015-12-11T13:55:06Z sjl quit (Ping timeout: 256 seconds) 2015-12-11T13:55:08Z flip214: even with (integer 0 255) there's an identity 2015-12-11T13:55:32Z flip214: never mind, I'm now returning positive indizes for one vector, and negative for the other. 2015-12-11T13:56:19Z sjl joined #sbcl 2015-12-11T13:58:04Z nyef: flip214: And things get complex if you have three or four vectors? 2015-12-11T13:58:15Z Intensity quit (Remote host closed the connection) 2015-12-11T13:58:56Z stassats: nyef: float first 2015-12-11T13:59:18Z nyef: Ah. Encode the vector number as the exponent, and the index as the mantissa? 2015-12-11T13:59:36Z flip214: ouch. for more than 2 vectors I'd surely have used the address. 2015-12-11T13:59:54Z stassats: nyef: might as well use fixnums at that rate 2015-12-11T14:00:03Z flip214: stassats: complex would be sufficient for up to 4 vectors, right ;) 2015-12-11T14:00:11Z stassats: i would have used a (vector . index) 2015-12-11T14:00:53Z nyef: Yeah, I'd've used (vector . index) myself, probably. That's more-or-less what I did to remove all of those SAPs pointing to heap space coming from genesis, after all. 2015-12-11T14:01:15Z nyef: But sc-offset encoding should be workable as well for this. 2015-12-11T14:01:29Z stassats: but if the number of vectors is limited and their length is limited, a fixnum encoding would do 2015-12-11T14:01:39Z Intensity joined #sbcl 2015-12-11T14:01:39Z stassats: right, like sc-offset 2015-12-11T14:02:01Z flip214: What's SC? 2015-12-11T14:02:07Z stassats: storage class 2015-12-11T14:02:36Z flip214: thanks 2015-12-11T14:07:30Z Intensity quit (Ping timeout: 260 seconds) 2015-12-11T14:24:29Z akkad quit (Ping timeout: 250 seconds) 2015-12-11T14:56:39Z Intensity joined #sbcl 2015-12-11T15:00:32Z Alfr joined #sbcl 2015-12-11T15:01:10Z akkad joined #sbcl 2015-12-11T15:10:45Z Alfr: stassats, updating qt from 4.8.6 to 4.8.7 did not help. But I think that I found the culprit eating SIGPIPE the function qt_ignore_sigpipe in http://code.qt.io/cgit/qt/qt.git/tree/src/corelib/kernel/qcore_unix_p.h . It has been introduced somewhere between 4.8.4 and 4.8.5. 2015-12-11T15:15:37Z stassats: except that it's only called for you 2015-12-11T15:16:52Z nyef: stassats: As in "nobody else on 4.8.6 or 4.8.7 sees this effect"? 2015-12-11T15:17:25Z nyef: It's certainly smacking around process global state. 2015-12-11T15:17:51Z stassats: yes 2015-12-11T15:20:37Z mordocai joined #sbcl 2015-12-11T15:21:32Z Alfr: Where did you get the qt library version you use from? 2015-12-11T15:34:36Z Alfr: At least on both my gentoo systems this function isn't a noop, but from what I see it will only eat the signal handler once ... So using your workaround from yesterday after creating the qapplication enables killing threads again etc. 2015-12-11T15:39:55Z Alfr: Have nice weekend then. Bye. 2015-12-11T15:40:05Z Alfr quit (Quit: Leaving) 2015-12-11T15:49:49Z blaaa joined #sbcl 2015-12-11T15:50:25Z DGASAU quit (Read error: Connection reset by peer) 2015-12-11T15:50:59Z DGASAU joined #sbcl 2015-12-11T16:01:46Z Cymew quit (Ping timeout: 240 seconds) 2015-12-11T16:14:48Z scymtym joined #sbcl 2015-12-11T16:31:58Z nikki93 joined #sbcl 2015-12-11T16:32:49Z nikki93 quit (Remote host closed the connection) 2015-12-11T16:37:06Z sjl quit (Ping timeout: 240 seconds) 2015-12-11T16:37:52Z gingerale joined #sbcl 2015-12-11T16:47:56Z Cymew joined #sbcl 2015-12-11T16:51:58Z Cymew quit (Read error: Connection reset by peer) 2015-12-11T17:02:15Z blaaa quit (Ping timeout: 252 seconds) 2015-12-11T17:49:22Z antoszka is now known as flimon 2015-12-11T17:50:29Z psy joined #sbcl 2015-12-11T17:50:55Z psy quit (Max SendQ exceeded) 2015-12-11T17:51:19Z psy joined #sbcl 2015-12-11T17:52:33Z flimon is now known as antoszka 2015-12-11T18:08:53Z antoszka is now known as flimon 2015-12-11T18:12:12Z flimon is now known as antoszka 2015-12-11T18:39:41Z nyef: Outside of conservatism, what sort of objects get pinned? 2015-12-11T18:40:51Z stassats: passing to c 2015-12-11T18:41:17Z stassats: that's the only valid reason 2015-12-11T18:42:09Z nyef: More-or-less, yeah. So, what sort of objects to we pass to C? Or, not even pass to C, but pass a pointer to the inside of to C? 2015-12-11T18:42:37Z nyef: It's pretty much only specialized, unboxed arrays, isn't it? 2015-12-11T18:43:02Z stassats: functions 2015-12-11T18:43:34Z nyef: Lisp functions, or the callback wrappers? 2015-12-11T18:43:43Z stassats: lisp functions 2015-12-11T18:43:46Z stassats: make-thread, slad 2015-12-11T18:44:17Z nyef: Hrm, okay. How about when it's not for SBCL-internal purposes? 2015-12-11T18:44:57Z stassats: hacked emacs to notify erc messages as badges in the dock, much better 2015-12-11T18:47:01Z stassats: c hacking of emacs is not so pleasant 2015-12-11T18:47:04Z stassats: or objc 2015-12-11T18:50:35Z nyef: Oh, interesting. Object pinning is private. 2015-12-11T19:01:19Z nyef: Okay, if I don't have to worry about preserving pin semantics so long as all of our internals still function, that's a different game. 2015-12-11T19:16:08Z eudoxia joined #sbcl 2015-12-11T19:51:57Z ZabaQ quit (Quit: Leaving) 2015-12-11T20:17:22Z karswell joined #sbcl 2015-12-11T20:18:05Z nikki93 joined #sbcl 2015-12-11T20:20:25Z clique joined #sbcl 2015-12-11T20:24:24Z adhoc quit (Ping timeout: 256 seconds) 2015-12-11T20:26:19Z adhoc joined #sbcl 2015-12-11T20:30:19Z edgar-rft quit (Quit: edgar-rft) 2015-12-11T20:56:23Z clique left #sbcl 2015-12-11T21:09:46Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-12-11T21:11:07Z gingerale quit (Remote host closed the connection) 2015-12-11T21:18:20Z sjl joined #sbcl 2015-12-11T21:18:25Z joshe quit (Remote host closed the connection) 2015-12-11T21:25:07Z ASau joined #sbcl 2015-12-11T21:38:00Z attila_lendvai joined #sbcl 2015-12-11T21:38:00Z attila_lendvai quit (Changing host) 2015-12-11T21:38:00Z attila_lendvai joined #sbcl 2015-12-11T21:47:06Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-12-11T21:51:48Z adhoc quit (Quit: leaving) 2015-12-11T21:52:07Z adhoc joined #sbcl 2015-12-11T21:52:23Z mordocai quit (Remote host closed the connection) 2015-12-11T22:05:15Z Bicyclidine joined #sbcl 2015-12-11T22:20:38Z stassats quit (Ping timeout: 272 seconds) 2015-12-12T00:00:06Z scymtym quit (Ping timeout: 240 seconds) 2015-12-12T00:05:06Z eudoxia quit (Quit: Leaving) 2015-12-12T00:09:58Z Bicyclidine quit (Quit: bus) 2015-12-12T01:00:52Z eudoxia joined #sbcl 2015-12-12T01:33:17Z eudoxia_ joined #sbcl 2015-12-12T01:34:10Z eudoxia quit (Read error: Connection reset by peer) 2015-12-12T01:34:22Z nikki93 quit (Ping timeout: 256 seconds) 2015-12-12T01:34:49Z nikki93 joined #sbcl 2015-12-12T01:38:46Z nikki93 quit (Ping timeout: 240 seconds) 2015-12-12T01:48:43Z edgar-rft joined #sbcl 2015-12-12T01:48:48Z nikki93 joined #sbcl 2015-12-12T02:03:36Z xargs joined #sbcl 2015-12-12T02:16:49Z nikki93 quit (Remote host closed the connection) 2015-12-12T02:19:51Z nikki93 joined #sbcl 2015-12-12T02:21:23Z nikki93 quit (Remote host closed the connection) 2015-12-12T02:21:39Z nikki93 joined #sbcl 2015-12-12T02:21:46Z psy quit (Ping timeout: 240 seconds) 2015-12-12T02:23:58Z nikki93 quit (Read error: No route to host) 2015-12-12T02:33:42Z eudoxia_ quit (Quit: Leaving) 2015-12-12T02:53:03Z xargs quit (Quit: jmIrc destroyed by the OS) 2015-12-12T03:15:03Z nyef: Every single use of DX_ALLOC_SAP in the runtime is to box a necessarily-aligned pointer in order to pass it to Lisp. Conclusion: KILL IT. KILL IT WITH SB!KERNEL:GET-LISP-OBJ-ADDRESS, SB!SYS:INT-SAP, AND THE FIXNUM LOWTAGS! 2015-12-12T03:20:26Z nyef: Hrm. Except that it does me no good, because the very reason that I need to kill it is that it allocates on the number stack, which is outside the range of a heap word on alpha, thus cannot be a fixnum. 2015-12-12T03:21:18Z Ober quit (Ping timeout: 260 seconds) 2015-12-12T03:21:50Z Ober joined #sbcl 2015-12-12T03:30:22Z fe[nl]ix: nyef: just kill the Alpha port 2015-12-12T03:31:03Z nyef: fe[nl]ix: The plan is to get the MIPS port to have an n32 build option, and then turn around and move the alpha port to full 64-bithood. 2015-12-12T03:31:49Z fe[nl]ix: but why ? 2015-12-12T03:32:36Z nyef: Why what? 2015-12-12T03:32:48Z fe[nl]ix: why keep Alpha ? 2015-12-12T03:33:04Z nyef: The only reason to keep alpha in a 32-bit state is for NT support, which I really don't care about, but I don't want to lose the alpha backend. 2015-12-12T03:39:59Z nyef: One of the reasons to keep alpha, and in fact bring it up to the point where threads work, is because it is the most brutal platform in terms of required barriers. 2015-12-12T03:40:27Z nyef: If lock-free code works on Alpha, it should work anywhere. 2015-12-12T04:27:46Z adhoc quit (Ping timeout: 256 seconds) 2015-12-12T04:29:48Z adhoc joined #sbcl 2015-12-12T04:46:05Z edgar-rft quit (Quit: edgar-rft) 2015-12-12T07:27:35Z lomcovak joined #sbcl 2015-12-12T08:14:20Z gingerale joined #sbcl 2015-12-12T08:22:04Z nikki93 joined #sbcl 2015-12-12T08:29:08Z nikki93 quit (Remote host closed the connection) 2015-12-12T09:11:52Z lomcovak quit (Quit: Page closed) 2015-12-12T09:44:05Z psy_ joined #sbcl 2015-12-12T09:47:37Z scymtym joined #sbcl 2015-12-12T10:05:47Z sjl_ joined #sbcl 2015-12-12T10:06:15Z gingerale- joined #sbcl 2015-12-12T10:08:02Z gingerale quit (Disconnected by services) 2015-12-12T10:08:05Z gingerale- is now known as gingerale 2015-12-12T10:08:31Z angavrilov_ joined #sbcl 2015-12-12T10:10:00Z Bike_ joined #sbcl 2015-12-12T10:10:32Z luis` joined #sbcl 2015-12-12T10:10:58Z luis quit (Ping timeout: 240 seconds) 2015-12-12T10:10:58Z les quit (Ping timeout: 240 seconds) 2015-12-12T10:10:58Z angavrilov quit (Ping timeout: 240 seconds) 2015-12-12T10:10:58Z sjl quit (Ping timeout: 240 seconds) 2015-12-12T10:10:59Z Bike quit (Ping timeout: 240 seconds) 2015-12-12T10:11:10Z les joined #sbcl 2015-12-12T10:15:09Z frankS2 quit (Ping timeout: 245 seconds) 2015-12-12T10:16:36Z frankS2 joined #sbcl 2015-12-12T10:17:11Z les` joined #sbcl 2015-12-12T10:18:36Z les quit (Ping timeout: 240 seconds) 2015-12-12T10:32:00Z jdz quit (Ping timeout: 264 seconds) 2015-12-12T10:34:10Z jdz joined #sbcl 2015-12-12T10:57:18Z nikki93 joined #sbcl 2015-12-12T11:02:32Z lnostdal_ quit (Ping timeout: 272 seconds) 2015-12-12T11:05:12Z nikki93 quit (Remote host closed the connection) 2015-12-12T11:05:30Z nikki93 joined #sbcl 2015-12-12T11:06:02Z nikki93 quit (Remote host closed the connection) 2015-12-12T11:06:20Z sjl_ quit (Ping timeout: 272 seconds) 2015-12-12T11:15:02Z lnostdal_ joined #sbcl 2015-12-12T12:51:04Z stassats joined #sbcl 2015-12-12T12:55:06Z stassats quit (Ping timeout: 240 seconds) 2015-12-12T12:55:57Z stassats joined #sbcl 2015-12-12T13:06:28Z sjl joined #sbcl 2015-12-12T13:20:37Z edgar-rft joined #sbcl 2015-12-12T14:03:14Z ASau quit (Remote host closed the connection) 2015-12-12T14:03:53Z ASau joined #sbcl 2015-12-12T14:04:04Z psy_ quit (Read error: No route to host) 2015-12-12T14:17:30Z psy_ joined #sbcl 2015-12-12T14:17:54Z abbe quit (Ping timeout: 260 seconds) 2015-12-12T14:17:55Z jsnell quit (Ping timeout: 260 seconds) 2015-12-12T14:35:50Z lnostdal__ joined #sbcl 2015-12-12T14:39:08Z lnostdal_ quit (Ping timeout: 272 seconds) 2015-12-12T14:42:02Z ASau quit (Ping timeout: 256 seconds) 2015-12-12T14:45:31Z abbe_ joined #sbcl 2015-12-12T14:49:20Z jsnell joined #sbcl 2015-12-12T14:57:54Z lnostdal__ quit (Ping timeout: 256 seconds) 2015-12-12T15:05:50Z abbe_ is now known as abbe 2015-12-12T15:10:56Z lnostdal__ joined #sbcl 2015-12-12T15:11:57Z ASau joined #sbcl 2015-12-12T15:16:49Z ASau quit (Read error: Connection reset by peer) 2015-12-12T15:30:08Z ASau joined #sbcl 2015-12-12T15:36:20Z ASau quit (Read error: Connection reset by peer) 2015-12-12T15:44:31Z clique joined #sbcl 2015-12-12T16:00:15Z lnostdal__ quit (Ping timeout: 240 seconds) 2015-12-12T16:03:55Z lnostdal__ joined #sbcl 2015-12-12T16:49:28Z eudoxia joined #sbcl 2015-12-12T16:54:02Z xargs joined #sbcl 2015-12-12T17:18:39Z clique quit (Ping timeout: 252 seconds) 2015-12-12T17:31:51Z sjl_ joined #sbcl 2015-12-12T17:34:01Z |3b|` joined #sbcl 2015-12-12T17:34:20Z lacedaemon joined #sbcl 2015-12-12T17:40:02Z sigjuice_ joined #sbcl 2015-12-12T17:40:12Z Blkt_ joined #sbcl 2015-12-12T17:40:32Z edgar-rft quit (*.net *.split) 2015-12-12T17:40:32Z sjl quit (*.net *.split) 2015-12-12T17:40:33Z dougk_ quit (*.net *.split) 2015-12-12T17:40:33Z sigjuice quit (*.net *.split) 2015-12-12T17:40:33Z |3b| quit (*.net *.split) 2015-12-12T17:40:34Z fe[nl]ix quit (*.net *.split) 2015-12-12T17:40:34Z Blkt quit (*.net *.split) 2015-12-12T17:43:04Z edgar-rft joined #sbcl 2015-12-12T17:43:51Z xargs quit (Remote host closed the connection) 2015-12-12T17:47:24Z dougk_ joined #sbcl 2015-12-12T17:48:14Z eudoxia quit (Quit: Leaving) 2015-12-12T17:51:41Z |3b|` is now known as |3b| 2015-12-12T18:41:50Z Bike_ is now known as Bike 2015-12-12T19:16:01Z attila_lendvai joined #sbcl 2015-12-12T19:16:01Z attila_lendvai quit (Changing host) 2015-12-12T19:16:01Z attila_lendvai joined #sbcl 2015-12-12T19:26:30Z eudoxia joined #sbcl 2015-12-12T19:28:46Z sjl_ quit (Ping timeout: 256 seconds) 2015-12-12T19:31:17Z Quadrescence joined #sbcl 2015-12-12T19:32:06Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-12-12T19:34:48Z psy_ quit (Remote host closed the connection) 2015-12-12T19:55:05Z adhoc quit (Ping timeout: 250 seconds) 2015-12-12T19:55:10Z p_l quit (Ping timeout: 272 seconds) 2015-12-12T19:55:57Z p_l joined #sbcl 2015-12-12T19:57:12Z adhoc joined #sbcl 2015-12-12T20:07:24Z sjl joined #sbcl 2015-12-12T20:07:50Z p_l quit (Ping timeout: 272 seconds) 2015-12-12T20:09:11Z eudoxia_ joined #sbcl 2015-12-12T20:09:13Z eudoxia_ quit (Read error: Connection reset by peer) 2015-12-12T20:12:26Z eudoxia quit (Ping timeout: 240 seconds) 2015-12-12T20:29:45Z loke quit (Ping timeout: 250 seconds) 2015-12-12T20:30:06Z loke joined #sbcl 2015-12-12T20:49:08Z joshe joined #sbcl 2015-12-12T21:01:16Z ASau joined #sbcl 2015-12-12T21:14:38Z eudoxia joined #sbcl 2015-12-12T21:38:24Z adhoc quit (Ping timeout: 272 seconds) 2015-12-12T21:38:41Z adhoc joined #sbcl 2015-12-12T22:18:24Z nikki93 joined #sbcl 2015-12-12T22:19:08Z nikki93 quit (Client Quit) 2015-12-12T22:21:28Z attila_lendvai joined #sbcl 2015-12-12T22:21:28Z attila_lendvai quit (Changing host) 2015-12-12T22:21:28Z attila_lendvai joined #sbcl 2015-12-12T22:26:57Z ASau quit (Remote host closed the connection) 2015-12-12T22:27:38Z ASau joined #sbcl 2015-12-12T23:35:05Z gingerale quit (Remote host closed the connection) 2015-12-12T23:37:46Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-12-13T00:24:20Z stassats quit (Ping timeout: 272 seconds) 2015-12-13T01:01:24Z scymtym quit (Ping timeout: 256 seconds) 2015-12-13T01:31:38Z eudoxia quit (Read error: Connection reset by peer) 2015-12-13T01:35:44Z zacts joined #sbcl 2015-12-13T04:45:16Z psy_ joined #sbcl 2015-12-13T05:21:41Z lacedaemon is now known as fe[nl]ix 2015-12-13T06:30:39Z gingerale joined #sbcl 2015-12-13T06:41:37Z luis` quit (Ping timeout: 250 seconds) 2015-12-13T06:42:24Z luis joined #sbcl 2015-12-13T06:58:45Z clique joined #sbcl 2015-12-13T07:49:24Z adhoc quit (Ping timeout: 256 seconds) 2015-12-13T07:50:55Z adhoc joined #sbcl 2015-12-13T07:57:22Z adhoc quit (Ping timeout: 250 seconds) 2015-12-13T07:59:12Z adhoc joined #sbcl 2015-12-13T09:05:12Z clique quit (Ping timeout: 252 seconds) 2015-12-13T09:06:15Z adhoc quit (Ping timeout: 240 seconds) 2015-12-13T09:08:39Z adhoc joined #sbcl 2015-12-13T10:01:55Z lnostdal__ quit (Ping timeout: 240 seconds) 2015-12-13T10:25:38Z pootler_ quit (Ping timeout: 260 seconds) 2015-12-13T10:28:19Z frankS2 quit (Read error: Connection reset by peer) 2015-12-13T10:30:59Z pootler_ joined #sbcl 2015-12-13T10:31:04Z lnostdal__ joined #sbcl 2015-12-13T10:35:26Z pootler_ quit (Ping timeout: 240 seconds) 2015-12-13T10:39:38Z drmeister quit (Ping timeout: 260 seconds) 2015-12-13T10:45:28Z frankS2 joined #sbcl 2015-12-13T10:49:27Z drmeister joined #sbcl 2015-12-13T10:54:01Z pootler_ joined #sbcl 2015-12-13T11:11:35Z attila_lendvai joined #sbcl 2015-12-13T11:11:36Z attila_lendvai quit (Changing host) 2015-12-13T11:11:36Z attila_lendvai joined #sbcl 2015-12-13T11:24:10Z sjl quit (Ping timeout: 256 seconds) 2015-12-13T11:42:11Z clique joined #sbcl 2015-12-13T12:40:24Z sjl joined #sbcl 2015-12-13T13:00:03Z clique quit (Ping timeout: 252 seconds) 2015-12-13T13:12:26Z stassats joined #sbcl 2015-12-13T13:33:14Z chu quit (Ping timeout: 260 seconds) 2015-12-13T14:11:34Z chu joined #sbcl 2015-12-13T14:36:16Z SamSkulls joined #sbcl 2015-12-13T14:44:04Z stassats: well, fricas code is incomprehensible, which doesn't surprise me 2015-12-13T14:46:29Z ASau` joined #sbcl 2015-12-13T14:48:20Z ASau quit (Read error: Connection reset by peer) 2015-12-13T14:49:08Z scymtym__: does http://paste.lisp.org/display/166497 look ok? it gets rid of a ton of noise and makes some tests more strict. 2015-12-13T14:51:16Z Xof: stassats: at a guess, it's something that expands into some unimaginably large unrolled loop 2015-12-13T14:51:28Z Xof: but the new type checking code will generate one multiple-value-bind per type check 2015-12-13T14:52:21Z stassats: i can't interrupt and figure what it's compiling, it stops on interrupts 2015-12-13T14:52:55Z stassats: and i can't figure how to make it not do that 2015-12-13T14:53:14Z stassats: scymtym__: muffle-warning accept condition as an argument 2015-12-13T14:55:13Z scymtym__: stassats: thanks, will change that 2015-12-13T14:55:21Z stassats: scymtym__: in check-conditions (kind conditions allow) 2015-12-13T14:55:27Z stassats: (cond (allow ...) 2015-12-13T14:55:33Z stassats: then it's (and (not allow) conditions) 2015-12-13T14:55:44Z stassats: not sure how (not allow) can not succeed 2015-12-13T14:57:00Z Guest47560 joined #sbcl 2015-12-13T14:57:25Z scymtym__: right. that's an artifact from rewriting the code 2015-12-13T14:58:25Z stassats: would be nice if you wrapped top-level into with-test, at least for things that you changed 2015-12-13T14:59:06Z ASau` quit (Ping timeout: 240 seconds) 2015-12-13T15:01:04Z scymtym__: yeah, i'm always tempted to do that when i see missing WITH-TESTs, but last time i changed multiple things in one commit, nyef asked me to only change one thing 2015-12-13T15:01:26Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-12-13T15:02:07Z Xof: I agree too, fwiw 2015-12-13T15:02:40Z stassats: i'm talking about tests you change 2015-12-13T15:02:57Z stassats: how can you even test your changes properly without with-test? 2015-12-13T15:04:26Z Xof: anyway. stassats, in the changes in e71d813, you say "the compiler can emit test-predicate + type-check-error vops". Did that get implemented? It looks to me (superficially) that instead we always go through filter-lvar 2015-12-13T15:05:46Z ASau joined #sbcl 2015-12-13T15:15:12Z stassats: Xof: i didn't mean anything that doesn't involve filter-lvar 2015-12-13T15:15:55Z stassats: if that will solve the problem, then fine, but i don't know what the problem is 2015-12-13T15:22:17Z Xof: well, my guess is that before, we went through type-check-template -> primitive-type-check -> emit-type-check which is cheap to compile 2015-12-13T15:23:08Z Xof: for all those cases with check-type vops 2015-12-13T15:23:33Z Xof: and now we don't, we instead go through convert-type-check / make-type-check-form, which is more expensive 2015-12-13T15:24:04Z Xof: the cases which were :simple before e71d813 are now (effectively) :hairy 2015-12-13T15:25:02Z stassats: sure, but i still would need a test-case 2015-12-13T15:39:26Z psy_ quit (Ping timeout: 240 seconds) 2015-12-13T15:40:23Z Xof: annoyingly I can blow the stack much more easily than the heap 2015-12-13T15:41:19Z psy_ joined #sbcl 2015-12-13T15:45:22Z abbe quit (Ping timeout: 250 seconds) 2015-12-13T15:45:32Z stassats: well, i can implement direct vop emission and see if it improves fricas memory usage wholesale 2015-12-13T15:45:54Z stassats: but maybe it exposes some interesting thing that could be resolved differently 2015-12-13T15:48:22Z abbe joined #sbcl 2015-12-13T15:50:43Z ASau quit (Remote host closed the connection) 2015-12-13T15:51:29Z ASau joined #sbcl 2015-12-13T15:53:42Z Xof: I have a test case 2015-12-13T15:54:29Z Xof: http://paste.lisp.org/display/166504 2015-12-13T15:54:51Z Xof: compiles successfully under x86-64 sbcl-1.2.15, has heap exhaustion under HEAD 2015-12-13T15:55:17Z Xof: with default dynamic-space-size 2015-12-13T15:57:19Z stassats: ok, i can try using vops directly, but that's going to fall on complicated types anyway 2015-12-13T16:02:20Z Xof: it did before, didn't it? 2015-12-13T16:02:26Z Xof: that was the distinction between :simple and :hairy 2015-12-13T16:03:34Z ASau quit (Ping timeout: 250 seconds) 2015-12-13T16:04:49Z stassats: i would prefer a solution that solves both and only then use direct vop translation 2015-12-13T16:05:56Z scymtym__: while converting some test to CHECKED-COMPILE i found that (make-array 1 :element-type '(0)) doesn't signal a compile-time error or warning while e.g. (lambda (x) (declare (type (0) x)) x) does. changing (deftransform make-array) as in http://paste.lisp.org/display/166507 would give a similar compile-time error. does that make sense? 2015-12-13T16:06:05Z stassats: replacing FIXNUM with FLOAT blows heap on older sbcl 2015-12-13T16:07:41Z stassats: scymtym__: what about compiler-type-specifier? 2015-12-13T16:08:03Z ASau joined #sbcl 2015-12-13T16:10:24Z scymtym__: stassats: that seems to be exactly what is needed 2015-12-13T16:10:54Z stassats: i don't think we want either, though 2015-12-13T16:11:02Z scymtym__: how come? 2015-12-13T16:11:18Z stassats: it stops compilation 2015-12-13T16:11:23Z stassats: compare with (typep x '(0)) 2015-12-13T16:12:42Z scymtym__: maybe careful-specifier-type + compiler-warn? 2015-12-13T16:12:45Z stassats: can we make ir1-transform-specifier-type signal the warning? 2015-12-13T16:13:08Z stassats: optionally, sure, but what about always? 2015-12-13T16:13:54Z ASau quit (Remote host closed the connection) 2015-12-13T16:14:13Z scymtym__: i will do a build with ir1-transform-specifier-type signalling a warning before bailing out and report back after running tests 2015-12-13T16:14:24Z ASau joined #sbcl 2015-12-13T16:14:50Z adhoc quit (Ping timeout: 250 seconds) 2015-12-13T16:16:29Z scymtym__: the warning is signaled multiple times 2015-12-13T16:16:48Z adhoc joined #sbcl 2015-12-13T16:28:33Z stassats: i can reduce the number of transforms, at least 2015-12-13T16:32:13Z stassats: that reduces consing only slightly, 282 MB to 261 MB 2015-12-13T16:57:23Z stassats: with using LET instead of MVB, i get down to 258MB, still not good enough 2015-12-13T16:58:12Z stassats: let without a typecheck is just 72MB 2015-12-13T17:00:37Z prxq joined #sbcl 2015-12-13T17:04:38Z stassats: interestingly, there was check-float and check-array vops, but were unused 2015-12-13T17:10:28Z stassats: not using gensym i get it down to 202MB, which is very strange 2015-12-13T17:11:49Z stassats: about 55MB differences between using a constant symbol and gensym 2015-12-13T17:11:55Z stassats: gensym itself generates only 2MB 2015-12-13T17:17:21Z stassats: converting to a full call instead of type-check-error saves 20MB 2015-12-13T17:18:00Z stassats: or i'm looking at the wrong thing 2015-12-13T17:24:30Z stassats: in SB-INT:SSET-ADJOIN, something weird is going on with deleted-index 2015-12-13T17:27:35Z stassats: ignoring the fact that the code that uses it is never invoked, i have no idea what it's trying to do 2015-12-13T17:32:35Z scymtym__ is 8 % through compiler.pure.lisp 2015-12-13T17:32:38Z scymtym__ sighs 2015-12-13T17:32:57Z stassats: here's what i think it wanted to be http://paste.lisp.org/display/166514 2015-12-13T17:38:26Z stassats: sadly, that's not causing anything bad and not a magical cure to any bugs 2015-12-13T18:03:14Z scymtym__: i would like to commit CHECKED-COMPILE with the tests i managed to convert so far. objections? 2015-12-13T18:06:29Z Guest47560 quit (Ping timeout: 240 seconds) 2015-12-13T18:06:32Z scymtym__: patch is here: http://www.techfak.uni-bielefeld.de/~jmoringe/0001-tests-new-utility-function-CHECKED-COMPILE.patch 2015-12-13T18:07:25Z Blkt joined #sbcl 2015-12-13T18:07:39Z core2 joined #sbcl 2015-12-13T18:08:03Z core2 is now known as Guest43024 2015-12-13T18:08:04Z lacedaemon joined #sbcl 2015-12-13T18:08:26Z gingerale- joined #sbcl 2015-12-13T18:09:36Z pootler__ joined #sbcl 2015-12-13T18:12:57Z loke_ joined #sbcl 2015-12-13T18:13:26Z pootler_ quit (Ping timeout: 240 seconds) 2015-12-13T18:13:27Z Blkt_ quit (Ping timeout: 240 seconds) 2015-12-13T18:13:27Z fe[nl]ix quit (Ping timeout: 240 seconds) 2015-12-13T18:13:28Z joshe quit (Ping timeout: 240 seconds) 2015-12-13T18:13:29Z gingerale quit (Ping timeout: 240 seconds) 2015-12-13T18:13:29Z loke quit (Ping timeout: 240 seconds) 2015-12-13T18:13:55Z pootler__ is now known as pootler_ 2015-12-13T18:17:14Z ASau quit (Remote host closed the connection) 2015-12-13T18:18:40Z stassats: no idea how to solve type checks yet 2015-12-13T18:18:55Z ASau joined #sbcl 2015-12-13T18:29:05Z stassats: and why inserting such a simple form is so expensive 2015-12-13T18:37:43Z joshe joined #sbcl 2015-12-13T18:39:01Z stassats: ok, i think it's branches that are causing problems 2015-12-13T18:49:32Z adhoc quit (Ping timeout: 250 seconds) 2015-12-13T18:49:43Z ASau quit (Remote host closed the connection) 2015-12-13T18:50:09Z ASau joined #sbcl 2015-12-13T18:53:17Z stassats: %type-check-error/c being declared as NIL causes a lot of consing 2015-12-13T18:54:53Z stassats: which actually depends on where it's situated 2015-12-13T18:58:19Z nyef: Didn't we want it situated out-of-line anyway? 2015-12-13T18:59:13Z stassats: that doesn't really matter, the compiler doesn't like branches 2015-12-13T18:59:32Z stassats: which is understandable 2015-12-13T19:01:17Z stassats: what can it really do with the type-check-error branch? 2015-12-13T19:01:57Z stassats: i can probably make translate some form in ir2 without using ir1 branches 2015-12-13T19:03:35Z gingerale- is now known as gingerale 2015-12-13T19:03:48Z stassats: or maybe just having :simple :hairy :too-hairy again and translating it in SB-C::IR2-CONVERT-CAST 2015-12-13T19:05:34Z stassats: but check-vops had errors in elsewhere and without type-check-error being NIL it's hard to arrange 2015-12-13T19:06:09Z stassats: so, i would also need a generic way of putting stuff into elsewhere from ir2 2015-12-13T19:10:08Z stassats: so, typechecks themselves are fine it's the jumps that are problematic, so, what if i introduce an ir2 optimizer that calls a combination and jumps to an elsewhere located form 2015-12-13T19:10:26Z stassats: that way both FIXNUM and (satisfies primep) would be fine 2015-12-13T19:11:03Z stassats: i think that's the way to go 2015-12-13T19:23:20Z lnostdal__ quit (Ping timeout: 250 seconds) 2015-12-13T19:29:04Z stassats: not sure how to handle complicated union types, though 2015-12-13T19:33:54Z yvm quit (*.net *.split) 2015-12-13T19:33:55Z antoszka quit (*.net *.split) 2015-12-13T19:33:55Z White_Flame quit (*.net *.split) 2015-12-13T19:33:56Z ferada quit (*.net *.split) 2015-12-13T19:33:57Z nimiux quit (*.net *.split) 2015-12-13T19:33:57Z jackdaniel quit (*.net *.split) 2015-12-13T19:33:59Z scymtym__ quit (*.net *.split) 2015-12-13T19:33:59Z dsp- quit (*.net *.split) 2015-12-13T19:33:59Z salva quit (*.net *.split) 2015-12-13T19:33:59Z chris2 quit (*.net *.split) 2015-12-13T19:33:59Z hitecnologys quit (*.net *.split) 2015-12-13T19:34:01Z irsol quit (*.net *.split) 2015-12-13T19:34:01Z clop quit (*.net *.split) 2015-12-13T19:34:20Z yvm joined #sbcl 2015-12-13T19:34:20Z scymtym__ joined #sbcl 2015-12-13T19:34:20Z dsp- joined #sbcl 2015-12-13T19:34:20Z antoszka joined #sbcl 2015-12-13T19:34:20Z White_Flame joined #sbcl 2015-12-13T19:34:20Z salva joined #sbcl 2015-12-13T19:34:20Z chris2 joined #sbcl 2015-12-13T19:34:20Z hitecnologys joined #sbcl 2015-12-13T19:34:20Z jackdaniel joined #sbcl 2015-12-13T19:34:20Z nimiux joined #sbcl 2015-12-13T19:34:20Z ferada joined #sbcl 2015-12-13T19:34:20Z clop joined #sbcl 2015-12-13T19:34:20Z irsol joined #sbcl 2015-12-13T19:39:29Z adhoc joined #sbcl 2015-12-13T19:40:31Z antoszka quit (Ping timeout: 260 seconds) 2015-12-13T19:44:26Z lnostdal__ joined #sbcl 2015-12-13T19:57:44Z Xof: stassats: if you can handle NOT and AND then you can convert the union (OR X Y) into (NOT (AND (NOT X) (NOT Y))) 2015-12-13T20:00:45Z stassats: but it really would be better if the compiler could just handle branches better 2015-12-13T20:01:16Z stassats: i wonder what actually derails it 2015-12-13T20:05:17Z Xof: constraint propagation? 2015-12-13T20:12:17Z stassats: is there any benefit from it? 2015-12-13T20:14:00Z stassats: i guess some type checks might be partially reduced, but wouldn't it be done earlier anyway? 2015-12-13T20:36:41Z antoszka joined #sbcl 2015-12-13T20:36:46Z adhoc quit (Ping timeout: 240 seconds) 2015-12-13T20:38:38Z adhoc joined #sbcl 2015-12-13T20:51:06Z sjl quit (Ping timeout: 272 seconds) 2015-12-13T21:06:04Z prxq quit (Remote host closed the connection) 2015-12-13T21:06:54Z Guest43024 quit (Ping timeout: 250 seconds) 2015-12-13T21:06:58Z stassats: doing (setf sb-c::*constraint-propagate* nil) worsens things considerably 2015-12-13T21:07:17Z stassats: both consing and time, by about an order of magnitude 2015-12-13T21:07:32Z core1 joined #sbcl 2015-12-13T21:24:50Z core1 quit (Ping timeout: 256 seconds) 2015-12-13T21:30:59Z stassats: i think i can improve propagate-from-sets a bit 2015-12-13T21:37:06Z lacedaemon is now known as fe[nl]ix 2015-12-13T21:48:23Z core2 joined #sbcl 2015-12-13T21:48:47Z core2 is now known as Guest13132 2015-12-13T21:50:19Z gingerale quit (Remote host closed the connection) 2015-12-13T22:08:07Z scymtym joined #sbcl 2015-12-13T22:26:52Z sjl joined #sbcl