2015-01-20T00:19:05Z gingerale quit (Ping timeout: 264 seconds) 2015-01-20T00:19:52Z attila_lendvai quit (Quit: Leaving.) 2015-01-20T00:26:39Z slyrus joined #sbcl 2015-01-20T00:28:33Z loke quit (Ping timeout: 252 seconds) 2015-01-20T00:32:53Z psilord1 joined #sbcl 2015-01-20T00:34:27Z loke joined #sbcl 2015-01-20T00:45:23Z echo-area quit (Remote host closed the connection) 2015-01-20T00:46:05Z slyrus quit (Ping timeout: 272 seconds) 2015-01-20T02:07:07Z echo-area joined #sbcl 2015-01-20T02:18:47Z Guest98357 quit (Ping timeout: 256 seconds) 2015-01-20T03:06:13Z Adlai quit (Ping timeout: 250 seconds) 2015-01-20T03:39:11Z christop1 quit (Ping timeout: 246 seconds) 2015-01-20T03:57:50Z scymtym joined #sbcl 2015-01-20T04:23:39Z LiamH left #sbcl 2015-01-20T05:30:59Z nyef quit (Quit: G'night all.) 2015-01-20T06:01:16Z oleo__ quit (Quit: Verlassend) 2015-01-20T06:14:56Z pranavrc joined #sbcl 2015-01-20T06:14:56Z pranavrc quit (Changing host) 2015-01-20T06:14:56Z pranavrc joined #sbcl 2015-01-20T06:41:29Z sdemarre joined #sbcl 2015-01-20T07:08:50Z sdemarre quit (Ping timeout: 246 seconds) 2015-01-20T07:27:19Z christop1 joined #sbcl 2015-01-20T08:05:22Z edgar-rft quit (Quit: execution stopped into perpetual vacuum) 2015-01-20T08:07:09Z pacon joined #sbcl 2015-01-20T08:11:56Z fikusz quit (Quit: Leaving) 2015-01-20T08:14:11Z fikusz joined #sbcl 2015-01-20T08:27:35Z angavrilov joined #sbcl 2015-01-20T08:29:11Z pacon quit (Quit: Leaving) 2015-01-20T08:33:14Z Shinmera joined #sbcl 2015-01-20T08:37:34Z gingerale joined #sbcl 2015-01-20T08:37:47Z psy_ quit (Ping timeout: 245 seconds) 2015-01-20T08:40:49Z pacon joined #sbcl 2015-01-20T08:49:55Z irsol quit (Remote host closed the connection) 2015-01-20T09:07:31Z irsol joined #sbcl 2015-01-20T09:12:45Z irsol quit (Ping timeout: 272 seconds) 2015-01-20T09:13:52Z irsol joined #sbcl 2015-01-20T09:26:56Z pacon quit (Quit: Leaving) 2015-01-20T10:27:56Z psy_ joined #sbcl 2015-01-20T10:28:35Z psy_ quit (Max SendQ exceeded) 2015-01-20T10:28:56Z psy_ joined #sbcl 2015-01-20T10:52:02Z stassats joined #sbcl 2015-01-20T11:02:57Z scymtym quit (Ping timeout: 256 seconds) 2015-01-20T11:16:48Z echo-area quit (Remote host closed the connection) 2015-01-20T11:45:54Z eudoxia joined #sbcl 2015-01-20T11:59:50Z hlavaty joined #sbcl 2015-01-20T12:04:58Z stassats quit (Ping timeout: 245 seconds) 2015-01-20T12:32:27Z attila_lendvai joined #sbcl 2015-01-20T12:32:27Z attila_lendvai quit (Changing host) 2015-01-20T12:32:27Z attila_lendvai joined #sbcl 2015-01-20T12:42:44Z edgar-rft joined #sbcl 2015-01-20T13:02:30Z hydan_ joined #sbcl 2015-01-20T13:17:47Z Adlai joined #sbcl 2015-01-20T13:22:32Z Adlai quit (Client Quit) 2015-01-20T13:33:49Z pranavrc quit 2015-01-20T14:08:23Z psy_ quit (Quit: Leaving) 2015-01-20T14:25:18Z oleo joined #sbcl 2015-01-20T14:30:48Z Adlai joined #sbcl 2015-01-20T14:42:35Z Adlai quit (Ping timeout: 250 seconds) 2015-01-20T14:44:05Z pkhuong: does our runtime compile under MSVC? 2015-01-20T14:44:20Z Adlai joined #sbcl 2015-01-20T14:59:40Z nyef joined #sbcl 2015-01-20T15:30:03Z psy_ joined #sbcl 2015-01-20T15:39:14Z Cymew quit (Ping timeout: 265 seconds) 2015-01-20T15:54:31Z Adlai quit (Ping timeout: 250 seconds) 2015-01-20T15:56:24Z Adlai joined #sbcl 2015-01-20T15:56:57Z Adlai quit (Client Quit) 2015-01-20T16:12:12Z eudoxia quit (Quit: Leaving) 2015-01-20T16:35:50Z |3b|: hmm, something about aref seems to confuse debugger 2015-01-20T16:36:35Z |3b|: if i don't declare it notinline, debugger can't see locals in calling function when there is an error in aref, but can see them from other errors/break in same function 2015-01-20T16:37:30Z soggybread quit (Quit: Lost terminal) 2015-01-20T16:41:25Z scymtym joined #sbcl 2015-01-20T16:50:46Z Adlai joined #sbcl 2015-01-20T16:58:48Z pkhuong: re CPUID patch, unless we actually support MSVC, I'd rather use the inline asm everywhere and avoid ifdef 2015-01-20T17:03:09Z |3b|: and when i do declare AREF notinline, it shows up 3 times in backtrace with different args 2015-01-20T17:05:54Z psy_ quit (Quit: Leaving) 2015-01-20T17:06:31Z Bicyclidine joined #sbcl 2015-01-20T17:11:06Z eudoxia joined #sbcl 2015-01-20T17:12:44Z eudoxia quit (Client Quit) 2015-01-20T17:15:26Z cmack joined #sbcl 2015-01-20T17:15:54Z gabriel_laddel joined #sbcl 2015-01-20T17:16:18Z irsol quit (Ping timeout: 276 seconds) 2015-01-20T17:21:58Z irsol joined #sbcl 2015-01-20T17:37:22Z slyrus joined #sbcl 2015-01-20T17:37:40Z wasabiz__ joined #sbcl 2015-01-20T17:40:28Z |3b|: does sbcl have a utf-8 like encoding that can write any character? 2015-01-20T17:43:44Z nyef: Isn't the point of having unicode internal representation and utf-8 external-format that it CAN write any character that the system can represent? 2015-01-20T17:44:32Z |3b|: some code points aren't valid unicode characters from what i understand (stuff like the utf16 surrogate pairs) 2015-01-20T17:45:17Z |3b|: sbcl apparently objects to writing random (as in made with RANDOM and CODE-CHAR) characters as utf8 (which is reasonable, but option to do so anyway would be nice) 2015-01-20T17:45:27Z |3b|: looks like babel doesn't care, so will just use that for now 2015-01-20T17:49:06Z gabriel_laddel quit (Read error: Connection reset by peer) 2015-01-20T18:11:06Z psy_ joined #sbcl 2015-01-20T18:29:14Z attila_lendvai quit (Read error: No route to host) 2015-01-20T18:29:18Z attila_lendvai1 joined #sbcl 2015-01-20T18:29:18Z attila_lendvai1 is now known as attila_lendvai 2015-01-20T18:29:18Z attila_lendvai quit (Changing host) 2015-01-20T18:29:18Z attila_lendvai joined #sbcl 2015-01-20T18:40:49Z stassats joined #sbcl 2015-01-20T18:49:38Z Adlai quit (Remote host closed the connection) 2015-01-20T18:49:40Z irsol quit (Quit: leaving) 2015-01-20T18:50:06Z Adlai joined #sbcl 2015-01-20T18:51:15Z irsol joined #sbcl 2015-01-20T19:12:56Z Krystof: |3b|: if we were being proper, those surrogate pair "characters" wouldn't be lisp character objects at all 2015-01-20T19:13:23Z Krystof: so I would say strictly speaking it's generating random characters with RANDOM uniformly that's broken 2015-01-20T19:13:59Z |3b|: Krystof: yeah, that would be reasonable too 2015-01-20T19:42:32Z sdemarre joined #sbcl 2015-01-20T19:47:05Z gabriel_laddel joined #sbcl 2015-01-20T19:50:01Z Adlai quit (Remote host closed the connection) 2015-01-20T19:50:26Z Adlai joined #sbcl 2015-01-20T19:51:13Z Bicyclidine quit (Ping timeout: 245 seconds) 2015-01-20T19:52:50Z pkhuong: accept/reject loop ;) 2015-01-20T19:53:24Z Bicyclidine joined #sbcl 2015-01-20T19:59:41Z Adlai quit (Quit: WeeChat 1.0.1) 2015-01-20T20:00:55Z slyrus quit (Ping timeout: 244 seconds) 2015-01-20T20:01:24Z Bicyclidine quit (Ping timeout: 276 seconds) 2015-01-20T20:01:38Z stassats quit (Ping timeout: 246 seconds) 2015-01-20T20:07:43Z Bicyclidine joined #sbcl 2015-01-20T20:17:40Z slyrus joined #sbcl 2015-01-20T20:20:17Z Bicyclidine quit (Ping timeout: 245 seconds) 2015-01-20T20:25:37Z Bicyclidine joined #sbcl 2015-01-20T20:39:09Z Bicyclidine quit (Ping timeout: 244 seconds) 2015-01-20T20:39:49Z Bicyclidine joined #sbcl 2015-01-20T20:56:13Z gabriel_laddel quit (Ping timeout: 245 seconds) 2015-01-20T21:04:02Z slyrus quit (Ping timeout: 245 seconds) 2015-01-20T21:04:18Z slyrus_ joined #sbcl 2015-01-20T21:05:14Z slyrus_ is now known as slyrus 2015-01-20T21:06:42Z Adlai joined #sbcl 2015-01-20T21:08:07Z Hydan quit (Quit: ZNC - http://znc.in) 2015-01-20T21:08:52Z Hydan joined #sbcl 2015-01-20T21:11:18Z akkad: are threads supported on openbsd? 2015-01-20T21:12:40Z nyef: That might be a joshe question, but from what I understand OpenBSD is fairly hostile to threads for some reason. 2015-01-20T21:12:58Z akkad: yeah insecure... 2015-01-20T21:13:51Z akkad: ams: you use it on openbsd? 2015-01-20T21:14:00Z joshe: openbsd didn't have 1:1 threads until relatively recently 2015-01-20T21:14:07Z ams: threads work on openbsd .. 2015-01-20T21:14:28Z joshe: but I'm pretty sure I committed thread support for amd64, perhaps not for i386 though 2015-01-20T21:14:53Z ams: i'm on amd64 ... 2015-01-20T21:14:54Z joshe: I had wanted to implement LDT_AUTO_ALLOC before committing i386 threads 2015-01-20T21:15:11Z joshe: no powerpc threads, they don't work and I haven't investigated why 2015-01-20T21:15:57Z akkad: ams thanks. that'll work as a starting point. assuming it uses rthreads 2015-01-20T21:16:00Z ams: i don't know what hostile means, but sbcl on openbsd/amd64 with threads work well 2015-01-20T21:16:21Z joshe: ams: he is recalling pre-rthreads openbsd 2015-01-20T21:16:28Z akkad: threads on sparc/powerpc have always been fun on netbsd 2015-01-20T21:16:38Z nyef: ams: Hostile as in "it's a bad idea, risky, and we won't do it". 2015-01-20T21:16:46Z ams: nyef: ah 2015-01-20T21:16:55Z akkad: "we lack the talent to implement them securely" 2015-01-20T21:17:05Z nyef: So, how are we for thread support on netbsd? 2015-01-20T21:17:11Z jdz quit (Ping timeout: 244 seconds) 2015-01-20T21:17:14Z joshe: my impression was always more like "nobody was paid to do them so it took a long time" 2015-01-20T21:17:42Z akkad: no thread support for netbsd afaik 2015-01-20T21:17:58Z nyef: akkad: Is that at a kernel level or an SBCL level? 2015-01-20T21:18:11Z akkad: sbcl 2015-01-20T21:18:20Z akkad: netbsd has had kernel threads on all archs for a long time 2015-01-20T21:18:22Z nyef: akkad: Sounds like a good opportunity to get into SBCL hacking. 2015-01-20T21:18:54Z ams: :-) 2015-01-20T21:20:47Z nyef: Seriously, most of the heavy lifting of porting to the CPU, porting GENCGC to the CPU, adding threading support for the CPU on some other OS, and adding basic non-threaded support for the OS has already been done. 2015-01-20T21:21:44Z Krystof: there's just "debugging the OS's threads and their interactions with signals" left 2015-01-20T21:21:46Z Krystof: that's the easy 90% 2015-01-20T21:21:49Z stassats joined #sbcl 2015-01-20T21:21:52Z nyef: Exactly! 2015-01-20T21:22:29Z sdemarre quit (Ping timeout: 246 seconds) 2015-01-20T21:22:39Z nyef: It's just one piece, as most of the others are fairly solid by now. 2015-01-20T21:22:45Z jdz joined #sbcl 2015-01-20T21:23:44Z nyef: ("Wait, what? We already have thread support for two architectures, but the runtime itself isn't threadsafe yet?!?" -- Me, a few years ago.) 2015-01-20T21:24:53Z stassats: nyef: by the way, the mips build should be working now 2015-01-20T21:25:34Z nyef: stassats: Oh, good. I'm still trying to sort out a usable MIPS machine for myself. 2015-01-20T21:25:52Z stassats: that weird memory corruption thing? M-/ caused typo 2015-01-20T21:25:59Z nyef: Lovely. 2015-01-20T21:27:10Z stassats: and i had to scrap arg-count checking on all targets, since they are not interrupt safe 2015-01-20T21:27:15Z stassats: at least on PPC 2015-01-20T21:27:23Z nyef: Well, we knew that. 2015-01-20T21:28:00Z stassats: i mean, not scrap at all, but just enable for arm and x86oids 2015-01-20T21:28:35Z nyef: Okay, so as the backends get fixed we can enable it all over the place? 2015-01-20T21:28:54Z stassats: right, the code is there, just conditionalized out 2015-01-20T21:31:40Z stassats: now i don't remember what exactly was the problem on ppc, but it was something with the call sequence 2015-01-20T21:33:01Z stassats: and i think it has the same problem i had to fix on arm, calling unknown values could put arguments without allocating the stack space 2015-01-20T21:33:06Z nyef: There's a known interrupt-safety issue on PPC. 2015-01-20T21:33:12Z nyef: Yeah, that'd be it. 2015-01-20T21:33:20Z nyef: On all non-x86oid backends, really. 2015-01-20T21:33:36Z stassats: arm doesn't have that anymore 2015-01-20T21:35:09Z stassats: there's some potential copy-more-args problem, but i want to get backtraces on arm working to easily check for interrupt safety 2015-01-20T21:37:40Z nyef: I have to say, getting threads running on a new CPU can really highlight some interrupt race conditions. 2015-01-20T21:38:46Z stassats: having CSP in a variable is really inconvenient 2015-01-20T21:39:43Z nyef: Only having 15 registers is really inconvenient. 2015-01-20T21:39:56Z nyef: ... Doesn't x86-64 have 16? 2015-01-20T21:40:51Z stassats: if you're excluding PC from the registers, then yes, x86-64 has one more 2015-01-20T21:41:26Z nyef: If we stick x86-64 CSP in a variable, we should have just enough registers to do a partitioned register set, split stacks, AND threads. 2015-01-20T21:41:37Z stassats: and CCL uses GS for the thread structure on x86-64 linux, maybe we can steal a register too 2015-01-20T21:45:10Z stassats: nyef: i don't think we have to put CSP into a variable on x86-64 2015-01-20T21:45:29Z stassats: since we don't need have reg_NULL 2015-01-20T21:45:34Z stassats: so, it's two registers more 2015-01-20T21:45:54Z nyef: Ah, large immediates? 2015-01-20T21:46:05Z nyef: Yeah, that'd do the trick, I guess. 2015-01-20T21:46:48Z stassats: but i really don't like the LRA business 2015-01-20T21:47:08Z stassats: oh, and x86-64 doesn't have reg_CODE either, so, three more registers than on ARM 2015-01-20T21:47:40Z nyef: We'd add it for a partitioned register set scenario. 2015-01-20T21:47:57Z stassats: what for? 2015-01-20T21:48:34Z nyef: If we partition the register set, we move to scavenge_interrupt_context(), which wants to treat the program counter as an interior pointer. 2015-01-20T21:48:49Z stassats: there's no program counter? 2015-01-20T21:49:00Z nyef: instruction pointer, then. 2015-01-20T21:49:32Z nyef: Same concept. 2015-01-20T21:49:36Z stassats: but you don't have access to it, short of LEA [RIP]? 2015-01-20T21:50:15Z nyef: It's in the interrupt context. 2015-01-20T21:50:44Z stassats: ok, so, what's the deal with reg_CODE? 2015-01-20T21:51:22Z hydan_ quit (Quit: Leaving) 2015-01-20T21:51:25Z Adlai quit (Write error: Connection reset by peer) 2015-01-20T21:52:22Z stassats: i also don't like much the way pinning is implemented on gengc 2015-01-20T21:54:22Z nyef: reg_CODE serves a couple of purposes. One is to provide easy access to the boxed literal vector and other data within the code object. 2015-01-20T21:54:49Z stassats: RIP-relative provides an alright access to constants on x86-64 2015-01-20T21:55:11Z nyef: The other is to anchor the interior pointer nature of the program counter / instruction pointer during GC, which allows us to know that the code object is live and update anything that breaks if we relocate it. 2015-01-20T21:56:25Z Adlai joined #sbcl 2015-01-20T21:56:54Z stassats: i would prefer not to move live functions 2015-01-20T21:57:12Z nyef: I would prefer to have the option both ways. 2015-01-20T21:57:32Z stassats: since the LRA scheme will probably not play nicely with branch prediction 2015-01-20T21:57:39Z nyef: No probably about it. 2015-01-20T21:58:24Z stassats: precise backtraces, does that allow us to avoid LRA? 2015-01-20T21:58:31Z nyef: Maybe, with some work. 2015-01-20T21:58:54Z stassats: i just don't want things getting slower just because of some precision 2015-01-20T22:03:22Z stassats: tagged memory would come in really handy 2015-01-20T22:06:57Z angavrilov quit (Remote host closed the connection) 2015-01-20T22:07:31Z Adlai quit (Remote host closed the connection) 2015-01-20T22:09:56Z Adlai joined #sbcl 2015-01-20T22:14:53Z slyrus quit (Ping timeout: 264 seconds) 2015-01-20T22:19:20Z stassats: sometimes i just want a static language, but then i remember how much of a pain is to write programs for it 2015-01-20T22:26:28Z Bicyclidine quit (Quit: leaving) 2015-01-20T22:26:58Z Shinmera quit (Quit: しつれいしなければならないんです。) 2015-01-20T22:28:30Z slyrus joined #sbcl 2015-01-20T23:09:06Z Adlai quit (Remote host closed the connection) 2015-01-20T23:09:33Z Adlai joined #sbcl 2015-01-20T23:16:42Z slyrus quit (Ping timeout: 264 seconds) 2015-01-20T23:20:50Z oleo is now known as Guest88962 2015-01-20T23:21:42Z oleo__ joined #sbcl 2015-01-20T23:23:34Z Guest88962 quit (Ping timeout: 245 seconds) 2015-01-20T23:27:30Z stassats quit (Ping timeout: 264 seconds) 2015-01-20T23:58:46Z milosn quit (Ping timeout: 255 seconds) 2015-01-20T23:59:55Z milosn joined #sbcl