2014-05-01T00:19:13Z ccl-logbot joined #sbcl 2014-05-01T00:19:13Z 2014-05-01T00:19:13Z names: ccl-logbot ltbarcly cmack``` eudoxia rpg fikusz oleo ASau @Krystof foom Hydan xymox christoph_debian kludge` stassats DGASAU flip214 edgar-rft yacks psilord milosn irsol hzp ams Bike Intensity reb hlavaty les fe[nl]ix Blkt asedeno tmh_ phf jaimef PuercoPop ivan`` White_Flame cracauer Munksgaard nicdev |3b| leoc kanru pkhuong dsp_ ferada angavrilov redline6561 joshe pchrist faheem_ Posterdati antoszka luis brucem scymtym minion specbot mood yauz jsnell_ 2014-05-01T00:25:46Z drmeister joined #sbcl 2014-05-01T00:49:39Z ccl-logbot joined #sbcl 2014-05-01T00:49:39Z 2014-05-01T00:49:39Z names: ccl-logbot drmeister cmack``` eudoxia rpg fikusz oleo ASau @Krystof foom Hydan xymox christoph_debian kludge` stassats DGASAU flip214 edgar-rft yacks psilord milosn irsol hzp ams Bike Intensity reb hlavaty les fe[nl]ix Blkt asedeno tmh_ phf jaimef PuercoPop ivan`` White_Flame cracauer Munksgaard nicdev |3b| leoc kanru pkhuong dsp_ ferada angavrilov redline6561 joshe pchrist faheem_ Posterdati antoszka luis brucem scymtym minion mood yauz jsnell_ specbot 2014-05-01T00:56:15Z edgar-rft quit (Quit: execution expired into permanent damage) 2014-05-01T01:18:19Z ltbarcly joined #sbcl 2014-05-01T01:26:41Z ltbarcly_ joined #sbcl 2014-05-01T01:27:44Z ltbarcly quit (Ping timeout: 246 seconds) 2014-05-01T01:29:29Z stassats quit (Read error: Operation timed out) 2014-05-01T01:51:53Z ltbarcly_ quit (Quit: Computer has gone to sleep.) 2014-05-01T02:13:55Z rpg quit (Quit: rpg) 2014-05-01T02:36:40Z eudoxia quit (Quit: Lost terminal) 2014-05-01T02:38:41Z christoph_debian quit (Ping timeout: 255 seconds) 2014-05-01T02:52:04Z christoph_debian joined #sbcl 2014-05-01T03:40:49Z kanru` joined #sbcl 2014-05-01T03:46:39Z cmack``` is now known as cmack` 2014-05-01T04:00:03Z michael_lee joined #sbcl 2014-05-01T04:57:25Z pranavrc joined #sbcl 2014-05-01T05:00:05Z kanru` quit (Remote host closed the connection) 2014-05-01T05:07:04Z krzysz00 joined #sbcl 2014-05-01T05:56:07Z kanru` joined #sbcl 2014-05-01T06:04:18Z krzysz00 quit (Ping timeout: 240 seconds) 2014-05-01T06:15:42Z attila_lendvai joined #sbcl 2014-05-01T06:15:42Z attila_lendvai quit (Changing host) 2014-05-01T06:15:42Z attila_lendvai joined #sbcl 2014-05-01T06:16:14Z krzysz00 joined #sbcl 2014-05-01T06:22:26Z krzysz00 quit (Ping timeout: 246 seconds) 2014-05-01T07:18:03Z zRecursive joined #sbcl 2014-05-01T07:29:20Z oleo quit (Read error: Connection reset by peer) 2014-05-01T07:34:08Z oleo joined #sbcl 2014-05-01T07:43:17Z pranavrc quit (Remote host closed the connection) 2014-05-01T08:14:09Z pranavrc joined #sbcl 2014-05-01T08:14:10Z pranavrc quit (Changing host) 2014-05-01T08:14:10Z pranavrc joined #sbcl 2014-05-01T08:18:42Z pranavrc quit (Ping timeout: 240 seconds) 2014-05-01T08:40:01Z momo-reina joined #sbcl 2014-05-01T08:44:45Z pranavrc joined #sbcl 2014-05-01T08:44:45Z pranavrc quit (Changing host) 2014-05-01T08:44:45Z pranavrc joined #sbcl 2014-05-01T08:54:14Z zRecursive quit (Remote host closed the connection) 2014-05-01T09:17:34Z Posterdati quit (Quit: KVIrc 4.1.3 Equilibrium http://www.kvirc.net/) 2014-05-01T09:22:02Z momo-reina quit (Remote host closed the connection) 2014-05-01T09:57:09Z kludge` quit (Ping timeout: 252 seconds) 2014-05-01T09:58:48Z kludge` joined #sbcl 2014-05-01T10:15:06Z stassats joined #sbcl 2014-05-01T10:24:11Z edgar-rft joined #sbcl 2014-05-01T10:34:10Z erikvarga joined #sbcl 2014-05-01T11:04:30Z krzysz00 joined #sbcl 2014-05-01T11:24:24Z jdz joined #sbcl 2014-05-01T12:30:45Z pranavrc quit 2014-05-01T12:44:39Z krzysz00 quit (Ping timeout: 265 seconds) 2014-05-01T13:16:36Z jdz quit (Remote host closed the connection) 2014-05-01T13:17:10Z jdz joined #sbcl 2014-05-01T13:19:54Z jdz_ joined #sbcl 2014-05-01T13:23:30Z jdz quit (Ping timeout: 240 seconds) 2014-05-01T13:27:09Z nyef joined #sbcl 2014-05-01T13:27:20Z nyef: G'morning all. 2014-05-01T13:27:28Z nyef: I figured out what was wrong with purify. (-: 2014-05-01T13:28:08Z Krystof: yay 2014-05-01T13:28:12Z Krystof: that should make things faster 2014-05-01T13:28:14Z drmeister quit (Remote host closed the connection) 2014-05-01T13:28:43Z nyef: And I've now just pushed my tree, having rebased to include stassats' changes. 2014-05-01T13:28:48Z drmeister joined #sbcl 2014-05-01T13:29:54Z stassats: i did some move-if experiments yesterday, got some cases to work 2014-05-01T13:30:03Z stassats: but arm has much more scope for move-if 2014-05-01T13:31:24Z stassats: thought about two fixnums: move one fixnum into the result, and then conditionally ADD the difference to it, saving on encoding immediates 2014-05-01T13:32:32Z nyef: Yeah, there's some really good options for predicated code on ARM. 2014-05-01T13:32:51Z nyef: Been taking advantage of it all over the place within individual VOPs. 2014-05-01T13:32:55Z stassats: though, maybe inline constants should be used more 2014-05-01T13:32:59Z drmeister quit (Ping timeout: 255 seconds) 2014-05-01T13:33:23Z nyef: Mmm. Mind the displacement limit on a memory operation. 2014-05-01T13:37:15Z nyef: There's also a good chunk of disassembler in there, the backtrace fix for a blown THROW and an undefined-function, and working stepping. 2014-05-01T13:37:35Z Krystof: so, threads tomorrow? 2014-05-01T13:37:51Z stassats: no, gencgc tomorrow, thread the day after tomorrow 2014-05-01T13:37:58Z stassats: s 2014-05-01T13:38:08Z Krystof: and on the seventh day you can rest 2014-05-01T13:38:27Z segv- joined #sbcl 2014-05-01T13:39:32Z drmeister joined #sbcl 2014-05-01T13:41:32Z nyef: Actually, I'm thinking that we're pretty close to being able to forward-port. There's some loose ends, conditioned-out code for bits that we really should implement, and I'd like to do a whitespace pass, just in case, but otherwise this is pretty close to good. 2014-05-01T13:42:45Z stassats: make-target-2 with purify success 2014-05-01T13:44:17Z Krystof: nyef: I agree 2014-05-01T13:44:50Z nyef: We can worry about gencgc and scaring up another register for a TLS block later. 2014-05-01T13:45:07Z nyef: Like... October. October sounds like a good time to worry about gencgc. 2014-05-01T13:46:54Z stassats: if NIL were #x8000003 instead of #x800000B, then it could be encoded with rotations 2014-05-01T13:47:42Z nyef: No it couldn't. 2014-05-01T13:47:54Z nyef: Oh, my bad, there's just enough spread. 2014-05-01T13:48:08Z nyef: Not used to thinking on a half-nybble boundary. 2014-05-01T13:48:44Z nyef: I was actually thinking of stuffing the arg-passing "registers" into the TLS block. 2014-05-01T13:49:12Z nyef: After all, the only reason they're in registers is because we need the first three slots of the stack frame for other things. 2014-05-01T13:50:41Z drmeister quit (Read error: Connection reset by peer) 2014-05-01T13:51:32Z psilord1 joined #sbcl 2014-05-01T13:51:57Z stassats: though things like T and other static symbols would become more expensive 2014-05-01T13:52:22Z foom: Sounds like you're really close to a working ARM port now, awesome stuff! Can't wait to run QPX on my phone. ;p 2014-05-01T13:53:02Z drmeister joined #sbcl 2014-05-01T13:54:09Z stassats: though, if static space were higher up, NIL => #x80000003 , T => (+ #x80000003 28) => #x8000001F 2014-05-01T13:54:13Z stassats: both encodable 2014-05-01T13:54:41Z nyef: I can continue working on the disassembler once everything has been forward-ported... 2014-05-01T13:55:07Z nyef: Oh! I don't think we're using vfpv2 at all, I'm probably going to kill that out of make-config. 2014-05-01T13:56:23Z stassats: i once tried to make static space start from 0, on x86 2014-05-01T13:56:58Z stassats: doable, but needs some changes, and null-pointer as a protected address doesn't work anymore 2014-05-01T13:57:46Z foom: Yea, it sort of seems like a good idea cause it makes the addresses easier to encode...but then you lose page protection of null pointer deref, which seems a bit much to lose. 2014-05-01T13:58:13Z stassats: and it needs ulimit changes 2014-05-01T13:58:27Z foom: not ulimit, sysctl. 2014-05-01T13:58:49Z stassats: right 2014-05-01T13:59:10Z foom: now, if you could use the memory at fffffffffffffff0 or something. 2014-05-01T14:00:20Z drmeister quit (Read error: Connection reset by peer) 2014-05-01T14:00:40Z stassats: /proc/self/maps is saying that something called [vectors] is mapped at fff0000-fff1000, interrupt vectors? 2014-05-01T14:20:37Z drmeister joined #sbcl 2014-05-01T14:30:21Z nyef: VFPv3 is the one with the extra double-regs, isn't it? 2014-05-01T14:33:58Z kludge` quit (Quit: leaving) 2014-05-01T14:36:27Z kludge` joined #sbcl 2014-05-01T14:44:51Z erikvarga left #sbcl 2014-05-01T15:03:46Z Hydan quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) 2014-05-01T15:14:45Z stassats: it's a bit strange that the macro labeled as define-unary-fp-instruction actually takes two arguments 2014-05-01T15:15:38Z stassats: i know want to define which takes one argument, should i name nullary? 2014-05-01T15:16:11Z nyef: ... What are you doing? 2014-05-01T15:16:29Z stassats: fcmpz (compare float with zero) takes only one register 2014-05-01T15:16:39Z stassats: and sbcl demands two registers 2014-05-01T15:17:01Z nyef: Okay, that's cute. 2014-05-01T15:17:12Z nyef: So, just an op-m, no dest? 2014-05-01T15:17:23Z stassats: dest SBZ 2014-05-01T15:17:33Z stassats: which means Should Be Zero, in arm-speak 2014-05-01T15:17:54Z nyef: Yeah, it's a fairly common abbr in archrefs. 2014-05-01T15:18:35Z nyef: I'd probably hack up the macro to take an optional (or keyword) argument to override the dest. 2014-05-01T15:19:26Z nyef: Assuming, that is, that the remaining fixed parameters in the macro are acceptable. 2014-05-01T15:20:11Z nyef: If they aren't, just bang out an appropriate DEFINE-INSTRUCTION form or two directly, or... unary-fp-compare-instruction? 2014-05-01T15:20:47Z stassats: an additional parameter will do 2014-05-01T15:20:55Z stassats: but i still find it amusing that unary isn't actually unary 2014-05-01T15:22:01Z nyef: Yeah, the fcmp instructions are all technically binary. (-: 2014-05-01T15:26:55Z stassats: ok, now better (= (the double-float x) 0d0) 2014-05-01T15:28:42Z stassats: and faster too 2014-05-01T15:49:14Z stassats: and >/< too 2014-05-01T15:52:18Z nyef: Once we have this merged, I'm going to maybe do a couple of other minor cleanups and then focus on something else for a while. 2014-05-01T15:52:44Z slyrus joined #sbcl 2014-05-01T15:58:42Z attila_lendvai quit (Ping timeout: 245 seconds) 2014-05-01T16:00:55Z scymtym_ joined #sbcl 2014-05-01T16:03:10Z attila_lendvai joined #sbcl 2014-05-01T16:03:11Z attila_lendvai quit (Changing host) 2014-05-01T16:03:11Z attila_lendvai joined #sbcl 2014-05-01T16:10:39Z erikvarga joined #sbcl 2014-05-01T16:14:42Z michael_lee quit (Remote host closed the connection) 2014-05-01T16:45:47Z nicdev: kudos to you guys on the work for arm. can't wait to run SBCL on my Raspberry pi...thinking of ideas of what i will use it for! If i had the know how, I would definitely have loved to help 2014-05-01T16:46:23Z stassats: you can already run it 2014-05-01T16:46:33Z ltbarcly joined #sbcl 2014-05-01T16:51:21Z nyef: Heck, the self-build test was, what, yesterday? Tuesday? We're down to filing off rough edges, optimizations, and preparing to forward-port so that it can be committed as mainline. 2014-05-01T16:51:29Z nicdev: I can, your repo? out travelling from this evening and rest of the weekend but will clone and build it first thing Sunday night when i have my hands on my Rpi 2014-05-01T16:51:51Z nicdev: cool 2014-05-01T16:51:51Z stassats: my repo is more current now 2014-05-01T16:52:04Z nyef: We trade off as to which repo is most current. 2014-05-01T16:52:26Z nyef: By Sunday night, we might actually have merged it into the main repo, though. 2014-05-01T16:52:51Z nicdev: ok, will check before cloning on that day 2014-05-01T16:53:14Z drmeister quit (Remote host closed the connection) 2014-05-01T16:53:51Z drmeister joined #sbcl 2014-05-01T16:55:43Z drmeiste_ joined #sbcl 2014-05-01T16:56:27Z stassats: i wonder how much time building with ccl will take 2014-05-01T16:56:35Z stassats: half a day? 2014-05-01T16:56:59Z stassats: with clisp, it will probably take the whole day 2014-05-01T16:57:05Z stassats: on pi 2014-05-01T16:58:23Z drmeister quit (Ping timeout: 276 seconds) 2014-05-01T16:58:23Z Hydan joined #sbcl 2014-05-01T16:59:59Z nicdev: i have ccl and that's what i was gonna try to use to build with. 2014-05-01T17:00:18Z stassats: cross building is the fastest way 2014-05-01T17:01:45Z stassats: fast-lognot/fixnum breaks tagged register invariant, but it's never called because of the cost 2014-05-01T17:07:16Z stassats: and it's suboptimal, at that 2014-05-01T17:13:10Z drmeiste_ quit (Remote host closed the connection) 2014-05-01T17:13:23Z ltbarcly quit (Ping timeout: 265 seconds) 2014-05-01T17:14:13Z jdz_ quit (Remote host closed the connection) 2014-05-01T17:17:16Z stassats: it was optimal, just broken and never invoked 2014-05-01T17:17:19Z stassats: pushed a fix 2014-05-01T17:20:36Z drmeister joined #sbcl 2014-05-01T17:21:57Z sdemarre joined #sbcl 2014-05-01T17:23:03Z redline6561 is now known as redline9591 2014-05-01T17:23:19Z redline9591 is now known as redline6561 2014-05-01T17:24:58Z ltbarcly joined #sbcl 2014-05-01T17:53:51Z Krystof: wow, cross-compiling is fast when you remember all the steps 2014-05-01T17:54:33Z nicdev: Krystof: what do you mean by 'when you remember all the steps?' 2014-05-01T17:56:00Z Krystof: when you remember to copy the right output files to the right places from host->target and target->host 2014-05-01T17:57:00Z stassats: i have it scripted 2014-05-01T17:58:02Z stassats: now my logtest vop is overriden by an ir1 transform 2014-05-01T17:59:07Z stassats: probably a combination-implementation-style issue 2014-05-01T17:59:34Z stassats: this is so inelegant... 2014-05-01T18:00:57Z stassats: and i would have spend too much time figuring why the VOP is not used, compared to x86, if not for remembering about combination-implementation-style 2014-05-01T18:04:04Z redline6561: ... what is combination-implementation-style? 2014-05-01T18:07:08Z stassats: something unpleasant 2014-05-01T18:09:59Z jdz joined #sbcl 2014-05-01T18:16:39Z pkhuong: redline6561: we have to determine how best to transform stuff like logbitp and logtest depending on both IR1 type info and backend capabilities 2014-05-01T18:16:52Z pkhuong: c-i-s lets us interject backend-specific logic in the transformation logic. 2014-05-01T18:17:32Z stassats: wouldn't trying to invoke VOPs first work? 2014-05-01T18:17:43Z pkhuong: the default is to convert to logand/zerop, etc., and backends can specify variants in IR1. 2014-05-01T18:17:44Z stassats: though VOP selection happens at a later stage 2014-05-01T18:17:47Z pkhuong: stassats: exactly. 2014-05-01T18:17:55Z pkhuong: classic cross cutting concern. 2014-05-01T18:23:35Z pkhuong: http://trac.clozure.com/ccl/changeset/16067 <- not sure what this means for our version of the same hack 2014-05-01T18:27:06Z redline6561: aha. 2014-05-01T18:27:19Z redline6561: thanks pkhuong. i had a feeling it was something like that. 2014-05-01T18:28:10Z stassats: and it's called like that because combinations is an ir1 structures which represents function calls 2014-05-01T18:28:25Z stassats: but it can be implemented differently, hence "implementation-style" 2014-05-01T18:29:25Z stassats: i'm not quite sure why the word "combination", though 2014-05-01T18:33:37Z sdemarre quit (Ping timeout: 265 seconds) 2014-05-01T18:36:31Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-01T18:47:05Z Krystof: isn't that a lambda-calculus name for "function application" 2014-05-01T18:47:38Z slyrus quit (Ping timeout: 265 seconds) 2014-05-01T18:48:07Z stassats: pushed logtest & logbitp optimizations 2014-05-01T18:50:48Z stassats: trying to find some use to multiply-and-add 2014-05-01T19:01:14Z ltbarcly joined #sbcl 2014-05-01T19:11:36Z yacks quit (Quit: Leaving) 2014-05-01T19:18:26Z stassats: signum isn't optimized anywhere, but it can be done in just 3 instructions 2014-05-01T19:19:25Z stassats: forgot that cmov on x86 can't use immediates 2014-05-01T19:38:31Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-01T19:41:33Z pkhuong: signum... shift / cmp / setcc / zero-extend / or 2014-05-01T19:44:10Z stassats: what about negatives? 2014-05-01T19:44:19Z pkhuong: shift takes care of negatives 2014-05-01T19:44:28Z pkhuong: sar 2014-05-01T19:45:16Z stassats: if sar x, 31, then positives will be lost? 2014-05-01T19:45:26Z pkhuong: that why you cmp and setcc 2014-05-01T19:47:19Z stassats: cmp the old value? 2014-05-01T19:48:17Z stassats: anyway, on arm, that's just three instructions: CMP X, 0 MOVNE X, 1 MVNMI X, 0, take that CISC 2014-05-01T19:58:29Z oleo quit (Ping timeout: 252 seconds) 2014-05-01T19:59:04Z oleo joined #sbcl 2014-05-01T19:59:39Z nyef: Have a short-list for valid conditional integer-constant multiplies? 2014-05-01T20:00:37Z nyef: (Things like RSB , X, X, LSL 3 to multiply by 7.) 2014-05-01T20:02:18Z stassats: ok, i'm done for the day with micro-optimizations 2014-05-01T20:02:38Z stassats: array access is producing some suboptimal code, to check tomorrow 2014-05-01T20:03:24Z Krystof: my self-build is nearly done 2014-05-01T20:03:27Z Krystof: how long was it on the RPi? 2014-05-01T20:03:40Z stassats: 4:10 2014-05-01T20:03:58Z drmeister quit (Remote host closed the connection) 2014-05-01T20:04:49Z Krystof: though that was pre-purify 2014-05-01T20:05:11Z stassats: i expect it to take about an hour on my target, with cpu scaling disabled 2014-05-01T20:05:33Z stassats: and with some optimizations in 2014-05-01T20:05:42Z Krystof: your target is a phone? 2014-05-01T20:05:47Z stassats: yep 2014-05-01T20:05:53Z stassats: 1200MHz something 2014-05-01T20:06:06Z stassats: cortex A9, i reckon 2014-05-01T20:06:19Z nyef: Yeah, my RPi build was pre-purify. 2014-05-01T20:08:20Z stassats: my other phone has a 1400 MHz CPU, but i don't really want to root it 2014-05-01T20:09:00Z Krystof: I got a corruption warning while testing sb-posix 2014-05-01T20:09:06Z nyef: I'll try and set up a chroot on my tablet again soon. 2014-05-01T20:09:10Z Krystof: SB-POSIX-TESTS::RMDIR.ERROR.3 SB-POSIX-TESTS::RMDIR.ERROR.4 2014-05-01T20:09:10Z Krystof: CORRUPTION WARNING in SBCL pid 22652: 2014-05-01T20:09:10Z Krystof: Signal 4 received 2014-05-01T20:09:13Z Krystof: The integrity of this image is possibly compromised. 2014-05-01T20:09:25Z Krystof: is that known? 2014-05-01T20:09:35Z nyef: That's new by me, might be linkage-table or thumb related. 2014-05-01T20:09:42Z nyef: Ohh... 2014-05-01T20:09:44Z stassats: not known to me 2014-05-01T20:09:45Z nyef: Hrm. 2014-05-01T20:09:54Z nyef: Might have something to do with ldso-stubs, might not. 2014-05-01T20:10:24Z nyef: Hrm, no, that's a BX. 2014-05-01T20:11:31Z Krystof: sb-bsd-sockets as well 2014-05-01T20:11:37Z Krystof: this is from stassats's tree 2014-05-01T20:12:13Z nyef: Might be recent work, might be your system... What are you running, anyway? 2014-05-01T20:14:31Z stassats: checked with gdb, i'm using the bx version of linkage-table, had no problems 2014-05-01T20:14:58Z Krystof: the sigill is in stat() 2014-05-01T20:15:18Z Krystof: => 0x000225dc <+4>:movsr0, #3 2014-05-01T20:16:06Z Krystof: this is thumb code 2014-05-01T20:16:40Z nyef: Is that library code, or ours? 2014-05-01T20:16:51Z Krystof: looks like library code to me 2014-05-01T20:16:58Z stassats: Krystof: how old is your checkout? 2014-05-01T20:17:25Z Krystof: a88b41033d6955a8c91812ba68bf0311713fdd9b 2014-05-01T20:17:40Z Krystof: about 5 hours 2014-05-01T20:18:01Z stassats: should have the bx version of linkage-table, which should work with thumb 2014-05-01T20:18:07Z Krystof: I'm running Debian armhf 2014-05-01T20:18:43Z stassats: did it happen before? 2014-05-01T20:19:27Z Krystof: this is the first time I've got this far 2014-05-01T20:23:23Z Krystof: hm, I'm not sure I believe this disassembly 2014-05-01T20:23:30Z stassats: just rebuild the contribs, nothing suspicious 2014-05-01T20:23:35Z stassats: rebuilt 2014-05-01T20:23:57Z Krystof: 0x225d8 :movr2, r1 2014-05-01T20:23:57Z Krystof: 0x225da :movr1, r0 2014-05-01T20:23:57Z Krystof: => 0x225dc :movsr0, #3 2014-05-01T20:23:57Z Krystof: 0x225de :b.w0xaab8 2014-05-01T20:24:32Z Krystof: hm 2014-05-01T20:24:41Z Krystof: I wonder if I remembered to copy over sbcl.nm 2014-05-01T20:24:53Z Krystof: no, wait, this is a full local build 2014-05-01T20:24:58Z stassats: if it went so far, you did 2014-05-01T20:24:59Z Krystof: no copying anything 2014-05-01T20:27:03Z Krystof: (sb-posix:stat "/") is enough to make it go boom 2014-05-01T20:27:18Z Posterdati joined #sbcl 2014-05-01T20:27:48Z Krystof: mind you if that's what it thinks stat() is I'm not surprised it's all gone wrong 2014-05-01T20:27:51Z stassats: (sb-alien::dlsym sb-alien::*runtime-dlhandle* "stat")? 2014-05-01T20:29:21Z stassats: is stat even going through the linkage-table? 2014-05-01T20:29:47Z stassats: => no 2014-05-01T20:30:21Z Bicyclidine joined #sbcl 2014-05-01T20:31:00Z Krystof: if I single-step through stat_wrapper during initialization I can also make things go boom 2014-05-01T20:31:02Z Krystof: though not if I don't 2014-05-01T20:31:04Z Krystof: *sigh* 2014-05-01T20:32:16Z stassats: paste the disassemble of stat_wrapper? 2014-05-01T20:32:37Z stassats: (sb-alien::dlsym sb-alien::*runtime-dlhandle* "stat_wrapper") 2014-05-01T20:33:08Z Krystof: the relevant bit is 2014-05-01T20:33:09Z Krystof: 0x0001fb88 <+28>:movr1, r3 2014-05-01T20:33:09Z Krystof: 0x0001fb8c <+32>:blx0x225d8 2014-05-01T20:33:12Z Krystof: 0x0001fb90 <+36>:strr0, [r11, #-8] 2014-05-01T20:33:21Z Posterdati quit (Ping timeout: 250 seconds) 2014-05-01T20:33:28Z Krystof: that is, it definitely is jumping to this weird bit of code that doesn't make sense 2014-05-01T20:33:38Z Krystof: hm, I wonder if this is how this machine does syscalls 2014-05-01T20:35:26Z ltbarcly joined #sbcl 2014-05-01T20:35:27Z Krystof: runtime-dlhandle of stat_wrapper is also 0x0 2014-05-01T20:35:43Z stassats: so, stat_wrapper is arm, stat is thumb, but blx 0x225d8 doesn't have the first bit set, but may the dissambler is just showing it like that? 2014-05-01T20:35:56Z erikvarga left #sbcl 2014-05-01T20:36:01Z stassats: can you do disassemble /r stat_wrapper 2014-05-01T20:36:13Z stassats: and show the blx line 2014-05-01T20:36:29Z Krystof: 0x0001fb8c <+32>:91 0a 00 faheem_ blx0x225d8 2014-05-01T20:36:33Z Krystof: ha 2014-05-01T20:36:41Z stassats: fa, i take it? 2014-05-01T20:36:42Z Krystof: 91 0a 00 fa 2014-05-01T20:37:12Z nyef: Nick completion? 2014-05-01T20:37:14Z stassats: now to decode that 2014-05-01T20:39:59Z stassats: ok, that kind of BLX unconditionally switches to thumb 2014-05-01T20:41:44Z attila_lendvai quit (Quit: Leaving.) 2014-05-01T20:42:31Z stassats: and 0x225d8 checks out 2014-05-01T20:43:25Z nyef: Krystof: So, is that your BBB, or something else? 2014-05-01T20:43:58Z cmack` quit (Read error: No route to host) 2014-05-01T20:44:31Z Krystof: BBB 2014-05-01T20:44:42Z nyef: Stock system, or did you install anything special? 2014-05-01T20:46:28Z Krystof: I installed debian from the vendor 2014-05-01T20:46:48Z Krystof: well, the good news is that if I make a silly C program which just calls stat I also can't single-step through it with gdb 2014-05-01T20:46:56Z stassats: my stat is not thumby, and calls __xstat 2014-05-01T20:46:57Z Posterdati joined #sbcl 2014-05-01T20:47:36Z stassats: and it does look like yours, mov r1, r0, mov r0, #3 2014-05-01T20:47:39Z nyef: I should be able to try building on my BBB soon. Still haven't set the damned thing up, though. 2014-05-01T20:47:58Z stassats: __xstat has the first argument int ver, and it's specified to be 3 2014-05-01T20:48:23Z stassats: so, b.w0xaab8 should a call to __xstat, but it isn't 2014-05-01T20:49:23Z stassats: Krystof: can you do disassemble __xstat and see what's its address? 2014-05-01T20:50:15Z Krystof: it sort of is 2014-05-01T20:50:22Z Krystof: 0xaab8 :bxpc 2014-05-01T20:50:23Z Krystof: 0xaaba :nop; (mov r8, r8) 2014-05-01T20:50:23Z Krystof: 0xaabc <__xstat>:addr12, pc, #0, 12 2014-05-01T20:50:48Z stassats: ok then 2014-05-01T20:52:10Z stassats: now, what does it all mean? 2014-05-01T20:52:14Z nyef: So it's off by 4? 2014-05-01T20:52:40Z Krystof: well the bx pc presumably jumps to the right place 2014-05-01T20:52:57Z stassats: nyef: bx pc would jump 4 forward 2014-05-01T20:53:04Z stassats: on thumb 2014-05-01T20:53:15Z Krystof: do we go through ldso_stubs for stat()? 2014-05-01T20:53:20Z nyef: And possibly switch modes? 2014-05-01T20:53:37Z stassats: pc doesn't have the 1 bit set, does it? 2014-05-01T20:53:45Z Krystof: xstat here is army not thumby 2014-05-01T20:54:02Z nyef: Right, so bxpc would kick it out of thumb and into arm. 2014-05-01T20:55:24Z stassats: but the sigbus is earlier? 2014-05-01T20:55:42Z stassats: or was it sigill 2014-05-01T20:56:42Z Krystof: the sigill is in stat 2014-05-01T20:57:09Z Krystof: is there a state flag somewhere that should be thumb that I can query? 2014-05-01T21:00:53Z stassats: CPSR should have 6th bit set 2014-05-01T21:01:02Z stassats: info registers should show it 2014-05-01T21:01:03Z Krystof: (gdb) info reg cpsr 2014-05-01T21:01:03Z Krystof: cpsr 0x600000101610612752 2014-05-01T21:01:07Z Krystof: gah, stupid paste 2014-05-01T21:01:11Z Krystof: 0x60000010 2014-05-01T21:01:16Z Krystof: so, "no" 2014-05-01T21:02:22Z stassats: so, stepping from stat_wrapper and checking for the thumb state? 2014-05-01T21:03:14Z stassats: and, disassemble of how stat_wrapper jumps to stat would be useful to 2014-05-01T21:03:25Z nyef: Okay, I need to head out. I'll probably sign on again in a couple of hours. 2014-05-01T21:03:30Z nyef quit (Quit: Bye all.) 2014-05-01T21:04:15Z Krystof: stassats: yeah, but single-stepping an innocuous C program breaks, so I'm not sure I trust gdb 2014-05-01T21:04:56Z Krystof: also, I don't think that sb-posix:stat goes through stat_wrapper 2014-05-01T21:05:22Z cmack` joined #sbcl 2014-05-01T21:05:39Z stassats: right 2014-05-01T21:06:13Z stassats: so, it goes through ldso_stubs, and doesn't interwork 2014-05-01T21:06:18Z stassats: now it makes sense 2014-05-01T21:06:35Z stassats: Krystof: is the address of stat in sbcl.nm odd? 2014-05-01T21:07:08Z Krystof: not terribly 2014-05-01T21:07:08Z Krystof: 000225d8 T __stat 2014-05-01T21:07:22Z Krystof: 000225d8 W stat 2014-05-01T21:08:29Z stassats: so how would it know that it's a thumb routine? 2014-05-01T21:09:51Z slyrus joined #sbcl 2014-05-01T21:10:18Z Krystof: wait, but ldso_stub__stat does 2014-05-01T21:10:18Z Krystof: 0x00021fe0 <+0>:ldrr8, [pc, #628]; 0x2225c 2014-05-01T21:10:26Z Krystof: +4 bx r8 2014-05-01T21:10:59Z Krystof: so I'm not sure what that proves 2014-05-01T21:11:18Z Krystof: except what is that 0x2225c address? 2014-05-01T21:12:04Z Krystof: it has... 0x000225d9 2014-05-01T21:12:25Z drmeister joined #sbcl 2014-05-01T21:12:29Z stassats: 9 appears to be an odd number 2014-05-01T21:12:32Z Krystof: yes 2014-05-01T21:13:02Z Krystof: temporarily at least 2014-05-01T21:13:45Z stassats: and (sb-impl::find-foreign-symbol-in-table "stat" sb-sys:*static-foreign-symbols*)? 2014-05-01T21:14:14Z Krystof: 225D8 2014-05-01T21:14:23Z stassats: that's what i expected 2014-05-01T21:14:40Z stassats: and ldso_stub__stat looks like ARM? 2014-05-01T21:14:56Z psilord1 quit (Quit: Leaving.) 2014-05-01T21:15:08Z stassats: +0 +4, it does 2014-05-01T21:15:21Z Krystof: yes 2014-05-01T21:15:28Z stassats: so, everything should work 2014-05-01T21:16:42Z stassats: wait 2014-05-01T21:17:06Z ltbarcly quit (Ping timeout: 240 seconds) 2014-05-01T21:17:08Z stassats: the number is 0x000225d9, and (sb-impl::find-foreign-symbol-in-table "stat" sb-sys:*static-foreign-symbols*) returns 225D8, which is wrong 2014-05-01T21:17:16Z stassats: and wouldn't really work anyway 2014-05-01T21:17:39Z stassats: ok, it's back to making sense 2014-05-01T21:17:46Z Krystof: also, I'm not convinced that we go through ldso_stub__stat either 2014-05-01T21:18:07Z Krystof: at least, I didn't get a breakpoint there to fire 2014-05-01T21:18:17Z stassats: the first match, stat, has the preference 2014-05-01T21:18:31Z stassats: only then it appends ldso_stub__stat__ 2014-05-01T21:18:44Z stassats: it would have worked otherwise 2014-05-01T21:18:59Z Krystof: right 2014-05-01T21:19:02Z stassats: you can swap it in sb-impl::find-foreign-symbol-in-table and try again 2014-05-01T21:19:23Z stassats: and wait until sb-dynamic-core is gained during the merge 2014-05-01T21:20:47Z Krystof: indeed, swapping makes it work 2014-05-01T21:21:35Z ltbarcly joined #sbcl 2014-05-01T21:21:41Z Krystof: well, mystery solved 2014-05-01T21:22:02Z Krystof: is dynamic core the right fix, or do we need to think harder? 2014-05-01T21:22:22Z stassats: depends on what dlsym returns 2014-05-01T21:22:51Z stassats: can you build the runtime with -Wl,--export-dynamic to LINKFLAGS in Config.arm-linux? 2014-05-01T21:23:17Z stassats: and then (sb-alien::dlsym sb-alien::*runtime-dlhandle* "stat"), probably need to slam after the runtime rebuilding 2014-05-01T21:23:43Z stassats: i, for some reason, don't have anything thumby looking in my system 2014-05-01T21:30:07Z stassats: to avoid rebuilding: 2014-05-01T21:30:22Z stassats: gdb ./sbcl, run, call dlsym(dlopen(0, 258), "start") 2014-05-01T21:30:26Z slyrus quit (Ping timeout: 255 seconds) 2014-05-01T21:30:33Z stassats: stat 2014-05-01T21:31:34Z Krystof: 0 2014-05-01T21:31:44Z stassats: with -Wl,--export-dynamic? 2014-05-01T21:32:21Z Krystof: I think so but I will double-check 2014-05-01T21:33:24Z Krystof: yes 2014-05-01T21:33:44Z Krystof: (gdb) call dlsym(dlopen(0, 258), "stat") 2014-05-01T21:33:44Z Krystof: $1 = 0 2014-05-01T21:33:44Z Krystof: (gdb) call dlsym(dlopen(0, 258), "main") 2014-05-01T21:33:44Z Krystof: $2 = 137260 2014-05-01T21:33:57Z stassats: hm, here too 2014-05-01T21:34:12Z Krystof: stat's not a library function, I guess 2014-05-01T21:34:28Z stassats: wrong dlopen handle, i guess 2014-05-01T21:35:08Z stassats: on x86-64 with sb-dynamic-core, it returns 0 too 2014-05-01T21:35:36Z Krystof: so we definitely have to think some more 2014-05-01T21:35:50Z stassats: but sb-posix:stat is using stat_largefile 2014-05-01T21:37:43Z Krystof: also 0 2014-05-01T21:37:54Z stassats: largefile is not enabled on arm 2014-05-01T21:38:03Z stassats: something to work on too 2014-05-01T21:38:32Z drmeister quit (Ping timeout: 276 seconds) 2014-05-01T21:39:37Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-01T21:41:50Z stassats: Krystof: try __xstat 2014-05-01T21:42:15Z stassats: or was __xstat not thumb 2014-05-01T21:42:23Z Krystof: __xstat was not thumb 2014-05-01T21:42:27Z stassats: perror? 2014-05-01T21:42:41Z Krystof: perror and __xstat give me answers 2014-05-01T21:42:48Z stassats: is perror odd? 2014-05-01T21:44:22Z drmeister joined #sbcl 2014-05-01T21:44:33Z stassats: if you can find any thumb function, i want to know if dlsym gives an odd address for it 2014-05-01T21:47:18Z Krystof: hang on 2014-05-01T21:47:39Z Krystof: dlsym is thumb but gives an even address 2014-05-01T21:48:41Z stassats: we can call dlsym alright 2014-05-01T21:48:53Z stassats: can we? 2014-05-01T21:48:59Z stassats: maybe it's an army stub? 2014-05-01T21:50:50Z Krystof: crap, what is C for "cast to pointer to function with void* and char* arguments returning void *"? 2014-05-01T21:52:10Z joshe: (void *(*)(void *, char *)) iirc 2014-05-01T21:53:01Z Krystof: thank you 2014-05-01T21:57:29Z stassats: i downloaded libdl form armhf, and nm -D shows an odd address 2014-05-01T21:57:37Z Krystof: trying to work out all the different combinations of code compiled as arm/thumb calling dlsym()ed symbols with arm/thumb 2014-05-01T21:58:35Z Krystof: so, but look 2014-05-01T21:59:07Z Krystof: ah, wait 2014-05-01T21:59:27Z Krystof: no don't wait 2014-05-01T21:59:58Z Krystof: if I do 2014-05-01T21:59:59Z Krystof: void *dlsymsym = dlsym(dlhandle, "dlsym"); 2014-05-01T21:59:59Z Krystof: void *mainsym = ((void *(*)(void *, char *)) dlsymsym)(dlhandle, "main"); 2014-05-01T21:59:59Z Krystof: printf("%p %p\n", dlsymsym, mainsym); 2014-05-01T22:00:11Z Krystof: compiled as thumb, I get 2014-05-01T22:00:16Z Krystof: 0x8668 0x86ed 2014-05-01T22:00:37Z Krystof: that is, it has identified the dlsym symbol as being 0x8668 (even) 2014-05-01T22:00:39Z drmeister quit (Read error: Connection reset by peer) 2014-05-01T22:00:52Z jdz quit (Remote host closed the connection) 2014-05-01T22:01:15Z Krystof: and it is 2014-05-01T22:01:47Z stassats: well, it identified mainsym as an odd number, enough for me 2014-05-01T22:02:46Z Krystof: oh, so we rely on dlsym() to do the magic necessary? 2014-05-01T22:02:53Z stassats: yes 2014-05-01T22:03:01Z Krystof: I wonder how it knows 2014-05-01T22:03:04Z Krystof: ok, bedtime 2014-05-01T22:03:11Z stassats: the same way gcc knows? 2014-05-01T22:03:16Z stassats: i wonder if i can distupgrade to armhf 2014-05-01T22:05:05Z stassats: not sure whether it will like my kernel, which i can't change easily 2014-05-01T22:10:29Z stassats quit (Ping timeout: 252 seconds) 2014-05-01T22:12:50Z drmeister joined #sbcl 2014-05-01T22:14:22Z nyef joined #sbcl 2014-05-01T22:14:34Z nyef: Okay, I'm back. 2014-05-01T22:20:41Z Krystof: you missed lots of excitement 2014-05-01T22:22:06Z nyef: I saw. Fun and games with dlsym() and thumb? 2014-05-01T22:37:52Z slyrus joined #sbcl 2014-05-01T22:41:39Z zRecursive joined #sbcl 2014-05-01T22:41:59Z segv- quit (Remote host closed the connection) 2014-05-01T22:44:15Z ltbarcly joined #sbcl 2014-05-01T22:49:42Z nyef: ... What happens when a backend doesn't define a raw-instance-init/whatever VOP for some type? 2014-05-01T22:50:17Z ASau quit (Remote host closed the connection) 2014-05-01T22:51:06Z nyef: Hrm. Okay, there's a feature conditional for it. 2014-05-01T22:51:15Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-01T22:51:35Z nyef: Which leads to the question, what's the difference between the init and set VOPs? 2014-05-01T22:52:16Z nyef: Ah. Constant index and instance-length. 2014-05-01T22:52:46Z drmeister quit (Remote host closed the connection) 2014-05-01T22:53:29Z ltbarcly joined #sbcl 2014-05-01T22:53:54Z ASau joined #sbcl 2014-05-01T22:54:40Z stassats joined #sbcl 2014-05-01T22:59:49Z edgar-rft quit (Quit: continuation abandoned because something exploded) 2014-05-01T23:06:33Z drmeister joined #sbcl 2014-05-01T23:24:04Z ltbarcly_ joined #sbcl 2014-05-01T23:24:47Z ltbarcly quit (Ping timeout: 246 seconds) 2014-05-01T23:45:05Z ltbarcly_ quit (Quit: Computer has gone to sleep.) 2014-05-01T23:49:53Z ltbarcly joined #sbcl 2014-05-01T23:49:54Z Bicyclidine quit (Quit: leaving) 2014-05-02T00:13:58Z ltbarcly quit (Ping timeout: 240 seconds) 2014-05-02T00:15:33Z ltbarcly joined #sbcl 2014-05-02T00:36:53Z slyrus quit (Ping timeout: 246 seconds) 2014-05-02T00:50:42Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-02T00:55:43Z ltbarcly joined #sbcl 2014-05-02T01:10:09Z stassats quit (Ping timeout: 252 seconds) 2014-05-02T01:17:12Z scymtym_ quit (Ping timeout: 265 seconds) 2014-05-02T01:29:17Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-02T01:29:29Z Hydan quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) 2014-05-02T01:46:28Z nyef: Ah, damn. instance-header-widetag is more than four bits wide. /-: 2014-05-02T01:47:00Z nyef: ... More than SIX bits wide. 2014-05-02T01:47:06Z nyef: Six was my cutoff point. 2014-05-02T01:50:31Z nyef: Hrm. But there's still an angle, since I need to apply a displacement for the lowtag anyway... 2014-05-02T02:04:13Z nyef: Double-damn. I'm fairly sure that I have a VARIABLE high bit on the widetag, which means that I need a separate instruction to clear it one way or another. 2014-05-02T02:09:18Z asedeno quit (Ping timeout: 252 seconds) 2014-05-02T02:18:35Z zRecursive: :q 2014-05-02T02:18:39Z zRecursive quit (Remote host closed the connection) 2014-05-02T02:37:19Z nyef quit (Quit: G'night all.) 2014-05-02T02:39:51Z christoph_debian quit (Ping timeout: 265 seconds) 2014-05-02T02:52:50Z christoph_debian joined #sbcl 2014-05-02T03:34:57Z Krystof quit (Ping timeout: 245 seconds) 2014-05-02T03:52:52Z Bike quit (Quit: should focus a bit) 2014-05-02T04:24:19Z attila_lendvai joined #sbcl 2014-05-02T04:50:51Z yacks joined #sbcl 2014-05-02T04:52:08Z Bike joined #sbcl 2014-05-02T05:10:16Z oleo quit (Quit: Leaving) 2014-05-02T05:45:14Z tmh_ quit (Ping timeout: 252 seconds) 2014-05-02T05:47:36Z pranavrc joined #sbcl 2014-05-02T05:47:36Z pranavrc quit (Changing host) 2014-05-02T05:47:36Z pranavrc joined #sbcl 2014-05-02T05:55:14Z sdemarre joined #sbcl 2014-05-02T06:14:18Z sdemarre quit (Ping timeout: 240 seconds) 2014-05-02T06:25:00Z Krystof joined #sbcl 2014-05-02T06:25:00Z ChanServ has set mode +o Krystof 2014-05-02T06:51:03Z tmh_ joined #sbcl 2014-05-02T06:58:27Z pranavrc_ joined #sbcl 2014-05-02T06:59:57Z pranavrc quit (Ping timeout: 250 seconds) 2014-05-02T07:07:38Z ASau quit (Ping timeout: 240 seconds) 2014-05-02T07:10:46Z pranavrc joined #sbcl 2014-05-02T07:10:46Z pranavrc quit (Changing host) 2014-05-02T07:10:46Z pranavrc joined #sbcl 2014-05-02T07:11:58Z pranavrc_ quit (Ping timeout: 265 seconds) 2014-05-02T07:35:32Z pranavrc_ joined #sbcl 2014-05-02T07:37:02Z pranavrc quit (Ping timeout: 255 seconds) 2014-05-02T08:20:11Z jdz joined #sbcl 2014-05-02T08:25:55Z redline6561_ joined #sbcl 2014-05-02T08:26:34Z hlavaty` joined #sbcl 2014-05-02T08:34:41Z fikusz quit (*.net *.split) 2014-05-02T08:34:42Z hlavaty quit (*.net *.split) 2014-05-02T08:34:55Z cmack` quit (*.net *.split) 2014-05-02T08:34:58Z kanru quit (*.net *.split) 2014-05-02T08:34:58Z redline6561 quit (*.net *.split) 2014-05-02T08:45:22Z michael_lee joined #sbcl 2014-05-02T08:45:41Z DGASAU quit (Ping timeout: 250 seconds) 2014-05-02T08:53:23Z fikusz joined #sbcl 2014-05-02T09:13:19Z DGASAU joined #sbcl 2014-05-02T09:17:01Z momo-reina joined #sbcl 2014-05-02T09:27:22Z erikvarga joined #sbcl 2014-05-02T09:30:48Z kludge` quit (Ping timeout: 245 seconds) 2014-05-02T09:36:55Z kludge` joined #sbcl 2014-05-02T10:04:04Z momo-reina quit (Remote host closed the connection) 2014-05-02T10:17:23Z ams: hm... 2014-05-02T10:18:26Z Krystof: hm? 2014-05-02T10:19:06Z ams: thinking out loud about how nice it would be to use sbcl for hacking on some avr chips 2014-05-02T10:21:32Z samskulls joined #sbcl 2014-05-02T10:31:01Z Posterdati quit (Quit: KVIrc 4.1.3 Equilibrium http://www.kvirc.net/) 2014-05-02T10:31:07Z stassats joined #sbcl 2014-05-02T10:36:18Z Krystof: so. 2014-05-02T10:36:31Z Krystof: is the problem that nm gives an even address even to thumb routines? 2014-05-02T10:37:35Z stassats: for non sb-dynamic-core, any kind of thumb address will be bad 2014-05-02T10:37:48Z stassats: since the address is passed in a boxed register 2014-05-02T10:38:07Z Krystof: ew 2014-05-02T10:38:11Z stassats: and thumb addresses are 2-word aligned, so, even if it's even, it can be a non-fixnum 2014-05-02T10:38:23Z Krystof: though hopefully that register wouldn't be live by the time a gc hits 2014-05-02T10:38:38Z stassats: sb-dynamic-core should fix that 2014-05-02T10:38:38Z Krystof: I accept that that is just crossing my fingers and hoping 2014-05-02T10:39:21Z Krystof: but in terms of getting the mode right when we call things, we would like the addresses we embed to have the right low bit, and nm isn't giving that to us 2014-05-02T10:39:53Z stassats: nm here does give odd addresses for some libs i downloaded 2014-05-02T10:40:21Z stassats: and for sb-dynamic-core, dlsym is used 2014-05-02T10:40:55Z Krystof: though in our experiments yesterday, dlsym didn't find stat 2014-05-02T10:41:12Z stassats: that can be dealt with 2014-05-02T10:41:52Z stassats: (somehow) 2014-05-02T10:42:56Z stassats: (sb-impl::foreign-symbol-address "stat") => 538975808 (sb-alien::dlsym sb-alien::*runtime-dlhandle* "stat") => #.(SB-SYS:INT-SAP #X00000000) 2014-05-02T10:43:03Z stassats: that's on x86-64 with sb-dynamic-core 2014-05-02T10:46:10Z stassats: i can't figure how it did that 2014-05-02T10:46:33Z stassats: i see: STYLE-WARNING: Undefined alien: "stat" 2014-05-02T10:47:01Z stassats: well, a wrapper can be used 2014-05-02T10:47:56Z Krystof: uh, so, does calling "stat" actually work? 2014-05-02T10:48:02Z stassats: no 2014-05-02T10:48:29Z Krystof: ... 2014-05-02T10:48:30Z stassats: i'm going to enable largefile today, which uses stat_largefile wrapper, which will throw the problem under the carpet 2014-05-02T10:48:49Z Krystof: wait, so does an sb-dynamic-core actually work with sb-posix:stat? 2014-05-02T10:48:59Z stassats: probably not 2014-05-02T10:49:15Z stassats: (and sb-dynamic-core (not largefile)) is probably broken 2014-05-02T10:49:39Z Krystof: right 2014-05-02T10:50:39Z Krystof: and the answer is possibly that stat is always a wrapper 2014-05-02T10:50:46Z stassats: ppc doesn't have :largefile, but sb-dynamic-core is broken on ppc due to tagged trampolines 2014-05-02T10:50:59Z stassats: should be, but it isn't 2014-05-02T10:51:11Z stassats: there is already stat_wrapper 2014-05-02T10:53:33Z stassats: which us used by sb-unix:unix-stat 2014-05-02T10:54:12Z stassats: does that mean that sb-unix:unix-stat doesn't handle largefiles? 2014-05-02T10:54:41Z Krystof: if largefiles is defined I think we compile the runtime with -DLARGEFILE 2014-05-02T10:55:08Z Krystof: BICBW 2014-05-02T10:55:10Z stassats: ok, so, then what's the point of having both stat_wrapper and stat_largefile? 2014-05-02T10:55:23Z Krystof: I'm so confused 2014-05-02T10:56:14Z stassats: probably an OAOO issue 2014-05-02T10:56:17Z Krystof: maybe exactly so that when we don't have LARGEFILE we can still call stat 2014-05-02T10:56:59Z stassats: yes, but, having the ordinary wrapper makes the largefile wrapper unnecessary 2014-05-02T10:57:54Z Krystof: that might be true 2014-05-02T10:58:17Z stassats: and more thing should be just wrapped unconditionally 2014-05-02T10:59:31Z brucem: OAOO? 2014-05-02T10:59:36Z Krystof: Once And Only Once 2014-05-02T10:59:47Z Krystof: one of SBCL's guiding principles :) 2014-05-02T10:59:48Z brucem: thx 2014-05-02T11:00:08Z Krystof: BTW, I met up in meatspace today with someone all excited about sbcl-on-RPi 2014-05-02T11:01:25Z stassats: who isn't excited? 2014-05-02T11:03:34Z Krystof: I wonder if one of the other answers is to remove W symbols from nm output 2014-05-02T11:14:26Z edgar-rft joined #sbcl 2014-05-02T11:19:33Z yacks quit (Ping timeout: 245 seconds) 2014-05-02T11:20:30Z yacks joined #sbcl 2014-05-02T11:21:29Z stassats: is there a limit on addresses? 2014-05-02T11:21:54Z stassats: if they can be shifted two places left, then the boxed register problem is gone 2014-05-02T11:23:16Z stassats: hm, there can be a call_into_c thumb, which sets the bit itself, that leaves the 2-word alignment issue 2014-05-02T11:24:44Z kludge` quit (Disconnected by services) 2014-05-02T11:25:12Z kludge` joined #sbcl 2014-05-02T11:26:42Z stassats: doesn't have to set the bit, just call the thumb version of BLX 2014-05-02T11:32:35Z stassats: (with-open-file (stream "/tmp/libc-nm") (loop for line = (read-line stream nil nil) while line always (let ((x (parse-integer line :radix 16 :junk-allowed t))) (or (not x) (not (logbitp 1 x)))))) => T 2014-05-02T11:33:26Z stassats: in other words, everything in libc-2.13.so for armhf debian wheazy is 4-word aligned 2014-05-02T11:33:33Z stassats: or 4 byte 2014-05-02T11:33:53Z stassats: byte it is 2014-05-02T11:39:13Z Posterdati joined #sbcl 2014-05-02T11:39:50Z stassats: "If Rm[1:0] == 0b10, the result is UNPREDICTABLE, as branches to non word-aligned addresses are impossible in ARM state." 2014-05-02T11:39:54Z stassats: does that say we're good? 2014-05-02T11:42:05Z stassats: Krystof: does sbcl.nm have any odd entries? 2014-05-02T11:43:53Z stassats: ah, it says 0b10, 0b11 is possible, so, we're not good 2014-05-02T11:44:19Z stassats: 31-bit fixnums, anyone? 2014-05-02T11:45:16Z stassats: call_into_c_thumb_even call_into_c_thumb_odd 2014-05-02T11:49:17Z stassats: and it can be done efficiently: call_into_c_thumb_odd: EOR R8, #2 call_into_c_thumb_even: EOR R8, #1 call_into_c: ... 2014-05-02T11:49:22Z fridim_ joined #sbcl 2014-05-02T11:51:21Z stassats: except that ldr reg_NFP, =foreign_function_call_active is not done yet, gc issues still possible 2014-05-02T11:53:04Z pootler joined #sbcl 2014-05-02T11:53:07Z stassats: how about, using flags for those three bits of state? 2014-05-02T11:53:41Z stassats: or two, even 2014-05-02T11:54:40Z stassats: it's possible 2014-05-02T11:56:35Z stassats: the question is, is it better to have three call_into_c_thumb_odd call_into_c_thumb_even call_into_c, or one with flag registers? 2014-05-02T11:57:42Z stassats: or pass all arguments on the stack and free up unboxed registers? 2014-05-02T11:57:59Z stassats: or pass the address on the stack? 2014-05-02T12:17:20Z yacks quit (Ping timeout: 276 seconds) 2014-05-02T12:33:34Z stassats quit (Ping timeout: 240 seconds) 2014-05-02T12:35:12Z drmeister quit (Remote host closed the connection) 2014-05-02T12:36:53Z pranavrc_ quit 2014-05-02T12:59:22Z oleo joined #sbcl 2014-05-02T13:00:10Z eudoxia joined #sbcl 2014-05-02T13:05:12Z eudoxia_ joined #sbcl 2014-05-02T13:05:35Z eudoxia_ quit (Client Quit) 2014-05-02T13:05:58Z eudoxia quit (Ping timeout: 240 seconds) 2014-05-02T13:19:43Z yacks joined #sbcl 2014-05-02T13:31:52Z Krystof: removing W symbols in linux-nm fixes my sb-posix:stat problem 2014-05-02T13:34:02Z segv- joined #sbcl 2014-05-02T13:57:03Z erikvarga left #sbcl 2014-05-02T14:34:25Z cmack` joined #sbcl 2014-05-02T14:46:42Z yacks quit (Ping timeout: 240 seconds) 2014-05-02T14:53:49Z Hydan joined #sbcl 2014-05-02T14:55:12Z asedeno joined #sbcl 2014-05-02T15:01:29Z wbooze joined #sbcl 2014-05-02T15:02:10Z Krystof: //build started: Fri May 2 13:36:20 UTC 2014 2014-05-02T15:02:10Z Krystof: //build finished: Fri May 2 15:01:37 UTC 2014 2014-05-02T15:02:19Z Krystof: (on the BBB) 2014-05-02T15:12:43Z slyrus joined #sbcl 2014-05-02T15:17:10Z samskulls quit (Ping timeout: 240 seconds) 2014-05-02T15:27:24Z jdz quit (Quit: Leaving...) 2014-05-02T15:30:36Z samskulls joined #sbcl 2014-05-02T15:45:40Z segv- quit (Remote host closed the connection) 2014-05-02T15:46:24Z segv- joined #sbcl 2014-05-02T15:46:26Z joshe: that's not bad at all 2014-05-02T15:46:50Z joshe: I think I have a ppc machine that takes longer than that 2014-05-02T15:49:52Z Krystof: it feels a bit like my 2001-era laptop, I think 2014-05-02T15:50:48Z joshe: was that off mmc, usb or nfs? 2014-05-02T15:51:15Z Krystof: mmc and sd 2014-05-02T15:51:23Z Krystof: the os on mmc, /home on sd 2014-05-02T15:52:05Z samskulls quit (Ping timeout: 250 seconds) 2014-05-02T15:53:09Z samskulls joined #sbcl 2014-05-02T15:53:49Z joshe: not bad at all 2014-05-02T15:54:33Z hlavaty` quit (Read error: Connection reset by peer) 2014-05-02T15:54:37Z Krystof: I think it's probably just a bit too restricted to replace my current home server 2014-05-02T15:55:03Z Krystof: which is a shame. But it's a fairly nice piece of kit. Very bright LEDs 2014-05-02T15:56:20Z joshe: some of the larger arm boards might work better for you, like a cubieboard or the wandboard 2014-05-02T15:56:28Z joshe: they have sata, for instance 2014-05-02T15:57:07Z wbooze quit (Quit: none) 2014-05-02T15:57:29Z Krystof: oo, the wandboard looks nice 2014-05-02T15:58:01Z Krystof: I'm particularly interested in supporting makers who play nice with upstream 2014-05-02T16:01:47Z wbooze joined #sbcl 2014-05-02T16:03:18Z slyrus: Krystof: I missed the beginning of this discussion. what box are you talking about with the bright LEDs? 2014-05-02T16:03:34Z Krystof: a beaglebone black 2014-05-02T16:06:11Z slyrus: ah, ok 2014-05-02T16:06:14Z slyrus: going well? 2014-05-02T16:06:37Z Krystof: generally? Fine :) 2014-05-02T16:07:47Z slyrus: i meant the bb black, but, yes, that too :) 2014-05-02T16:08:14Z Krystof: the bb black builds sbcl in 90 minutes 2014-05-02T16:08:22Z samskulls quit (Ping timeout: 240 seconds) 2014-05-02T16:08:36Z Krystof: the conversation started with me saying that I can't quite see myself replacing my home "server" (a 10-year-old x86) with it 2014-05-02T16:09:29Z slyrus: i'm eager to see how quickly my son's odroid u3 builds sbcl, but haven't gotten around to it yet 2014-05-02T16:31:10Z stassats joined #sbcl 2014-05-02T16:31:35Z slyrus quit (Remote host closed the connection) 2014-05-02T16:32:51Z slyrus joined #sbcl 2014-05-02T16:46:10Z ejbs joined #sbcl 2014-05-02T16:47:05Z kanru` quit (Ping timeout: 246 seconds) 2014-05-02T16:47:27Z ejbs: Hi, I don't really need any help but I'm guessing that this is interesting to you. http://paste.lisp.org/display/142368 2014-05-02T16:48:19Z wbooze quit (Read error: Connection reset by peer) 2014-05-02T16:57:10Z stassats: it wants to report an error, but fails 2014-05-02T16:57:10Z wbooze joined #sbcl 2014-05-02T16:57:20Z stassats: fails to dump the error message due to this structure 2014-05-02T16:59:31Z stassats: and i thought that was already fixed, maybe not enough 2014-05-02T16:59:58Z fridim_ quit (Ping timeout: 245 seconds) 2014-05-02T17:04:45Z JuanDaugherty joined #sbcl 2014-05-02T17:08:54Z davazp joined #sbcl 2014-05-02T17:16:06Z erikvarga joined #sbcl 2014-05-02T17:18:51Z ejbs` joined #sbcl 2014-05-02T17:20:53Z ejbs quit (Ping timeout: 276 seconds) 2014-05-02T17:21:26Z fridim_ joined #sbcl 2014-05-02T17:25:11Z pkhuong: Krystof: novena ;) 2014-05-02T17:26:53Z pkhuong: ejbs`: what version of sbcl are you running? 2014-05-02T17:28:13Z stassats: 1.1.5, too old 2014-05-02T17:30:30Z DGASAU quit (Remote host closed the connection) 2014-05-02T17:30:46Z fridim_ quit (Ping timeout: 240 seconds) 2014-05-02T17:31:31Z DGASAU joined #sbcl 2014-05-02T17:33:44Z ejbs` quit (Remote host closed the connection) 2014-05-02T17:40:46Z Bike_ joined #sbcl 2014-05-02T17:40:52Z Bike_ is now known as Bicyclidine 2014-05-02T17:43:38Z JuanDaugherty quit (Ping timeout: 240 seconds) 2014-05-02T17:55:00Z attila_lendvai quit (Quit: Leaving.) 2014-05-02T17:55:34Z slyrus quit (Read error: Connection reset by peer) 2014-05-02T17:59:44Z michael_lee quit (Remote host closed the connection) 2014-05-02T18:08:15Z DGASAU quit (Remote host closed the connection) 2014-05-02T18:09:07Z DGASAU joined #sbcl 2014-05-02T18:12:55Z slyrus joined #sbcl 2014-05-02T18:33:32Z davazp quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2014-05-02T18:36:43Z jdz joined #sbcl 2014-05-02T18:37:53Z DGASAU quit (Ping timeout: 245 seconds) 2014-05-02T18:39:13Z ltbarcly joined #sbcl 2014-05-02T18:41:35Z prxq joined #sbcl 2014-05-02T18:46:18Z DGASAU joined #sbcl 2014-05-02T18:48:20Z wbooze quit (Quit: none) 2014-05-02T18:50:47Z wbooze joined #sbcl 2014-05-02T19:01:28Z JuanDaugherty joined #sbcl 2014-05-02T19:04:18Z erikvarga quit (Ping timeout: 240 seconds) 2014-05-02T19:04:50Z attila_lendvai joined #sbcl 2014-05-02T19:04:50Z attila_lendvai quit (Changing host) 2014-05-02T19:04:50Z attila_lendvai joined #sbcl 2014-05-02T19:05:36Z samskulls joined #sbcl 2014-05-02T19:10:26Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-02T19:17:20Z ltbarcly joined #sbcl 2014-05-02T19:22:05Z samskulls quit (Ping timeout: 252 seconds) 2014-05-02T19:30:02Z drmeister joined #sbcl 2014-05-02T19:33:56Z attila_lendvai quit (Quit: Leaving.) 2014-05-02T19:51:13Z drmeister quit (Ping timeout: 245 seconds) 2014-05-02T19:59:24Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-02T19:59:59Z drmeister joined #sbcl 2014-05-02T20:09:11Z Hydan quit (Quit: Textual IRC Client: www.textualapp.com) 2014-05-02T20:11:20Z ASau joined #sbcl 2014-05-02T20:16:00Z Hydan joined #sbcl 2014-05-02T20:25:53Z wbooze quit (Ping timeout: 252 seconds) 2014-05-02T20:26:37Z oleo quit (Ping timeout: 252 seconds) 2014-05-02T20:26:58Z oleo joined #sbcl 2014-05-02T20:32:32Z drmeister quit (Remote host closed the connection) 2014-05-02T20:44:36Z ehaliewicz joined #sbcl 2014-05-02T20:50:11Z jdz quit (Quit: Leaving...) 2014-05-02T20:52:44Z drmeister joined #sbcl 2014-05-02T21:03:51Z drmeister quit (Read error: Connection reset by peer) 2014-05-02T21:06:53Z drmeister joined #sbcl 2014-05-02T21:13:58Z drmeister quit (Ping timeout: 240 seconds) 2014-05-02T21:15:10Z Bicyclidine quit (Ping timeout: 240 seconds) 2014-05-02T21:16:54Z drmeister joined #sbcl 2014-05-02T21:21:31Z ltbarcly joined #sbcl 2014-05-02T21:39:30Z ASau quit (Remote host closed the connection) 2014-05-02T21:40:12Z ASau joined #sbcl 2014-05-02T21:43:29Z stassats: implemented a very hacky support for long-long 2014-05-02T21:44:17Z stassats: returning using vops, passing using an %alien-funcall transform 2014-05-02T21:47:40Z stassats: this part needs to be rethought, for all targets 2014-05-02T21:51:57Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-02T21:53:24Z ltbarcly joined #sbcl 2014-05-02T22:09:08Z stassats: "Something is broken", what a nice error 2014-05-02T22:09:35Z stassats: from %alien-funcall derive-type 2014-05-02T22:11:22Z drmeister quit (Remote host closed the connection) 2014-05-02T22:11:51Z cmack` is now known as cmack 2014-05-02T22:11:57Z drmeister joined #sbcl 2014-05-02T22:16:13Z drmeister quit (Ping timeout: 245 seconds) 2014-05-02T22:26:35Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-02T22:30:23Z stassats: and largefile is in too 2014-05-02T23:02:45Z edgar-rft quit (Quit: session stopped into perpetual hallucinations) 2014-05-02T23:17:47Z stassats: and i'm not handling the whole cross-product of possible results for long-long, sigh 2014-05-02T23:22:59Z segv- quit (Remote host closed the connection) 2014-05-02T23:49:14Z eudoxia joined #sbcl 2014-05-02T23:50:03Z stassats: 64-bit bignums are hard 2014-05-02T23:51:12Z eudoxia quit (Client Quit) 2014-05-03T00:15:10Z samskulls joined #sbcl 2014-05-03T00:23:06Z samskulls quit (Ping timeout: 240 seconds) 2014-05-03T00:25:06Z samskulls joined #sbcl 2014-05-03T00:35:21Z samskulls is now known as bimmyjones 2014-05-03T00:38:31Z stassats quit (Ping timeout: 252 seconds) 2014-05-03T00:52:42Z bimmyjones quit (Ping timeout: 240 seconds) 2014-05-03T00:54:46Z bimmyjones joined #sbcl 2014-05-03T00:58:34Z zRecursive joined #sbcl 2014-05-03T01:08:35Z drmeister joined #sbcl 2014-05-03T01:09:51Z bimmyjones left #sbcl 2014-05-03T01:10:41Z bimmyjones joined #sbcl 2014-05-03T01:11:24Z stassats joined #sbcl 2014-05-03T01:23:37Z bimmyjones quit (Ping timeout: 252 seconds) 2014-05-03T01:25:24Z bimmyjones joined #sbcl 2014-05-03T01:31:46Z prxq_ joined #sbcl 2014-05-03T01:34:53Z prxq quit (Ping timeout: 252 seconds) 2014-05-03T01:53:19Z bimmyjones quit (Ping timeout: 252 seconds) 2014-05-03T01:55:02Z bimmyjones joined #sbcl 2014-05-03T02:01:50Z stassats quit (Ping timeout: 252 seconds) 2014-05-03T02:23:53Z bimmyjones quit (Ping timeout: 250 seconds) 2014-05-03T02:25:39Z bimmyjones joined #sbcl 2014-05-03T02:39:03Z christoph_debian quit (Ping timeout: 250 seconds) 2014-05-03T02:52:33Z christoph_debian joined #sbcl 2014-05-03T02:53:18Z bimmyjones quit (Ping timeout: 240 seconds) 2014-05-03T02:55:18Z bimmyjones joined #sbcl 2014-05-03T02:56:12Z bimmyjones quit (Client Quit) 2014-05-03T03:13:18Z michael_lee joined #sbcl 2014-05-03T03:17:34Z zRecursive quit (Remote host closed the connection) 2014-05-03T04:32:43Z erikc joined #sbcl 2014-05-03T04:53:16Z yacks joined #sbcl 2014-05-03T05:01:18Z yacks quit (Ping timeout: 240 seconds) 2014-05-03T05:21:56Z drmeister quit (Remote host closed the connection) 2014-05-03T05:22:31Z drmeister joined #sbcl 2014-05-03T05:24:15Z ltbarcly joined #sbcl 2014-05-03T05:26:45Z drmeister quit (Ping timeout: 250 seconds) 2014-05-03T06:03:26Z ehaliewicz quit (Remote host closed the connection) 2014-05-03T06:12:35Z edgar-rft joined #sbcl 2014-05-03T06:15:02Z michael_lee quit (Ping timeout: 276 seconds) 2014-05-03T06:24:54Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-03T06:25:46Z ltbarcly joined #sbcl 2014-05-03T06:27:29Z ltbarcly quit (Client Quit) 2014-05-03T06:37:51Z kludge` quit (Remote host closed the connection) 2014-05-03T06:48:14Z michael_lee joined #sbcl 2014-05-03T07:00:15Z erikc quit (Quit: erikc) 2014-05-03T07:11:04Z drmeister joined #sbcl 2014-05-03T07:15:30Z drmeister quit (Ping timeout: 240 seconds) 2014-05-03T07:17:37Z ehaliewicz joined #sbcl 2014-05-03T07:57:00Z luis` joined #sbcl 2014-05-03T08:04:19Z luis quit (*.net *.split) 2014-05-03T08:04:20Z fikusz quit (*.net *.split) 2014-05-03T08:04:22Z oleo quit (*.net *.split) 2014-05-03T08:04:22Z slyrus quit (*.net *.split) 2014-05-03T08:04:22Z Posterdati quit (*.net *.split) 2014-05-03T08:04:27Z phf quit (*.net *.split) 2014-05-03T08:04:28Z antoszka quit (*.net *.split) 2014-05-03T08:04:29Z michael_lee quit (*.net *.split) 2014-05-03T08:04:31Z ASau quit (*.net *.split) 2014-05-03T08:04:31Z Hydan quit (*.net *.split) 2014-05-03T08:04:31Z cmack quit (*.net *.split) 2014-05-03T08:04:32Z pootler quit (*.net *.split) 2014-05-03T08:04:34Z foom quit (*.net *.split) 2014-05-03T08:04:35Z reb quit (*.net *.split) 2014-05-03T08:04:35Z PuercoPop quit (*.net *.split) 2014-05-03T08:04:36Z ivan`` quit (*.net *.split) 2014-05-03T08:04:36Z cracauer quit (*.net *.split) 2014-05-03T08:04:36Z |3b| quit (*.net *.split) 2014-05-03T08:04:37Z faheem_ quit (*.net *.split) 2014-05-03T08:06:09Z fikusz joined #sbcl 2014-05-03T08:06:55Z oleo joined #sbcl 2014-05-03T08:06:55Z slyrus joined #sbcl 2014-05-03T08:06:55Z Posterdati joined #sbcl 2014-05-03T08:06:55Z phf joined #sbcl 2014-05-03T08:06:55Z antoszka joined #sbcl 2014-05-03T08:11:47Z michael_lee joined #sbcl 2014-05-03T08:11:47Z ASau joined #sbcl 2014-05-03T08:11:47Z Hydan joined #sbcl 2014-05-03T08:11:47Z cmack joined #sbcl 2014-05-03T08:11:47Z pootler joined #sbcl 2014-05-03T08:11:47Z foom joined #sbcl 2014-05-03T08:11:47Z reb joined #sbcl 2014-05-03T08:11:47Z PuercoPop joined #sbcl 2014-05-03T08:11:47Z ivan`` joined #sbcl 2014-05-03T08:11:47Z cracauer joined #sbcl 2014-05-03T08:11:47Z |3b| joined #sbcl 2014-05-03T08:11:47Z faheem_ joined #sbcl 2014-05-03T08:12:22Z ivan`` quit (Max SendQ exceeded) 2014-05-03T08:12:52Z ivan`` joined #sbcl 2014-05-03T08:27:09Z wbooze joined #sbcl 2014-05-03T08:40:55Z Hydan quit (Quit: Textual IRC Client: www.textualapp.com) 2014-05-03T08:55:58Z wbooze quit (Ping timeout: 240 seconds) 2014-05-03T08:57:31Z oleo quit (Ping timeout: 276 seconds) 2014-05-03T08:59:46Z drmeister joined #sbcl 2014-05-03T09:01:04Z erikvarga joined #sbcl 2014-05-03T09:04:18Z drmeister quit (Ping timeout: 240 seconds) 2014-05-03T09:10:30Z oleo joined #sbcl 2014-05-03T09:28:16Z ehaliewicz quit (Remote host closed the connection) 2014-05-03T09:31:42Z wbooze joined #sbcl 2014-05-03T09:39:07Z wbooze quit (Ping timeout: 276 seconds) 2014-05-03T09:39:38Z wbooze joined #sbcl 2014-05-03T09:41:35Z stassats joined #sbcl 2014-05-03T09:42:25Z wbooze quit (Remote host closed the connection) 2014-05-03T09:47:18Z wbooze joined #sbcl 2014-05-03T10:05:13Z fridim_ joined #sbcl 2014-05-03T10:11:03Z wbooze quit (Read error: Connection reset by peer) 2014-05-03T10:17:10Z wbooze joined #sbcl 2014-05-03T10:20:18Z stassats quit (Ping timeout: 240 seconds) 2014-05-03T10:48:33Z drmeister joined #sbcl 2014-05-03T10:53:06Z drmeister quit (Ping timeout: 240 seconds) 2014-05-03T11:16:13Z stassats joined #sbcl 2014-05-03T11:18:14Z Hydan joined #sbcl 2014-05-03T12:00:58Z wbooze quit (Quit: none) 2014-05-03T12:02:17Z wbooze joined #sbcl 2014-05-03T12:04:02Z drmeister joined #sbcl 2014-05-03T12:52:03Z yacks joined #sbcl 2014-05-03T12:54:42Z erikvarga left #sbcl 2014-05-03T13:05:11Z kludge` joined #sbcl 2014-05-03T13:29:52Z kludge` quit (Ping timeout: 276 seconds) 2014-05-03T13:33:32Z kludge` joined #sbcl 2014-05-03T14:24:24Z erikvarga joined #sbcl 2014-05-03T14:28:51Z fridim_ quit (Ping timeout: 250 seconds) 2014-05-03T15:02:54Z jdz joined #sbcl 2014-05-03T15:18:41Z wbooze quit (Ping timeout: 250 seconds) 2014-05-03T15:34:43Z DGASAU quit (Ping timeout: 250 seconds) 2014-05-03T15:36:58Z wbooze joined #sbcl 2014-05-03T15:52:03Z nydel joined #sbcl 2014-05-03T15:55:46Z ltbarcly joined #sbcl 2014-05-03T16:00:31Z nyef joined #sbcl 2014-05-03T16:00:48Z nyef: Hello all. 2014-05-03T16:10:38Z nydel left #sbcl 2014-05-03T16:15:54Z JuanDaugherty: yello nyef 2014-05-03T16:25:36Z nyef finds himself with a macro-defining macrolet, including two levels of quasiquote. 2014-05-03T16:27:39Z JuanDaugherty: ur knickers in a lisp, then 2014-05-03T16:29:19Z nyef: And this is just part one, after I get this working I need to do it AGAIN with more complexity. 2014-05-03T16:30:13Z JuanDaugherty: there's always doneness at the end unless you've messed up the setup 2014-05-03T16:31:15Z nyef: That's true, and while this is turning out to be about three times as complicated as I had expected, it should still be doable in a couple of hours. 2014-05-03T16:35:44Z nyef: Possibly much sooner, now that I have the basics at least compiling. 2014-05-03T16:36:05Z wbooze: hmm, i get more heap exhausted errors then before with my old sbcl-1.1.8 image..... 2014-05-03T16:36:28Z wbooze: and sounds like gc is failing ...... 2014-05-03T16:36:33Z nyef: Different default dynamic-space-size? 2014-05-03T16:47:57Z DGASAU joined #sbcl 2014-05-03T16:52:37Z jdz quit (Remote host closed the connection) 2014-05-03T16:57:04Z kludge` quit (Quit: Lost terminal) 2014-05-03T17:18:59Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-03T17:31:01Z ltbarcly joined #sbcl 2014-05-03T17:40:06Z ltbarcly_ joined #sbcl 2014-05-03T17:41:54Z ltbarcly quit (Ping timeout: 240 seconds) 2014-05-03T17:42:43Z Hydan quit (Ping timeout: 276 seconds) 2014-05-03T17:45:28Z Hydan joined #sbcl 2014-05-03T17:48:12Z michael_lee quit (Quit: Ex-Chat) 2014-05-03T17:54:06Z nyef: Lovely. The defstruct cases make sure that the various raw slots don't collide each other, and don't escape the bounds of the object allocation, but don't include a test to make sure that they don't collide the boxed slots. 2014-05-03T17:57:34Z yacks quit (Ping timeout: 245 seconds) 2014-05-03T17:59:15Z nyef: Oh well, hopefully the off-by-two error in my current source tree (that I'm fairly sure I have), will clobber things enough that the test suite catches it. 2014-05-03T18:13:55Z nyef: ... And my XServe G5 has a flat battery, and I don't appear to have a spare locally. 2014-05-03T18:14:28Z nyef: At least that last should be sorted in an hour or so. 2014-05-03T18:14:46Z nyef: (Though I still need to figure out how to get Linux onto the damned thing.) 2014-05-03T18:22:33Z ltbarcly_ quit (Quit: Computer has gone to sleep.) 2014-05-03T18:27:12Z Hydan quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) 2014-05-03T18:38:25Z Hydan joined #sbcl 2014-05-03T18:48:53Z ltbarcly joined #sbcl 2014-05-03T18:50:35Z nyef quit (Ping timeout: 250 seconds) 2014-05-03T18:53:10Z ltbarcly quit (Client Quit) 2014-05-03T18:53:54Z Hydan quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) 2014-05-03T19:03:07Z ltbarcly joined #sbcl 2014-05-03T19:05:56Z wbooze quit (Ping timeout: 252 seconds) 2014-05-03T19:07:38Z ltbarcly quit (Ping timeout: 240 seconds) 2014-05-03T19:34:07Z ltbarcly joined #sbcl 2014-05-03T19:38:23Z ltbarcly quit (Ping timeout: 252 seconds) 2014-05-03T20:09:07Z erikvarga left #sbcl 2014-05-03T20:29:32Z danlentz joined #sbcl 2014-05-03T20:33:07Z danlentz quit (Quit: danlentz) 2014-05-03T21:10:52Z wbooze joined #sbcl 2014-05-03T21:12:43Z oleo quit (Ping timeout: 250 seconds) 2014-05-03T21:14:11Z jdz joined #sbcl 2014-05-03T21:15:26Z oleo joined #sbcl 2014-05-03T21:35:42Z ltbarcly joined #sbcl 2014-05-03T21:39:58Z ltbarcly quit (Ping timeout: 240 seconds) 2014-05-03T21:48:09Z Hydan joined #sbcl 2014-05-03T22:25:29Z jdz quit (Remote host closed the connection) 2014-05-03T23:37:09Z ltbarcly joined #sbcl 2014-05-03T23:39:15Z edgar-rft quit (Quit: session discontinued by mental disaster) 2014-05-03T23:40:08Z zRecursive joined #sbcl 2014-05-03T23:41:18Z ltbarcly quit (Ping timeout: 240 seconds) 2014-05-04T00:15:58Z stassats quit (Ping timeout: 276 seconds) 2014-05-04T00:37:58Z ltbarcly joined #sbcl 2014-05-04T00:42:37Z ltbarcly quit (Ping timeout: 276 seconds) 2014-05-04T01:32:24Z prxq__ joined #sbcl 2014-05-04T01:35:37Z prxq_ quit (Ping timeout: 252 seconds) 2014-05-04T01:44:08Z zRecursive left #sbcl 2014-05-04T01:55:42Z zRecursive joined #sbcl 2014-05-04T02:00:55Z wbooze quit (Ping timeout: 252 seconds) 2014-05-04T02:08:48Z zRecursive quit (Remote host closed the connection) 2014-05-04T02:39:01Z christoph_debian quit (Ping timeout: 250 seconds) 2014-05-04T02:39:29Z ltbarcly joined #sbcl 2014-05-04T02:43:34Z ltbarcly quit (Ping timeout: 240 seconds) 2014-05-04T02:51:04Z attila_lendvai joined #sbcl 2014-05-04T02:51:04Z attila_lendvai quit (Changing host) 2014-05-04T02:51:04Z attila_lendvai joined #sbcl 2014-05-04T02:52:25Z christoph_debian joined #sbcl 2014-05-04T03:19:04Z pranavrc joined #sbcl 2014-05-04T03:19:04Z pranavrc quit (Changing host) 2014-05-04T03:19:04Z pranavrc joined #sbcl 2014-05-04T03:33:19Z JuanDaugherty quit (Ping timeout: 252 seconds) 2014-05-04T03:40:19Z ltbarcly joined #sbcl 2014-05-04T03:41:12Z michael_lee joined #sbcl 2014-05-04T03:44:38Z ltbarcly quit (Ping timeout: 240 seconds) 2014-05-04T03:58:26Z drmeister quit (Remote host closed the connection) 2014-05-04T04:00:31Z ltbarcly joined #sbcl 2014-05-04T04:02:00Z drmeister joined #sbcl 2014-05-04T04:27:54Z drmeister quit (Remote host closed the connection) 2014-05-04T04:28:30Z drmeister joined #sbcl 2014-05-04T04:32:43Z drmeister quit (Ping timeout: 252 seconds) 2014-05-04T04:33:04Z drmeister joined #sbcl 2014-05-04T04:44:18Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-04T04:58:05Z drmeister quit (Remote host closed the connection) 2014-05-04T04:58:40Z drmeister joined #sbcl 2014-05-04T05:02:47Z drmeister quit (Ping timeout: 252 seconds) 2014-05-04T06:08:32Z les quit (Quit: Lost terminal) 2014-05-04T06:08:50Z les joined #sbcl 2014-05-04T06:08:50Z les quit (Changing host) 2014-05-04T06:08:50Z les joined #sbcl 2014-05-04T06:57:08Z michael_lee quit (Quit: Ex-Chat) 2014-05-04T07:06:12Z yacks joined #sbcl 2014-05-04T07:06:37Z yacks quit (Max SendQ exceeded) 2014-05-04T07:24:19Z yacks joined #sbcl 2014-05-04T07:26:07Z yacks quit (Max SendQ exceeded) 2014-05-04T07:26:29Z yacks joined #sbcl 2014-05-04T07:27:45Z yacks quit (Max SendQ exceeded) 2014-05-04T07:28:07Z yacks joined #sbcl 2014-05-04T07:29:05Z yacks quit (Max SendQ exceeded) 2014-05-04T07:29:33Z yacks joined #sbcl 2014-05-04T07:30:47Z yacks quit (Max SendQ exceeded) 2014-05-04T07:31:10Z yacks joined #sbcl 2014-05-04T07:32:08Z yacks quit (Max SendQ exceeded) 2014-05-04T07:32:30Z yacks joined #sbcl 2014-05-04T07:33:28Z yacks quit (Max SendQ exceeded) 2014-05-04T07:33:50Z yacks joined #sbcl 2014-05-04T07:35:04Z yacks quit (Max SendQ exceeded) 2014-05-04T07:35:37Z yacks joined #sbcl 2014-05-04T07:36:24Z yacks quit (Max SendQ exceeded) 2014-05-04T07:37:12Z yacks joined #sbcl 2014-05-04T07:38:00Z pranavrc quit (Remote host closed the connection) 2014-05-04T07:38:23Z yacks quit (Max SendQ exceeded) 2014-05-04T07:56:11Z yacks joined #sbcl 2014-05-04T07:56:58Z yacks quit (Max SendQ exceeded) 2014-05-04T07:57:20Z yacks joined #sbcl 2014-05-04T07:58:08Z yacks quit (Max SendQ exceeded) 2014-05-04T07:59:42Z yacks joined #sbcl 2014-05-04T08:00:30Z yacks quit (Max SendQ exceeded) 2014-05-04T08:02:50Z yacks joined #sbcl 2014-05-04T08:03:34Z yacks quit (Max SendQ exceeded) 2014-05-04T08:03:56Z yacks joined #sbcl 2014-05-04T08:10:31Z yacks quit (Max SendQ exceeded) 2014-05-04T08:11:18Z yacks joined #sbcl 2014-05-04T08:12:03Z yacks quit (Max SendQ exceeded) 2014-05-04T08:14:02Z fikusz quit (Ping timeout: 255 seconds) 2014-05-04T08:15:05Z yacks joined #sbcl 2014-05-04T08:20:38Z fikusz joined #sbcl 2014-05-04T08:22:54Z prxq__ is now known as prxq 2014-05-04T08:34:05Z JuanDaugherty joined #sbcl 2014-05-04T08:43:23Z jdz joined #sbcl 2014-05-04T08:46:48Z drmeister joined #sbcl 2014-05-04T08:53:59Z jdz quit (Remote host closed the connection) 2014-05-04T09:05:41Z wbooze joined #sbcl 2014-05-04T09:39:14Z wbooze quit (Ping timeout: 245 seconds) 2014-05-04T09:40:39Z oleo quit (Ping timeout: 250 seconds) 2014-05-04T09:47:33Z sdemarre joined #sbcl 2014-05-04T09:50:26Z wbooze joined #sbcl 2014-05-04T10:02:50Z sdemarre quit (Ping timeout: 255 seconds) 2014-05-04T10:03:51Z edgar-rft joined #sbcl 2014-05-04T10:16:29Z oleo joined #sbcl 2014-05-04T12:17:38Z sdemarre joined #sbcl 2014-05-04T12:24:45Z fridim_ joined #sbcl 2014-05-04T12:34:29Z fridim_ quit (Ping timeout: 264 seconds) 2014-05-04T12:36:38Z LiamH joined #sbcl 2014-05-04T13:03:25Z attila_lendvai1 joined #sbcl 2014-05-04T13:03:25Z attila_lendvai quit (Disconnected by services) 2014-05-04T13:03:25Z attila_lendvai1 quit (Changing host) 2014-05-04T13:03:25Z attila_lendvai1 joined #sbcl 2014-05-04T13:08:49Z joshe quit (Ping timeout: 245 seconds) 2014-05-04T13:15:52Z scymtym_ joined #sbcl 2014-05-04T13:16:02Z stassats joined #sbcl 2014-05-04T13:24:53Z sdemarre quit (Ping timeout: 255 seconds) 2014-05-04T14:10:26Z stassats quit (Ping timeout: 258 seconds) 2014-05-04T15:18:41Z eudoxia joined #sbcl 2014-05-04T15:26:34Z michael_lee joined #sbcl 2014-05-04T15:28:30Z nyef joined #sbcl 2014-05-04T15:28:49Z nyef: G'morning all. 2014-05-04T15:58:37Z ltbarcly joined #sbcl 2014-05-04T16:16:14Z nyef: Hrm. No stassats? 2014-05-04T16:16:40Z nyef: Guess I won't be rebasing today, even if I do manage to get something working that's worth sharing. 2014-05-04T16:20:55Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-04T16:23:23Z ltbarcly joined #sbcl 2014-05-04T16:36:41Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-04T16:37:10Z eudoxia quit (Quit: Lost terminal) 2014-05-04T16:52:23Z yacks quit (Remote host closed the connection) 2014-05-04T16:57:34Z JuanDaugherty quit (Ping timeout: 245 seconds) 2014-05-04T17:01:47Z attila_lendvai1 quit (Ping timeout: 250 seconds) 2014-05-04T17:06:46Z milosn quit (Ping timeout: 240 seconds) 2014-05-04T17:08:45Z milosn joined #sbcl 2014-05-04T17:09:39Z Hydan quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) 2014-05-04T17:36:35Z sdemarre joined #sbcl 2014-05-04T17:43:25Z erikvarga joined #sbcl 2014-05-04T17:43:41Z fridim_ joined #sbcl 2014-05-04T17:46:55Z michael_lee quit (Remote host closed the connection) 2014-05-04T17:57:11Z erikvarga quit (Ping timeout: 252 seconds) 2014-05-04T18:05:24Z ltbarcly joined #sbcl 2014-05-04T18:08:21Z erikvarga joined #sbcl 2014-05-04T18:14:14Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-04T18:43:19Z sdemarre quit (Ping timeout: 265 seconds) 2014-05-04T18:46:07Z ltbarcly joined #sbcl 2014-05-04T18:54:32Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-04T19:00:31Z ltbarcly joined #sbcl 2014-05-04T19:05:26Z wbooze quit (Read error: Connection reset by peer) 2014-05-04T19:09:08Z wbooze joined #sbcl 2014-05-04T19:14:25Z Hydan joined #sbcl 2014-05-04T19:21:56Z rpg joined #sbcl 2014-05-04T19:26:16Z erikvarga left #sbcl 2014-05-04T19:28:14Z ASau` joined #sbcl 2014-05-04T19:31:30Z ASau quit (Ping timeout: 240 seconds) 2014-05-04T19:32:45Z ASau` is now known as ASau 2014-05-04T20:01:37Z JuanDaugherty joined #sbcl 2014-05-04T20:07:49Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-04T20:19:48Z rpg quit (Quit: rpg) 2014-05-04T20:28:15Z angavrilov quit (Remote host closed the connection) 2014-05-04T21:03:40Z ltbarcly joined #sbcl 2014-05-04T21:20:56Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-04T21:23:40Z edgar-rft quit (Quit: conversation abandoned because experience ended) 2014-05-04T21:28:23Z ltbarcly joined #sbcl 2014-05-04T21:55:57Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-04T22:03:44Z ltbarcly joined #sbcl 2014-05-04T22:05:18Z wbooze quit (Ping timeout: 240 seconds) 2014-05-04T22:05:23Z ltbarcly quit (Client Quit) 2014-05-04T22:06:22Z oleo quit (Ping timeout: 276 seconds) 2014-05-04T22:18:58Z oleo joined #sbcl 2014-05-04T22:21:50Z nyef quit (Ping timeout: 258 seconds) 2014-05-04T22:21:51Z oleo quit (Excess Flood) 2014-05-04T22:23:01Z oleo joined #sbcl 2014-05-04T22:24:37Z fridim_ quit (Ping timeout: 250 seconds) 2014-05-04T22:33:28Z nyef joined #sbcl 2014-05-04T22:38:34Z stassats joined #sbcl 2014-05-04T22:41:11Z stassats: nyef: were you looking for me? 2014-05-04T22:42:35Z nyef: Yeah, do your long-long changes still build on non-softfp targets? 2014-05-04T22:43:06Z nyef: That asked, I need to disappear now for about half an hour. 2014-05-04T22:45:05Z stassats: did it not build for you? 2014-05-04T22:46:27Z stassats: i left a PRINT statement there 2014-05-04T23:02:46Z cmack` joined #sbcl 2014-05-04T23:02:57Z pkhuong: I should write down my notes on beach's dispatch stuff. 2014-05-04T23:03:40Z stassats: i have some feedback too, but haven't caught beach yet 2014-05-04T23:04:01Z stassats: i'm worried about 32-bit platforms and not reusing the numbers 2014-05-04T23:04:35Z stassats: on 64-bit, 56 bits of the header should be enough 2014-05-04T23:04:36Z pkhuong: stassats: we can have a pair of fixnums 2014-05-04T23:04:59Z pkhuong: I was going to lisppaste it anyway. 2014-05-04T23:05:06Z cmack quit (Ping timeout: 240 seconds) 2014-05-04T23:05:20Z stassats: 24-bit of the header + another 32+bit word can work too 2014-05-04T23:05:59Z pkhuong: you'll probably want multiword IDs for multiple dispatch anyway 2014-05-04T23:06:32Z pkhuong: I figure the natural way to extend the scheme is to interleave all the relevant arguments' bits 2014-05-04T23:06:38Z stassats: things like call-next-method / around methods makes things more complicated 2014-05-04T23:07:02Z pkhuong: it only eliminates sharing. 2014-05-04T23:07:16Z pkhuong: *some sharing 2014-05-04T23:07:28Z pkhuong: we have the same issue with SB-PCL's dispatch net generator 2014-05-04T23:07:52Z pkhuong: generating the next methods list sucks. 2014-05-04T23:08:17Z pkhuong: it should have been a function to get only the next method, rather than a concrete list. 2014-05-04T23:09:43Z pkhuong: I also see that beach plans to special case conses :\ 2014-05-04T23:11:11Z nyef: stassats: The reader conditionals in that commit look a little sketchy to me. I haven't tried rebuilding it because I'm in the middle of trying to get float unboxed structure slots working. 2014-05-04T23:11:24Z nyef: (Not that THAT is going too well.) 2014-05-04T23:11:56Z stassats: nyef: those changes prevented long-long support from breaking softfp support 2014-05-04T23:12:17Z stassats: and also reduces the leaking of arm internals into the generic %alien-funcall 2014-05-04T23:12:36Z nyef: Mmm... Okay, so I should try a build when I get a chance? 2014-05-04T23:12:55Z stassats: and i initially wanted to implemented long-long with VOPs too, but handling all the cases of fixnums/bignums/sign-extending/etc got too complicated 2014-05-04T23:14:14Z pkhuong: stassats: how did you setup the SC? force consecutive register pairs? 2014-05-04T23:14:31Z stassats: pkhuong: i did not set it up 2014-05-04T23:14:54Z stassats: i resorted to specifying a VOP to uses for the move 2014-05-04T23:15:29Z pkhuong: I was going to hack something up for x86 with only consecutive regpairs, but the most useful pair doesn't fit the pattern. 2014-05-04T23:15:51Z stassats: and the register pairs are not consecutive, since unboxed registers are not consecutive 2014-05-04T23:16:09Z stassats: that could have been rectified, i guess 2014-05-04T23:16:38Z pkhuong: I have another project instead: allow arbitrary sets of SB locations in SC locs 2014-05-04T23:16:39Z stassats: but setting up all the move functions got old pretty soon 2014-05-04T23:18:43Z pkhuong: (the locs don't even have to form a partition) 2014-05-04T23:20:22Z stassats: speaking of unboxed floats, i got thinking about single-floats on x86-64 the other day, and since they take only 32-bits of the 64 bit slot, the other 32-bits can be used for the lowtag 2014-05-04T23:20:38Z pkhuong: yes. 2014-05-04T23:21:10Z stassats: though, packing tow floats into 64-bit could be more worthwhile 2014-05-04T23:21:58Z stassats: but slots are word addressed 2014-05-04T23:22:39Z stassats: which doesn't sound beneficial, the processor uses bytes anyway 2014-05-04T23:22:42Z pkhuong: we already box singles without allocating storage. 2014-05-04T23:23:08Z stassats: i was talking about raw structure slots 2014-05-04T23:23:33Z pkhuong: two issues with < word allocatin for structure slots: 2014-05-04T23:23:49Z stassats: raw structures not being appended to the end would be required to be fixed first 2014-05-04T23:23:50Z pkhuong: 1. might have to pad things a bit for GC 2014-05-04T23:24:02Z stassats: raw slots 2014-05-04T23:24:04Z pkhuong: 2. other things need alignment. 2014-05-04T23:24:12Z pkhuong: I know. 2014-05-04T23:24:16Z pkhuong: structures still get GCed 2014-05-04T23:24:31Z pkhuong: and not GCing raw slots is the hard part. 2014-05-04T23:25:14Z stassats: only opportunistically packing? 2014-05-04T23:25:28Z stassats: if two single-floats are aligned 2014-05-04T23:26:07Z stassats: or two (unsigned-byte 32) 2014-05-04T23:27:09Z stassats: rearranging things wouldn't be great with inheritance 2014-05-04T23:27:31Z nyef: I now have float.impure.lisp passing, rather than hitting an invalid exit status. A one-line fix, at that. 2014-05-04T23:29:00Z pkhuong: stassats: it would be nice to have a direct mapping from the platform's abi. 2014-05-04T23:29:26Z stassats: for structures? 2014-05-04T23:29:29Z pkhuong: right 2014-05-04T23:29:39Z nyef: What if we re-designed structures to have a "leader", similar to LispM-style "array leaders", with the unboxed slots following and the boxed slots in the leader? 2014-05-04T23:29:44Z pkhuong: That, and inheritance by appending, were my two goals with emitting a boxed/unboxed bitmap. 2014-05-04T23:30:05Z pkhuong: nyef: what's an array leader? 2014-05-04T23:30:39Z nyef: You know how a SIMPLE-FUN is always embedded in a CODE-OBJECT? Like that, but it's an optional thing to stick on the front of an ARRAY. 2014-05-04T23:31:14Z nyef: And it's negative-indexed, so you don't need to find the object header of the leader in order to perform an access. 2014-05-04T23:31:21Z pkhuong: that's lichtblau's suggestion, iirc. 2014-05-04T23:31:31Z stassats: i like the bitmap way 2014-05-04T23:32:12Z nyef: And with the boxed slots *before* the header, we can easily pack the unboxed slots in ABI order. 2014-05-04T23:32:20Z nyef: Well, more easily. 2014-05-04T23:32:41Z stassats: how will the GC like slots before the header? 2014-05-04T23:32:43Z nyef: ... I think that this is about to make its way onto my "possible-future" projects list. 2014-05-04T23:33:05Z pkhuong: (david had the unboxed slots -ve indexed) the downside is that now we need to align both the unboxed and the boxed zones to 2 words, individually 2014-05-04T23:33:08Z nyef: stassats: It'd be fine, because there'd be a header on the leader as well. 2014-05-04T23:33:28Z pkhuong: stassats: and you can derive the header header from the interior pointer 2014-05-04T23:33:58Z pkhuong: 1 more header word and more padding. 2014-05-04T23:34:00Z nyef: True, we'd have twice the alignment noise, plus an extra word of overhead. 2014-05-04T23:37:51Z pkhuong: now I see a hack for arrays of structures :\ 2014-05-04T23:38:57Z stassats: so, alien callbacks on ARM? 2014-05-04T23:39:50Z nyef: Not on my short-list. 2014-05-04T23:40:13Z nyef: How are we doing on the test suite, anyway? 2014-05-04T23:40:31Z stassats: i'll try to look at callbacks this week 2014-05-04T23:40:52Z stassats: last time i ran it, it didn't finish 2014-05-04T23:41:03Z nyef: Hrm. 2014-05-04T23:41:11Z nyef runs the test suite on his current build. 2014-05-04T23:42:14Z stassats: maybe i need to add --lose-on-coruption for running tests 2014-05-04T23:58:28Z nyef: ... What sort of "didn't finish"? 2014-05-04T23:58:43Z stassats: some sort 2014-05-04T23:58:50Z nyef: Ah. 2014-05-05T00:04:18Z JuanDaugherty quit (Remote host closed the connection) 2014-05-05T00:10:38Z stassats: they do finish now 2014-05-05T00:14:23Z stassats: one test fails with "No space left on device" 2014-05-05T00:14:40Z nyef: +- 2014-05-05T00:15:29Z stassats: i need to find a way to extend my fs 2014-05-05T00:15:33Z nyef: ... I SO need to stop sitting on my keyboard. /-: 2014-05-05T00:17:50Z stassats: SB-VM::CANNOT-ENCODE-IMMEDIATE-OPERAND strikes 2014-05-05T00:18:27Z stassats: and it's too late for this kind of thing 2014-05-05T00:18:37Z nyef: ... *break-on-signals* during compilation? 2014-05-05T00:18:51Z stassats: i know where it happens, just don't want to fix it 2014-05-05T00:18:55Z nyef: We should probably rewrite that, anyway. 2014-05-05T00:19:15Z stassats: mostly because it would require getting up from the coach 2014-05-05T00:24:05Z zRecursive joined #sbcl 2014-05-05T01:09:31Z michael_lee joined #sbcl 2014-05-05T01:32:52Z prxq_ joined #sbcl 2014-05-05T01:33:02Z ltbarcly joined #sbcl 2014-05-05T01:36:15Z prxq quit (Ping timeout: 252 seconds) 2014-05-05T01:56:07Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-05T02:09:34Z kanru joined #sbcl 2014-05-05T02:17:58Z nyef: Ugh. Every time I enable raw single-float struct slots, I get a failure during cold-init, "hash_table table!=this table 800000b". 2014-05-05T02:18:33Z nyef: But it's virtually the same logic as for raw word struct slots. 2014-05-05T02:19:15Z pkhuong: nyef: off by one in the subtraction? 2014-05-05T02:20:03Z nyef: I'd've expected that to show with the unboxed word slots, either in cold-init or running defstruct.impure, especially since they caught what looked to be an off-by-two. 2014-05-05T02:20:38Z pkhuong: broked move-from-single? 2014-05-05T02:21:48Z nyef: Seems unlikely given that we got this far, really. 2014-05-05T02:22:06Z nyef: And we pass float.pure with only a range-reduction failure, and float.impure completely. 2014-05-05T02:23:09Z pkhuong: Let me look at the hash table struct 2014-05-05T02:23:26Z nyef: I'm not really going to do anything more on this tonight, FWIW. 2014-05-05T02:23:40Z nyef: Certainly not another build, and I've already turned my RPi off. 2014-05-05T02:23:47Z pkhuong: you have signed/unsigned unobxed slots and floats? 2014-05-05T02:24:34Z nyef: Looks like unsigned-word only, and I'm trying to add single-float. 2014-05-05T02:25:55Z nyef: It has to be rehash-threshold, doesn't it? 2014-05-05T02:26:12Z pkhuong: yes. 2014-05-05T02:27:53Z nyef: Let's see... load the header, shift right n-widetag-bits, shift left n-fixnum-tag-bits (should be word-shift, but they're the same value, so that's okay), sub out index, sub out a magic offset, then add to the base address to find the target slot. 2014-05-05T02:29:28Z nyef: There's some cuteness to increase code density, and I could shave another instruction off if I knew that the top two bits of the widetag were constant (and what they were), but otherwise this looks good except for possibly the constant involving the lowtag, instance-slots-offset, and the slot width. 2014-05-05T02:35:41Z attila_lendvai joined #sbcl 2014-05-05T02:35:41Z attila_lendvai quit (Changing host) 2014-05-05T02:35:41Z attila_lendvai joined #sbcl 2014-05-05T02:38:33Z christoph_debian quit (Ping timeout: 250 seconds) 2014-05-05T02:39:26Z nyef: Comparing with the x86 version, I've got the instance-slots-offset and the slot width switched, but they're both 1 for the two initial cases, so that shouldn't matter. 2014-05-05T02:39:38Z nyef fixes it anyway. 2014-05-05T02:49:22Z pkhuong: nyef: something funky with rounding up the struct size? 2014-05-05T02:49:52Z nyef: Maybe. Seems a bit of a stretch, though. 2014-05-05T02:50:04Z nyef: I think I'm going to leave it until at least tomorrow. 2014-05-05T02:51:15Z nyef: There are some changes that I want to make that should both fit complex floats into the current structure that I have for unboxed slots (even if it doesn't currently work) and simplify a good amount of the current ARM float support. 2014-05-05T02:51:48Z stassats: pushed some test-fixing fixes 2014-05-05T02:52:15Z stassats: next failure, no complex-single-reg => descriptor-reg move 2014-05-05T02:52:17Z christoph_debian joined #sbcl 2014-05-05T02:52:24Z nyef: I have that one in my tree. 2014-05-05T02:52:55Z nyef: It's a one-line fix, around line... 343 of float.lisp. 2014-05-05T03:01:12Z stassats: not much test failures are left 2014-05-05T03:01:29Z nyef: Good to hear. 2014-05-05T03:01:54Z nyef: My attempt to run the full test suite seemed to devolve into some interrupt-handling mess, unfortunately. 2014-05-05T03:03:08Z stassats: it says the stack should be aligned to 4 bytes all the time, but 8 bytes "at a public interface" 2014-05-05T03:03:18Z stassats: the test fails if i specify 8 bytes 2014-05-05T03:04:34Z nyef: Okay, I'm just about fried, so I need to sign off for a few hours. (-: 2014-05-05T03:04:43Z nyef: Good luck with what you're working on. 2014-05-05T03:04:47Z nyef quit (Quit: G'night all.) 2014-05-05T03:05:09Z stassats: on nothing now 2014-05-05T03:17:28Z LiamH quit (Quit: Leaving.) 2014-05-05T03:22:41Z drmeister quit (Quit: Leaving...) 2014-05-05T03:29:34Z ltbarcly joined #sbcl 2014-05-05T03:57:18Z stassats quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2014-05-05T03:58:36Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-05T05:06:24Z oleo quit (Quit: Leaving) 2014-05-05T05:18:23Z sdemarre joined #sbcl 2014-05-05T05:30:55Z michael_lee quit (Quit: Ex-Chat) 2014-05-05T05:32:18Z yacks joined #sbcl 2014-05-05T05:32:44Z sdemarre quit (Ping timeout: 258 seconds) 2014-05-05T05:32:46Z yacks quit (Max SendQ exceeded) 2014-05-05T05:42:14Z pranavrc joined #sbcl 2014-05-05T05:42:14Z pranavrc quit (Changing host) 2014-05-05T05:42:14Z pranavrc joined #sbcl 2014-05-05T06:54:08Z fridim_ joined #sbcl 2014-05-05T07:22:21Z zRecursive quit (Remote host closed the connection) 2014-05-05T07:40:54Z ASau quit (Ping timeout: 240 seconds) 2014-05-05T08:25:18Z pranavrc quit (Read error: No route to host) 2014-05-05T08:25:28Z pranavrc joined #sbcl 2014-05-05T08:25:28Z pranavrc quit (Changing host) 2014-05-05T08:25:28Z pranavrc joined #sbcl 2014-05-05T08:48:00Z Shinmera joined #sbcl 2014-05-05T09:59:54Z scymtym_ quit (Ping timeout: 240 seconds) 2014-05-05T10:25:59Z edgar-rft joined #sbcl 2014-05-05T11:45:58Z nyef joined #sbcl 2014-05-05T11:46:13Z rszeno joined #sbcl 2014-05-05T11:46:52Z nyef: G'morning all. 2014-05-05T11:59:48Z milanj joined #sbcl 2014-05-05T12:03:52Z Krystof: morning! 2014-05-05T12:09:33Z rszeno left #sbcl 2014-05-05T12:49:06Z nyef: Ugh. Can I use LIP-TN in a move-fun, or is that not cricket? 2014-05-05T12:55:24Z psilord quit (Quit: Leaving.) 2014-05-05T12:58:15Z Krystof: under what circumstances do we dynamically allocate structures? 2014-05-05T13:03:25Z nyef: D-X allocation? 2014-05-05T13:04:15Z nyef: Structures may be D-X allocated when they are entirely boxed slots, or when the stack is treated as conservative roots. 2014-05-05T13:05:14Z nyef: Those are the GC requirements. When we actually DO the allocation is another matter, and that I'm not so sure of. 2014-05-05T13:07:30Z Krystof: yeah, really not managing to trigger it :( 2014-05-05T13:07:42Z pkhuong: Krystof: declaration, speed/space > safety, perhaps. 2014-05-05T13:09:19Z pkhuong: Krystof: declaration, declaim the constructor inline before defstruct 2014-05-05T13:10:30Z Krystof: yes, declaim the constructor was what I was missing 2014-05-05T13:10:42Z Krystof: also sb-ext:*stack-allocate-dynamic-extent* t 2014-05-05T13:10:51Z Krystof: cool 2014-05-05T13:10:54Z pkhuong: not necessary. 2014-05-05T13:10:56Z Krystof: ok 2014-05-05T13:11:08Z pkhuong: it's T by default here 2014-05-05T13:11:22Z Krystof: pascal costanza just gave a talk with a neat hack to deal with consing in vec3+ and similar operators 2014-05-05T13:11:37Z Krystof: (in Lispworks) 2014-05-05T13:13:01Z pkhuong: nyef: would our lives be much easier with an arg passing/returning stack? 2014-05-05T13:14:39Z pranavrc quit 2014-05-05T13:17:01Z nyef: A separate value stack from the control stack? 2014-05-05T13:17:05Z pkhuong: yup 2014-05-05T13:17:41Z nyef: Means an extra stack pointer, but would relieve quite a bit of juggling for D-X allocations, &MORE arg processing, and whatnot... 2014-05-05T13:17:53Z pkhuong: control stack for fixed-size stack frames and return address, value stack for dx/args/return values 2014-05-05T13:18:19Z nyef: Hrm. 2014-05-05T13:18:40Z pkhuong: nip stack manipulation bugs in the bud ;) 2014-05-05T13:19:23Z nyef: Yeah, right. We'd still have a fair bunch. 2014-05-05T13:19:52Z nyef: I don't know that it would be worth the hassle. 2014-05-05T13:20:04Z nyef: Or the extra per-thread allocation. 2014-05-05T13:20:23Z pkhuong: we have something like 4MB threads 2014-05-05T13:20:38Z |3b| wonders how that hack compares to sb-cga (assuming the same sort of "vec3") 2014-05-05T13:21:38Z pkhuong: back to the ad mines ;) 2014-05-05T13:25:50Z eudoxia joined #sbcl 2014-05-05T13:49:33Z erikvarga joined #sbcl 2014-05-05T13:51:20Z nyef quit (Read error: Connection reset by peer) 2014-05-05T14:00:18Z jdz joined #sbcl 2014-05-05T14:02:03Z wbooze joined #sbcl 2014-05-05T14:02:14Z segv- joined #sbcl 2014-05-05T14:03:01Z oleo joined #sbcl 2014-05-05T14:08:29Z psilord joined #sbcl 2014-05-05T14:29:01Z DGASAU quit (Remote host closed the connection) 2014-05-05T14:30:14Z DGASAU joined #sbcl 2014-05-05T14:36:34Z rpg joined #sbcl 2014-05-05T14:52:49Z Krystof wonders idly if there's any possibility for an arm-port merge by tomorrow 2014-05-05T14:53:54Z Krystof: probably not. But if there were, I could announce it to els 2014-05-05T15:14:48Z jdz quit (Remote host closed the connection) 2014-05-05T15:15:58Z jdz joined #sbcl 2014-05-05T15:31:52Z oleo quit (Remote host closed the connection) 2014-05-05T15:34:33Z wbooze quit (Read error: Connection reset by peer) 2014-05-05T15:37:27Z oleo joined #sbcl 2014-05-05T15:40:45Z jdz quit (Remote host closed the connection) 2014-05-05T15:41:18Z wbooze joined #sbcl 2014-05-05T15:45:47Z erikvarga left #sbcl 2014-05-05T15:46:27Z fridim_ quit (Ping timeout: 258 seconds) 2014-05-05T15:47:15Z fridim_ joined #sbcl 2014-05-05T16:03:34Z jrm joined #sbcl 2014-05-05T16:06:26Z Hydan quit (Ping timeout: 255 seconds) 2014-05-05T16:06:28Z Hydan_ joined #sbcl 2014-05-05T16:08:40Z eudoxia quit (Quit: Lost terminal) 2014-05-05T16:09:07Z eudoxia joined #sbcl 2014-05-05T16:13:47Z michael_lee joined #sbcl 2014-05-05T16:51:05Z eudoxia quit (Quit: Lost terminal) 2014-05-05T16:57:19Z attila_lendvai quit (Quit: Leaving.) 2014-05-05T16:57:43Z edgar-rft quit (Quit: lifetime discontinued into perpetual darkness) 2014-05-05T17:02:34Z slyrus quit (Ping timeout: 276 seconds) 2014-05-05T17:02:59Z ltbarcly joined #sbcl 2014-05-05T17:04:00Z ASau joined #sbcl 2014-05-05T17:05:41Z attila_lendvai joined #sbcl 2014-05-05T17:05:41Z attila_lendvai quit (Changing host) 2014-05-05T17:05:41Z attila_lendvai joined #sbcl 2014-05-05T17:10:09Z ltbarcly quit (Ping timeout: 252 seconds) 2014-05-05T17:14:33Z ltbarcly joined #sbcl 2014-05-05T17:16:28Z rpg quit (Quit: rpg) 2014-05-05T17:21:16Z cmack` quit (Ping timeout: 252 seconds) 2014-05-05T17:21:57Z cmack` joined #sbcl 2014-05-05T17:27:50Z davazp joined #sbcl 2014-05-05T17:35:00Z attila_lendvai quit (Quit: Leaving.) 2014-05-05T17:55:20Z michael_lee quit (Ping timeout: 255 seconds) 2014-05-05T18:01:41Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-05T18:04:04Z sdemarre joined #sbcl 2014-05-05T18:12:12Z rpg joined #sbcl 2014-05-05T18:17:13Z erikvarga joined #sbcl 2014-05-05T18:24:05Z slyrus joined #sbcl 2014-05-05T18:25:41Z davazp quit (Ping timeout: 252 seconds) 2014-05-05T18:40:37Z edgar-rft joined #sbcl 2014-05-05T19:00:48Z drmeister joined #sbcl 2014-05-05T19:03:22Z rpg quit (Quit: rpg) 2014-05-05T19:04:45Z slyrus quit (Ping timeout: 240 seconds) 2014-05-05T19:11:20Z ehaliewicz joined #sbcl 2014-05-05T19:14:58Z rpg joined #sbcl 2014-05-05T19:17:02Z erikvarga left #sbcl 2014-05-05T19:32:42Z sdemarre quit (Ping timeout: 276 seconds) 2014-05-05T19:36:22Z ltbarcly joined #sbcl 2014-05-05T20:05:27Z tmh_ quit (Changing host) 2014-05-05T20:05:28Z tmh_ joined #sbcl 2014-05-05T20:05:35Z tmh_ is now known as tmh- 2014-05-05T20:24:53Z drmeister quit (Read error: Connection reset by peer) 2014-05-05T20:24:53Z drmeiste_ joined #sbcl 2014-05-05T20:59:38Z tmh- quit (Ping timeout: 240 seconds) 2014-05-05T21:07:31Z dtm` joined #sbcl 2014-05-05T21:09:36Z pkhuong: Krystof: do you think it makes sense to have a declaration to the effect that a given symbol always names a GF? 2014-05-05T21:09:46Z pkhuong: that way we could inline dispatch, caches, etc? 2014-05-05T21:10:15Z rpg quit (Quit: rpg) 2014-05-05T21:10:26Z Krystof: I think that would be a fine thing to play with 2014-05-05T21:10:51Z Krystof: I can't see how it would hurt, either: if it turns out that the declaration is a lie, we can still catch that from an inline dispatch 2014-05-05T21:11:07Z Krystof: the els2014 crowd says "hi", by the way 2014-05-05T21:11:36Z pkhuong: hello to you guys, I won't bother your social events further ;) 2014-05-05T21:12:17Z pkhuong: that's an interesting trade off: the current way has more indirection for GFs and fewer for regular functions; with the declaration, we'd have the opposite. 2014-05-05T21:13:39Z Krystof: apparently there is work going in Operations Research at a large Portugese Lisp-using company 2014-05-05T21:13:49Z Krystof: downside: the OR work is in C++ :-( 2014-05-05T21:20:18Z pkhuong: That's expected. 2014-05-05T21:21:16Z slyrus joined #sbcl 2014-05-05T21:21:29Z pkhuong: this reminds me: I vaguely remember that some uarchs have worse indirect call prediction when going through a memory operand. 2014-05-05T21:31:23Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-05T21:31:27Z jdz joined #sbcl 2014-05-05T21:32:46Z rpg joined #sbcl 2014-05-05T21:36:17Z drmeiste_ quit (Remote host closed the connection) 2014-05-05T21:40:30Z drmeister joined #sbcl 2014-05-05T21:44:46Z dtm` quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2014-05-05T21:45:50Z drmeister: How does SBCL implement VECTOR? Does it store the length/capacity/data[0]....data[capacity-1] in one contiguous block of memory? 2014-05-05T21:46:19Z drmeister: I ask because in my implementation I used C++ std::vector which I just learned is incompatible with a moving garbage collector. 2014-05-05T21:46:35Z drmeister: So I implemented a substitute VECTOR like the one above. 2014-05-05T21:46:39Z drmeister: I'm fishing for other ideas. 2014-05-05T21:47:10Z wbooze quit (Ping timeout: 258 seconds) 2014-05-05T21:47:21Z drmeister: C++ std::vector maintains a block of memory std::vector that contains three pointers to another block of memory that contains the data. 2014-05-05T21:47:41Z drmeister: It's not moving GC friendly. 2014-05-05T21:50:53Z drmeister: My HASH-TABLE implementation only requires a VECTOR and CONSes. 2014-05-05T21:51:28Z drmeister: But I can see it would be challenging to develop other associative data structures (b-trees, red-black trees) that would work with moving GC. 2014-05-05T21:57:33Z drmeister quit (Remote host closed the connection) 2014-05-05T21:58:31Z milanj quit (Quit: Leaving) 2014-05-05T22:04:35Z drmeister joined #sbcl 2014-05-05T22:05:17Z jdz quit (Remote host closed the connection) 2014-05-05T22:06:22Z drmeister quit (Read error: Connection reset by peer) 2014-05-05T22:07:08Z ltbarcly joined #sbcl 2014-05-05T22:12:17Z drmeister joined #sbcl 2014-05-05T22:14:32Z Shinmera quit (Quit: ZzZZ) 2014-05-05T22:18:52Z ltbarcly_ joined #sbcl 2014-05-05T22:19:54Z ltbarcly quit (Ping timeout: 240 seconds) 2014-05-05T22:22:11Z segv- quit (Ping timeout: 255 seconds) 2014-05-05T22:25:31Z psilord quit (Quit: Leaving.) 2014-05-05T22:27:41Z fridim_ quit (Ping timeout: 252 seconds) 2014-05-05T22:30:52Z slyrus quit (Ping timeout: 258 seconds) 2014-05-05T22:32:20Z ltbarcly_ quit (Quit: Computer has gone to sleep.) 2014-05-05T22:33:19Z drmeister quit (Read error: Connection reset by peer) 2014-05-05T22:42:01Z rpg quit (Quit: rpg) 2014-05-05T22:57:19Z drmeister joined #sbcl 2014-05-05T23:07:09Z milosn quit (Ping timeout: 245 seconds) 2014-05-05T23:07:39Z Hydan_ quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) 2014-05-05T23:09:39Z drmeister quit (Remote host closed the connection) 2014-05-05T23:15:07Z drmeister joined #sbcl 2014-05-05T23:19:14Z oleo quit (Ping timeout: 245 seconds) 2014-05-05T23:20:02Z oleo joined #sbcl 2014-05-05T23:38:18Z psilord joined #sbcl 2014-05-05T23:40:21Z leo2007 joined #sbcl 2014-05-05T23:52:21Z zRecursive joined #sbcl 2014-05-05T23:52:33Z pillton joined #sbcl 2014-05-05T23:55:34Z rpg joined #sbcl 2014-05-05T23:55:45Z drmeister quit (Remote host closed the connection) 2014-05-06T00:02:36Z milosn joined #sbcl 2014-05-06T00:15:52Z ltbarcly joined #sbcl 2014-05-06T00:18:35Z ltbarcly quit (Client Quit) 2014-05-06T00:19:33Z rpg quit (Quit: rpg) 2014-05-06T00:43:56Z drmeister joined #sbcl 2014-05-06T00:45:19Z edgar-rft quit (Quit: mental process closed by sudden death) 2014-05-06T01:01:52Z ltbarcly joined #sbcl 2014-05-06T01:09:41Z cmack`` joined #sbcl 2014-05-06T01:13:49Z cmack` quit (Ping timeout: 245 seconds) 2014-05-06T01:23:53Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-06T01:27:11Z ltbarcly joined #sbcl 2014-05-06T01:33:30Z prxq__ joined #sbcl 2014-05-06T01:36:59Z prxq_ quit (Ping timeout: 250 seconds) 2014-05-06T02:23:38Z michael_lee joined #sbcl 2014-05-06T02:26:09Z eudoxia joined #sbcl 2014-05-06T02:28:04Z michael_lee quit (Remote host closed the connection) 2014-05-06T02:30:48Z drmeister quit (Remote host closed the connection) 2014-05-06T02:33:34Z michael_lee joined #sbcl 2014-05-06T02:39:06Z christoph_debian quit (Ping timeout: 276 seconds) 2014-05-06T02:51:49Z christoph_debian joined #sbcl 2014-05-06T02:55:13Z eudoxia quit (Quit: leaving) 2014-05-06T03:06:46Z attila_lendvai joined #sbcl 2014-05-06T03:06:47Z attila_lendvai quit (Changing host) 2014-05-06T03:06:47Z attila_lendvai joined #sbcl 2014-05-06T03:08:42Z ehaliewicz quit (Read error: Connection reset by peer) 2014-05-06T03:38:18Z kanru quit (Read error: Connection reset by peer) 2014-05-06T04:08:11Z kanru joined #sbcl 2014-05-06T04:20:15Z drmeister joined #sbcl 2014-05-06T04:22:28Z Hydan joined #sbcl 2014-05-06T05:03:02Z drmeister quit (Remote host closed the connection) 2014-05-06T05:03:22Z oleo quit (Quit: Leaving) 2014-05-06T05:17:08Z sdemarre joined #sbcl 2014-05-06T05:26:29Z Hydan quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) 2014-05-06T05:34:18Z ASau quit (Ping timeout: 240 seconds) 2014-05-06T05:42:59Z sdemarre quit (Ping timeout: 245 seconds) 2014-05-06T05:43:19Z pranavrc joined #sbcl 2014-05-06T05:51:08Z michael_lee quit (Ping timeout: 265 seconds) 2014-05-06T06:03:40Z michael_lee joined #sbcl 2014-05-06T06:11:48Z fridim_ joined #sbcl 2014-05-06T06:16:36Z ASau joined #sbcl 2014-05-06T06:42:17Z samskulls joined #sbcl 2014-05-06T06:51:54Z drmeister joined #sbcl 2014-05-06T06:57:09Z drmeister quit (Ping timeout: 276 seconds) 2014-05-06T06:59:51Z jdz joined #sbcl 2014-05-06T07:01:25Z jdz_ joined #sbcl 2014-05-06T07:01:55Z jdz quit (Read error: Connection reset by peer) 2014-05-06T07:06:54Z ASau quit (Ping timeout: 240 seconds) 2014-05-06T07:35:57Z jdz_ quit (Remote host closed the connection) 2014-05-06T07:37:12Z zRecursive left #sbcl 2014-05-06T07:37:16Z prxq__ is now known as prxq 2014-05-06T08:23:01Z stassats joined #sbcl 2014-05-06T08:34:35Z Hydan joined #sbcl 2014-05-06T08:40:47Z drmeister joined #sbcl 2014-05-06T08:45:09Z drmeister quit (Ping timeout: 240 seconds) 2014-05-06T08:54:35Z ltbarcly quit (Quit: Textual IRC Client: www.textualapp.com) 2014-05-06T09:01:35Z yacks joined #sbcl 2014-05-06T09:50:43Z Intensity quit (*.net *.split) 2014-05-06T09:50:44Z pillton quit (*.net *.split) 2014-05-06T09:59:12Z pillton joined #sbcl 2014-05-06T10:05:10Z edgar-rft joined #sbcl 2014-05-06T10:15:44Z Shinmera joined #sbcl 2014-05-06T10:27:46Z michael_lee quit (Remote host closed the connection) 2014-05-06T10:29:27Z drmeister joined #sbcl 2014-05-06T10:33:53Z drmeister quit (Ping timeout: 250 seconds) 2014-05-06T10:45:57Z fridim_ quit (Ping timeout: 240 seconds) 2014-05-06T11:49:43Z leo2007 quit (Ping timeout: 258 seconds) 2014-05-06T12:22:48Z yacks quit (Ping timeout: 276 seconds) 2014-05-06T12:26:50Z drmeister joined #sbcl 2014-05-06T12:29:35Z samskulls quit (Ping timeout: 250 seconds) 2014-05-06T12:36:57Z hlavaty joined #sbcl 2014-05-06T12:53:58Z drmeister quit (Remote host closed the connection) 2014-05-06T12:56:13Z Intensity joined #sbcl 2014-05-06T12:58:35Z psilord quit (Quit: Leaving.) 2014-05-06T13:16:06Z leo2007 joined #sbcl 2014-05-06T13:17:05Z pranavrc quit 2014-05-06T13:27:55Z eudoxia joined #sbcl 2014-05-06T13:28:58Z oleo joined #sbcl 2014-05-06T13:36:08Z drmeister joined #sbcl 2014-05-06T13:48:42Z segv- joined #sbcl 2014-05-06T14:00:03Z drmeister quit (Read error: Connection reset by peer) 2014-05-06T14:07:17Z psilord joined #sbcl 2014-05-06T14:09:43Z drmeister joined #sbcl 2014-05-06T14:09:51Z Krystof: scymtym: gabor melis would really like pattern specializers, I think 2014-05-06T14:14:22Z milanj joined #sbcl 2014-05-06T14:27:47Z |3b|: Krystof: almost wanted to specialize on ranges of version strings the other day, but didn't quite fit well enough to actually try to implement it 2014-05-06T14:38:27Z drmeister quit (Ping timeout: 265 seconds) 2014-05-06T14:39:14Z kanru quit (Ping timeout: 245 seconds) 2014-05-06T14:52:40Z drmeister joined #sbcl 2014-05-06T14:53:34Z stassats quit (Ping timeout: 240 seconds) 2014-05-06T14:55:06Z tmh_ joined #sbcl 2014-05-06T14:55:19Z tmh_ quit (Changing host) 2014-05-06T14:55:19Z tmh_ joined #sbcl 2014-05-06T14:59:41Z drmeiste_ joined #sbcl 2014-05-06T15:02:45Z drmeister quit (Ping timeout: 240 seconds) 2014-05-06T15:11:28Z scymtym_ joined #sbcl 2014-05-06T15:17:52Z Krystof: cracauer: is your less-conservative work alpha-testable? 2014-05-06T15:20:18Z Hydan quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) 2014-05-06T15:28:29Z Hydan joined #sbcl 2014-05-06T15:29:11Z ltbarcly joined #sbcl 2014-05-06T15:39:46Z Hydan quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) 2014-05-06T15:42:03Z ASau joined #sbcl 2014-05-06T15:51:14Z attila_lendvai quit (Ping timeout: 240 seconds) 2014-05-06T15:56:12Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-06T15:56:39Z ltbarcly joined #sbcl 2014-05-06T16:04:23Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-06T16:07:49Z ltbarcly joined #sbcl 2014-05-06T16:10:43Z attila_lendvai joined #sbcl 2014-05-06T16:10:43Z attila_lendvai quit (Changing host) 2014-05-06T16:10:43Z attila_lendvai joined #sbcl 2014-05-06T16:10:58Z ltbarcly_ joined #sbcl 2014-05-06T16:11:04Z ltbarcly quit (Read error: Connection reset by peer) 2014-05-06T16:14:14Z michael_lee joined #sbcl 2014-05-06T16:17:35Z drmeister joined #sbcl 2014-05-06T16:18:30Z attila_lendvai quit (Ping timeout: 265 seconds) 2014-05-06T16:20:28Z eudoxia quit (Quit: Lost terminal) 2014-05-06T16:20:45Z drmeiste_ quit (Ping timeout: 240 seconds) 2014-05-06T16:20:46Z stassats joined #sbcl 2014-05-06T16:27:26Z cracauer: Krystof, no, I need more time. 2014-05-06T16:32:42Z stassats quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2014-05-06T16:49:11Z Hydan joined #sbcl 2014-05-06T17:02:48Z michael_lee quit (Remote host closed the connection) 2014-05-06T17:02:48Z ltbarcly_ quit (Read error: Connection reset by peer) 2014-05-06T17:03:26Z ltbarcly joined #sbcl 2014-05-06T17:05:21Z Hydan quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) 2014-05-06T17:25:38Z Hydan joined #sbcl 2014-05-06T17:42:07Z erikvarga joined #sbcl 2014-05-06T17:44:47Z slyrus joined #sbcl 2014-05-06T18:01:47Z fiveop joined #sbcl 2014-05-06T18:03:19Z ltbarcly_ joined #sbcl 2014-05-06T18:04:58Z ltbarcly quit (Ping timeout: 240 seconds) 2014-05-06T18:07:10Z ltbarcly joined #sbcl 2014-05-06T18:09:14Z ltbarcly_ quit (Ping timeout: 245 seconds) 2014-05-06T18:13:51Z ASau quit (Remote host closed the connection) 2014-05-06T18:16:42Z ASau joined #sbcl 2014-05-06T18:20:48Z milanj quit (Quit: Leaving) 2014-05-06T18:23:20Z ASau` joined #sbcl 2014-05-06T18:24:16Z ASau`` joined #sbcl 2014-05-06T18:24:39Z ASau quit (Ping timeout: 265 seconds) 2014-05-06T18:26:32Z ASau`` is now known as ASau 2014-05-06T18:28:06Z ASau` quit (Ping timeout: 276 seconds) 2014-05-06T18:28:35Z rpg joined #sbcl 2014-05-06T18:37:56Z fridim_ joined #sbcl 2014-05-06T18:48:13Z samskulls joined #sbcl 2014-05-06T18:59:30Z rpg quit (Remote host closed the connection) 2014-05-06T18:59:37Z rpg joined #sbcl 2014-05-06T19:04:24Z ltbarcly_ joined #sbcl 2014-05-06T19:07:20Z ltbarcly quit (Ping timeout: 255 seconds) 2014-05-06T19:15:44Z ltbarcly_ quit (Quit: Textual IRC Client: www.textualapp.com) 2014-05-06T19:16:32Z drmeiste_ joined #sbcl 2014-05-06T19:16:50Z drmeister quit (Read error: No route to host) 2014-05-06T19:34:25Z segv- quit (Remote host closed the connection) 2014-05-06T19:42:34Z segv- joined #sbcl 2014-05-06T19:46:18Z redline6561_ is now known as redline6561 2014-05-06T19:55:25Z rpg quit (Quit: rpg) 2014-05-06T19:56:58Z fridim_ quit (Ping timeout: 240 seconds) 2014-05-06T19:59:33Z sdemarre joined #sbcl 2014-05-06T20:22:30Z sdemarre quit (Ping timeout: 276 seconds) 2014-05-06T20:22:37Z rpg joined #sbcl 2014-05-06T20:23:05Z rpg_ joined #sbcl 2014-05-06T20:23:15Z rpg_ quit (Client Quit) 2014-05-06T20:26:58Z rpg quit (Ping timeout: 240 seconds) 2014-05-06T20:33:23Z ehaliewicz joined #sbcl 2014-05-06T20:48:04Z erikvarga left #sbcl 2014-05-06T20:57:21Z rpg joined #sbcl 2014-05-06T20:57:31Z rpg quit (Client Quit) 2014-05-06T21:15:06Z rpg joined #sbcl 2014-05-06T21:58:17Z psilord quit (Quit: Leaving.) 2014-05-06T21:58:40Z drmeiste_ quit (Remote host closed the connection) 2014-05-06T22:00:08Z fiveop quit (Quit: bye) 2014-05-06T22:01:01Z ASau quit (Remote host closed the connection) 2014-05-06T22:02:41Z ASau joined #sbcl 2014-05-06T22:07:17Z ASau quit (Ping timeout: 258 seconds) 2014-05-06T22:12:34Z Shinmera quit (Quit: ZzZz) 2014-05-06T22:17:37Z drmeister joined #sbcl 2014-05-06T22:18:46Z tmh_ quit (Remote host closed the connection) 2014-05-06T22:19:50Z Bicyclidine joined #sbcl 2014-05-06T22:21:42Z rpg quit (Quit: rpg) 2014-05-06T22:24:18Z rpg joined #sbcl 2014-05-06T22:24:23Z rpg quit (Remote host closed the connection) 2014-05-06T22:26:59Z eudoxia joined #sbcl 2014-05-06T22:37:02Z drmeister quit (Read error: Connection reset by peer) 2014-05-06T22:40:03Z drmeister joined #sbcl 2014-05-06T22:41:37Z tmh_ joined #sbcl 2014-05-06T22:42:03Z tmh_ quit (Changing host) 2014-05-06T22:42:03Z tmh_ joined #sbcl 2014-05-06T22:50:47Z Bicyclidine quit (Ping timeout: 255 seconds) 2014-05-06T22:51:00Z Bicyclidine joined #sbcl 2014-05-06T22:56:18Z slyrus quit (Ping timeout: 252 seconds) 2014-05-06T23:00:30Z psilord joined #sbcl 2014-05-06T23:07:50Z drmeister quit (Read error: Connection reset by peer) 2014-05-06T23:22:21Z drmeister joined #sbcl 2014-05-06T23:22:56Z Bicyclidine quit (Ping timeout: 255 seconds) 2014-05-06T23:23:10Z Bicyclidine joined #sbcl 2014-05-06T23:44:34Z drmeister quit (Ping timeout: 240 seconds) 2014-05-06T23:47:34Z Bicyclidine quit (Ping timeout: 240 seconds) 2014-05-06T23:51:05Z Bicyclidine joined #sbcl 2014-05-06T23:53:25Z segv- quit (Remote host closed the connection) 2014-05-07T00:00:54Z oleo quit (Ping timeout: 276 seconds) 2014-05-07T00:05:56Z Bicyclidine quit (Ping timeout: 255 seconds) 2014-05-07T00:06:28Z Bicyclidine joined #sbcl 2014-05-07T00:09:14Z edgar-rft quit (Quit: activity discontinued because computer stinks) 2014-05-07T00:10:45Z Bicyclidine quit (Ping timeout: 240 seconds) 2014-05-07T00:13:31Z oleo joined #sbcl 2014-05-07T00:15:29Z pkhuong: so... I started to think about partitioned register sets for x86oids 2014-05-07T00:16:00Z pkhuong: and I realised that we can easily use MMX as secondary spill locations for unboxed GPRs (instead of the stack) 2014-05-07T00:16:42Z pkhuong: and same with high slots in SSE registers. 2014-05-07T00:36:15Z pkhuong: but our regallocs aren't clever enough to spill to high slots in sse registers 2014-05-07T00:37:20Z pkhuong: and mm <-> gpr is only a win for a split stack. 2014-05-07T00:39:13Z Bike quit (Read error: Connection reset by peer) 2014-05-07T00:39:39Z Bike joined #sbcl 2014-05-07T01:00:08Z zRecursive joined #sbcl 2014-05-07T01:04:22Z scymtym_ quit (Ping timeout: 265 seconds) 2014-05-07T01:14:18Z Hydan quit (Remote host closed the connection) 2014-05-07T01:15:02Z eudoxia quit (Quit: Lost terminal) 2014-05-07T01:25:38Z rpg joined #sbcl 2014-05-07T01:28:58Z prxq_ joined #sbcl 2014-05-07T01:32:07Z prxq quit (Ping timeout: 252 seconds) 2014-05-07T01:33:42Z rpg quit (Quit: rpg) 2014-05-07T01:46:08Z drmeister joined #sbcl 2014-05-07T02:39:14Z christoph_debian quit (Ping timeout: 245 seconds) 2014-05-07T02:52:38Z christoph_debian joined #sbcl 2014-05-07T02:57:59Z rpg joined #sbcl 2014-05-07T02:59:30Z rpg quit (Client Quit) 2014-05-07T03:01:36Z rpg joined #sbcl 2014-05-07T03:11:23Z kanru joined #sbcl 2014-05-07T03:19:04Z drmeister quit (Remote host closed the connection) 2014-05-07T03:19:47Z rpg quit (Quit: rpg) 2014-05-07T03:24:58Z rpg joined #sbcl 2014-05-07T03:28:13Z drmeister joined #sbcl 2014-05-07T03:36:53Z michael_lee joined #sbcl 2014-05-07T03:53:46Z rpg quit (Quit: rpg) 2014-05-07T03:56:28Z attila_lendvai joined #sbcl 2014-05-07T03:56:28Z attila_lendvai quit (Changing host) 2014-05-07T03:56:28Z attila_lendvai joined #sbcl 2014-05-07T04:28:07Z krzysz00 joined #sbcl 2014-05-07T05:00:48Z sdemarre joined #sbcl 2014-05-07T05:06:02Z oleo quit (Quit: Leaving) 2014-05-07T05:18:45Z sdemarre quit (Ping timeout: 276 seconds) 2014-05-07T05:39:45Z |3b|` joined #sbcl 2014-05-07T05:41:06Z |3b| quit (Ping timeout: 240 seconds) 2014-05-07T05:46:36Z attila_lendvai quit (Ping timeout: 252 seconds) 2014-05-07T05:55:11Z pranavrc joined #sbcl 2014-05-07T05:55:11Z pranavrc quit (Changing host) 2014-05-07T05:55:11Z pranavrc joined #sbcl 2014-05-07T06:03:54Z krzysz00 quit (Ping timeout: 240 seconds) 2014-05-07T06:16:40Z edgar-rft joined #sbcl 2014-05-07T06:24:23Z ASau joined #sbcl 2014-05-07T06:42:21Z angavrilov joined #sbcl 2014-05-07T07:08:27Z drmeister quit (Remote host closed the connection) 2014-05-07T07:17:00Z prxq_ is now known as prxq 2014-05-07T07:18:57Z ASau quit (Ping timeout: 265 seconds) 2014-05-07T07:25:33Z attila_lendvai joined #sbcl 2014-05-07T07:25:34Z attila_lendvai quit (Changing host) 2014-05-07T07:25:34Z attila_lendvai joined #sbcl 2014-05-07T07:27:03Z zRecursive left #sbcl 2014-05-07T08:00:47Z prxq quit (Quit: Leaving) 2014-05-07T08:32:27Z prxq joined #sbcl 2014-05-07T08:33:49Z erikvarga joined #sbcl 2014-05-07T08:35:45Z Poenikatu joined #sbcl 2014-05-07T08:38:58Z rszeno joined #sbcl 2014-05-07T08:39:25Z Poenikatu: Hello. I am trying to use sbcl with scripts. My first attempt is with the 2014-05-07T08:40:36Z Poenikatu: with the text in http://paste.lisp.org/+31WB. Could someone look at this script and tell me where the error is in line 11? I'm getting a message that there is a syntax error on line 11 with a closing parenthesis. 2014-05-07T08:47:41Z Shinmera joined #sbcl 2014-05-07T08:54:20Z rszeno left #sbcl 2014-05-07T08:54:54Z prxq: Poenikatu: without testing it, I think the problem is the backslash in the first line 2014-05-07T08:55:13Z prxq: or could be it 2014-05-07T09:00:02Z Poenikatu: prxq: The paste contains the backslash because I wanted people to understand that the --core command was all on one line. The backslash is not in the source file. 2014-05-07T09:00:52Z Bike: but the --script is on a second line? 2014-05-07T09:01:39Z Poenikatu: prxq: I'm pretty careful with balancing parentheses and, using emacs, I often use the C-cC-] key sequence to ensure balancing parentheses. And no, the --script is on line 1 2014-05-07T09:03:48Z prxq: obviously the parentheses are balanced 2014-05-07T09:03:49Z Poenikatu: The point is, paste.lisp.org do not provide a large box for pasted material. 2014-05-07T09:03:59Z prxq: feel free to use pastebin.com 2014-05-07T09:04:26Z prxq: posting the exact error is probably a good idea 2014-05-07T09:07:04Z Poenikatu: prxq: (1) I've just got pastebin.com up and it looks good. I'll use it, thanks. The exact error is in Esperanto (my locale is eo.UTF-8), but translated it reads "/home/sian/bin/edit.diary: line 11: Syntax error next to unexpected ")", followed by the same path and line number and ".diary"))) 2014-05-07T09:09:39Z Bike: so, what happens if you just evaluate one line at a time at a repl. 2014-05-07T09:12:40Z jdz joined #sbcl 2014-05-07T09:17:35Z erikvarga left #sbcl 2014-05-07T09:18:22Z scymtym: Poenikatu: i don't think that SBCL ever generates errors messages in languages other than English; i would therefore assume that the error is produced by the surrounding environment 2014-05-07T09:18:51Z scymtym: your translated error message sounds like something a bash might produce 2014-05-07T09:23:05Z Poenikatu: I have used pastebin.com to produce the script and the messages when running it: http://pastebin.com/pGRVuGZZ. I agree with scymtym that the messages look as though they were produced by bash. But why should bash be used when I have specified a different interpreter in the first line? 2014-05-07T09:23:51Z scymtym: Poenikatu: is /opt/sbcl/bin/sbcl a shell script in your setup? 2014-05-07T09:25:34Z Poenikatu: scymtym: /opt/sbcl/bin/sbcl is the executable for sbcl, but I've just realised that I may well have used the wrong executable. I shall be away for a few minutes to check. 2014-05-07T09:33:48Z Poenikatu: Ok, I've tried the correct binary for sbcl, but all I get is sbcl running and getting its asterisk prompt. It does not, repeat *not* run the script. 2014-05-07T09:34:34Z Poenikatu: This is the shebang command: #!/home/sian/bin/sbcl --core /opt/sbcl/lib/sbcl/script.core --script /home/sian/bin/edit.diary 2014-05-07T09:38:08Z Poenikatu: Well, I've tried according to the sbcl manual, but I cannot get sbcl to run the script. 2014-05-07T09:38:36Z Poenikatu: At least I don't get the "Syntax error" message. 2014-05-07T09:38:40Z jdz: http://cliki.net/cl-launch 2014-05-07T09:39:23Z jdz: Poenikatu: just for your information, in the shebang line, on most unixish things the executable gets everything after the program path as a single argument 2014-05-07T09:40:13Z jdz: (i've learned something in ELS2014 :) 2014-05-07T09:46:09Z Poenikatu: jdz: Thanks for point that out. Trying to run sbcl with a script is proving far more difficult than it should be 2014-05-07T09:46:17Z Poenikatu: *pointing 2014-05-07T09:46:23Z jdz: it's not SBCL specific 2014-05-07T09:46:41Z jdz: you can't properly supply parameters on the shebang line to anything 2014-05-07T09:46:50Z jdz: cl-launch works around this limitation 2014-05-07T09:46:57Z jdz: at least that's what Fare said 2014-05-07T09:47:18Z Poenikatu: jdz: Ok, I'll have a look at cl-launch 2014-05-07T10:00:40Z Poenikatu left #sbcl 2014-05-07T10:04:07Z ehaliewicz quit (Ping timeout: 258 seconds) 2014-05-07T11:00:52Z krzysz00 joined #sbcl 2014-05-07T11:13:38Z |3b|` is now known as |3b| 2014-05-07T11:24:11Z |3b|: the clhs page for TYPE-OF says "1. For any object that is an element of some built-in type: ... the type returned does not involve and, eql, member, not, or, satisfies, or values. ", but it returns things like (AND (VECTOR T 5) (NOT SIMPLE-ARRAY)) for displaced arrays, is that allowed? 2014-05-07T11:34:46Z jdz quit (Remote host closed the connection) 2014-05-07T11:35:21Z jdz joined #sbcl 2014-05-07T12:18:54Z drmeister joined #sbcl 2014-05-07T12:51:42Z michael_lee quit (Read error: Connection reset by peer) 2014-05-07T12:58:49Z drmeister quit (Remote host closed the connection) 2014-05-07T13:01:46Z eudoxia joined #sbcl 2014-05-07T13:02:51Z pranavrc quit 2014-05-07T13:06:10Z pkhuong: no... but i don't think we want to deal with theeffect of simplifying ctype-of 2014-05-07T13:06:15Z jdz_ joined #sbcl 2014-05-07T13:06:47Z pkhuong: might be easier to add new type names (unless they have to be classes?) 2014-05-07T13:09:47Z jdz quit (Ping timeout: 252 seconds) 2014-05-07T13:13:32Z drmeister joined #sbcl 2014-05-07T13:20:08Z tmh_ quit (Ping timeout: 252 seconds) 2014-05-07T13:23:46Z eudoxia_ joined #sbcl 2014-05-07T13:23:49Z tmh_ joined #sbcl 2014-05-07T13:24:34Z eudoxia_ quit (Client Quit) 2014-05-07T13:26:37Z rpg joined #sbcl 2014-05-07T13:27:07Z eudoxia quit (Ping timeout: 252 seconds) 2014-05-07T13:29:40Z drmeister quit (Remote host closed the connection) 2014-05-07T13:31:14Z eudoxia joined #sbcl 2014-05-07T13:31:53Z jdz joined #sbcl 2014-05-07T13:35:33Z jdz_ quit (Ping timeout: 252 seconds) 2014-05-07T13:53:53Z oleo joined #sbcl 2014-05-07T14:00:48Z jdz quit (Quit: Leaving...) 2014-05-07T14:05:23Z erikvarga joined #sbcl 2014-05-07T14:05:52Z segv- joined #sbcl 2014-05-07T14:13:54Z attila_lendvai quit (Quit: Leaving.) 2014-05-07T14:13:57Z rpg quit (Quit: rpg) 2014-05-07T14:17:52Z drmeister joined #sbcl 2014-05-07T14:22:52Z drmeiste_ joined #sbcl 2014-05-07T14:23:30Z drmeister quit (Read error: Connection reset by peer) 2014-05-07T14:23:59Z rpg joined #sbcl 2014-05-07T14:29:13Z drmeiste_ is now known as drmeister 2014-05-07T14:52:05Z edgar-rft quit (Quit: execution abandoned by death) 2014-05-07T14:58:02Z tmh_ quit (Ping timeout: 252 seconds) 2014-05-07T15:19:30Z drmeiste_ joined #sbcl 2014-05-07T15:21:58Z drmeister quit (Ping timeout: 240 seconds) 2014-05-07T15:24:11Z michael_lee joined #sbcl 2014-05-07T15:24:11Z drmeiste_ quit (Read error: Connection reset by peer) 2014-05-07T15:28:54Z drmeister joined #sbcl 2014-05-07T15:29:28Z tmh_ joined #sbcl 2014-05-07T15:35:18Z slyrus joined #sbcl 2014-05-07T15:52:49Z attila_lendvai joined #sbcl 2014-05-07T15:52:49Z attila_lendvai quit (Changing host) 2014-05-07T15:52:49Z attila_lendvai joined #sbcl 2014-05-07T16:01:45Z antoszka: guys, curious about the internal implementation of the unicode char-names, like #\Ą having the proper printed form of #\LATIN_CAPITAL_LETTER_A_WITH_OGONEK – would like to be able to search that database by substrings within those full character names. Are there any sb-something functions exposed? 2014-05-07T16:22:19Z carvite joined #sbcl 2014-05-07T16:39:22Z erikvarga left #sbcl 2014-05-07T17:05:54Z slyrus quit (Ping timeout: 240 seconds) 2014-05-07T17:35:09Z eudoxia quit (Quit: leaving) 2014-05-07T17:49:04Z nyef joined #sbcl 2014-05-07T17:50:01Z nyef: Okay, I'm back, at least for a bit. 2014-05-07T17:50:16Z ams: mm.. 2014-05-07T17:55:22Z rpg quit (Quit: rpg) 2014-05-07T18:03:54Z drmeister quit (Ping timeout: 240 seconds) 2014-05-07T18:06:56Z drmeister joined #sbcl 2014-05-07T18:16:25Z |3b| quit (Ping timeout: 252 seconds) 2014-05-07T18:25:54Z Krystof: antoszka: take a look at the implementation of NAME-CHAR 2014-05-07T18:26:24Z Krystof: we have a huffman tree to encode names in a sensible amount of time 2014-05-07T18:30:08Z nyef: ... And a not-completely-insensible amount of space, I presume? 2014-05-07T18:32:19Z drmeister quit (Quit: Leaving...) 2014-05-07T18:33:07Z michael_lee quit (Remote host closed the connection) 2014-05-07T18:35:54Z ams: (define-compiler-macro last (&whole form list &optional (n 1) &environment env) 2014-05-07T18:35:55Z ams: (if (sb!xc:constantp n env) 2014-05-07T18:35:55Z ams: (case (constant-form-value n env) 2014-05-07T18:35:55Z ams: (0 `(%last0 ,list)) 2014-05-07T18:35:55Z ams: (1 `(%last1 ,list)) 2014-05-07T18:35:55Z ams: (t form)) 2014-05-07T18:35:55Z ams: form)) 2014-05-07T18:35:57Z ams: bach 2014-05-07T18:35:59Z ams: sorry ... 2014-05-07T18:36:00Z ams: blech .. 2014-05-07T18:42:32Z tmh_ quit (Changing host) 2014-05-07T18:42:32Z tmh_ joined #sbcl 2014-05-07T18:43:39Z antoszka: Krystof: Thanks. 2014-05-07T18:44:09Z antoszka: Krystof: Regarding your demonstration of the Emacs front-end for the song matching software – is that stuff available anywhere? 2014-05-07T19:13:27Z Krystof: not yet 2014-05-07T19:13:34Z Krystof: I mean, actually maybe but I don't know where :) 2014-05-07T19:16:20Z antoszka: Hehe. 2014-05-07T19:32:55Z fiveop joined #sbcl 2014-05-07T19:42:11Z edgar-rft joined #sbcl 2014-05-07T20:23:15Z pim joined #sbcl 2014-05-07T20:33:44Z pim quit (Remote host closed the connection) 2014-05-07T21:03:19Z slyrus joined #sbcl 2014-05-07T21:10:25Z nyef quit (Ping timeout: 250 seconds) 2014-05-07T21:18:15Z Hydan joined #sbcl 2014-05-07T21:22:59Z nyef joined #sbcl 2014-05-07T21:23:21Z fiveop quit (Remote host closed the connection) 2014-05-07T21:30:19Z ASau joined #sbcl 2014-05-07T21:36:36Z angavrilov quit (Remote host closed the connection) 2014-05-07T21:55:38Z attila_lendvai quit (Quit: Leaving.) 2014-05-07T22:08:42Z eudoxia joined #sbcl 2014-05-07T22:11:50Z Bicyclidine joined #sbcl 2014-05-07T22:17:50Z Bicyclidine quit (Remote host closed the connection) 2014-05-07T22:18:05Z Bicyclidine joined #sbcl 2014-05-07T22:18:16Z Shinmera quit (Quit: ZzzZZ) 2014-05-07T22:40:52Z eudoxia quit (Quit: leaving) 2014-05-07T22:52:05Z scymtym_ joined #sbcl 2014-05-07T23:10:01Z ferada quit (Read error: Operation timed out) 2014-05-07T23:14:03Z ferada joined #sbcl 2014-05-07T23:51:24Z zRecursive joined #sbcl 2014-05-08T00:01:54Z samskulls quit (Ping timeout: 240 seconds) 2014-05-08T00:07:16Z samskulls` joined #sbcl 2014-05-08T00:11:05Z segv- quit (Ping timeout: 255 seconds) 2014-05-08T00:16:21Z Bicyclidine quit (Ping timeout: 240 seconds) 2014-05-08T00:24:54Z slyrus quit (Ping timeout: 240 seconds) 2014-05-08T00:28:45Z Bike_ joined #sbcl 2014-05-08T00:29:09Z Bike quit (Ping timeout: 240 seconds) 2014-05-08T00:46:56Z |3b| joined #sbcl 2014-05-08T00:48:48Z |3b|: pkhuong: i think a subtype would be conformant, but "Implementors are encouraged to arrange for type-of to return a portable value." 2014-05-08T00:52:38Z hlavaty quit (Ping timeout: 240 seconds) 2014-05-08T00:53:37Z DGASAU` joined #sbcl 2014-05-08T00:54:17Z DGASAU quit (Ping timeout: 264 seconds) 2014-05-08T00:58:28Z pkhuong: |3b|: there are perf implications re ctype-of... we could split type-of and ctype-of, but not that tasteful 2014-05-08T01:15:25Z michael_lee joined #sbcl 2014-05-08T01:20:24Z eudoxia joined #sbcl 2014-05-08T01:26:08Z oleo quit (Ping timeout: 252 seconds) 2014-05-08T01:26:52Z oleo joined #sbcl 2014-05-08T01:28:10Z edgar-rft quit (Quit: an error occurred while displaying the error) 2014-05-08T01:29:31Z prxq_ joined #sbcl 2014-05-08T01:32:39Z prxq quit (Ping timeout: 252 seconds) 2014-05-08T01:36:50Z DGASAU`` joined #sbcl 2014-05-08T01:38:44Z DGASAU` quit (Ping timeout: 240 seconds) 2014-05-08T02:09:50Z Bike_ is now known as Bike 2014-05-08T02:14:18Z scymtym_ quit (Ping timeout: 265 seconds) 2014-05-08T02:24:40Z eudoxia quit (Quit: leaving) 2014-05-08T02:28:08Z echo-area joined #sbcl 2014-05-08T02:38:34Z christoph_debian quit (Ping timeout: 240 seconds) 2014-05-08T02:52:25Z christoph_debian joined #sbcl 2014-05-08T03:01:54Z nyef quit (Quit: G'night all.) 2014-05-08T04:12:21Z attila_lendvai joined #sbcl 2014-05-08T04:12:21Z attila_lendvai quit (Changing host) 2014-05-08T04:12:21Z attila_lendvai joined #sbcl 2014-05-08T05:17:32Z sdemarre joined #sbcl 2014-05-08T05:42:56Z pranavrc joined #sbcl 2014-05-08T05:42:56Z pranavrc quit (Changing host) 2014-05-08T05:42:56Z pranavrc joined #sbcl 2014-05-08T05:43:06Z sdemarre quit (Ping timeout: 265 seconds) 2014-05-08T05:43:36Z oleo quit (Quit: Leaving) 2014-05-08T05:44:59Z leo2007 quit (Ping timeout: 255 seconds) 2014-05-08T06:03:57Z krzysz00 quit (Ping timeout: 258 seconds) 2014-05-08T06:11:37Z notori0us joined #sbcl 2014-05-08T06:11:53Z notori0us: Greetings, has anyone here compiled sbcl on the raspberry pi? 2014-05-08T06:11:58Z notori0us: I'm not having very much luck 2014-05-08T06:22:25Z hzp: notori0us: Whose branch are you trying? 2014-05-08T06:22:37Z flip214: notori0us: https://github.com/fiveop/sbcl-arm is the correct branch, I think 2014-05-08T06:22:46Z flip214: but it's still in heavy development. 2014-05-08T06:23:01Z flip214: stay here, in about 10 hours the relevant people should be here. 2014-05-08T06:26:02Z notori0us: figured, thanks for the help! 2014-05-08T06:26:22Z notori0us: flip214: I'll be here, haha. I didn't expect any answers now anyways :) 2014-05-08T06:36:43Z Krystof: I think https://github.com/stassats/sbcl-arm is the most current 2014-05-08T06:36:55Z Krystof: it does build on RPi 2014-05-08T06:37:09Z notori0us: ah great! Thank you much. 2014-05-08T06:37:10Z Krystof: of course, without an existing binary you'll need to cross-compile 2014-05-08T06:37:19Z notori0us: right -> here's a question 2014-05-08T06:37:28Z notori0us: can I use an already existing compiler instead? 2014-05-08T06:37:36Z Krystof: if you know what you're doing 2014-05-08T06:37:46Z notori0us: clisp, for instance, is already packaged. 2014-05-08T06:37:51Z Krystof: I don't think it's been tested with any existing arm compiler 2014-05-08T06:38:05Z flip214: I think they bootstrapped with clisp, yes. 2014-05-08T06:38:09Z Krystof: no, we didn't 2014-05-08T06:38:13Z flip214: sorry 2014-05-08T06:38:24Z notori0us: I'll poke at it 2014-05-08T06:38:35Z Krystof: I think we've been exclusively cross-compiling using sbcl on x86-64 2014-05-08T06:38:58Z Krystof: clisp on x86-64 can build sbcl, usually, with ./make.sh 'clisp -ansi -on-error abort' 2014-05-08T06:39:09Z Krystof: I don't think anyone's tested it on arm, possibly because it will probably take about a day 2014-05-08T06:42:51Z zRecursive quit (Remote host closed the connection) 2014-05-08T06:43:08Z zRecursive joined #sbcl 2014-05-08T06:43:45Z notori0us: Krystof: somebody might be about to :) 2014-05-08T06:52:09Z notori0us: side note: the topic is great haha 2014-05-08T06:54:54Z notori0us: it appears there are dead links on the site, particularly under cross compilation 2014-05-08T07:04:52Z zRecursive quit (Remote host closed the connection) 2014-05-08T07:05:01Z hzp: You're quite welcome to test whatever your heart desires, of course :-). But I'd rather question the wisdom of wanting to spend hours trying an exotic clisp-as-host build when a simple cross-compile from intel takes a few minutes. 2014-05-08T07:05:30Z notori0us: hzp: there wasn't sufficient memory on clisp, if that says anything 2014-05-08T07:05:34Z notori0us: so it was a quick no 2014-05-08T07:05:51Z Krystof: heh 2014-05-08T07:05:59Z Krystof: what's your motivation, anyway? 2014-05-08T07:07:26Z notori0us: Krystof: boredom 2014-05-08T07:07:44Z notori0us: Krystof: the awkward time between finals and internship start 2014-05-08T07:08:25Z Krystof: ah, now that I can understand 2014-05-08T07:08:29Z jackdaniel joined #sbcl 2014-05-08T07:08:44Z jackdaniel: o/ 2014-05-08T07:09:11Z Krystof: so, things you could try: building under qemu (with loads of memory) 2014-05-08T07:09:50Z notori0us: \o 2014-05-08T07:10:21Z Krystof: or cross-compiling. You're right that sbcl-internals.cliki has fallen off the net 2014-05-08T07:10:49Z notori0us: Krystof: there's enough in the help function with build.sh 2014-05-08T07:10:55Z notori0us: I should be able to figure it out 2014-05-08T07:11:04Z Krystof: http://web.archive.org/web/20030208092105/http://sbcl-internals.cliki.net/Build 2014-05-08T07:11:12Z notori0us: doh, why didn't I think of that 2014-05-08T07:11:30Z Krystof: those instructions aren't quite current (more needs to be copied between the two machines involved, unless you're using nfs in which case everything might Just Work) 2014-05-08T07:11:35Z Krystof: but it has the basic idea 2014-05-08T07:12:03Z Krystof: "Inevitably, things may change" 2014-05-08T07:12:08Z notori0us: heh 2014-05-08T07:13:04Z Krystof: actually, I've just had an idea: we could update our build scripts to cater for cross-compilation fairly easily in the case where there's bidirectional rsync access 2014-05-08T07:13:17Z Krystof: but, don't wait for me to do that; I have two children in the house today 2014-05-08T07:13:28Z notori0us: hahaha 2014-05-08T07:14:38Z notori0us: That would be glorious. I may come back to this, after all. 2014-05-08T07:16:27Z Krystof: well, what I mean is you could do it :) 2014-05-08T07:16:46Z notori0us: mmmmmmmmmmmm 2014-05-08T07:16:52Z notori0us pokes the build script 2014-05-08T07:17:03Z Krystof: the build script is still more or less like in that wiki page 2014-05-08T07:17:12Z Krystof: it comes in five or so pieces 2014-05-08T07:17:28Z Krystof: one (make-config) needs to be run on both hosts and have the outputs harmonised 2014-05-08T07:17:57Z Krystof: then run host-1, copy its output files, run target-1, copy its output files, run host-2, copy its output files, run target-2, run target-contrib, done 2014-05-08T07:18:52Z hzp: ... if the script is using ssh to invoke the remote steps, it might as well start out running `sshfs' as the first thing. 2014-05-08T07:19:24Z notori0us: sshfs isn't a standard.. "thing" though? 2014-05-08T07:22:09Z hzp: Sure, it won't run on most of our big mainstream platforms -- like HP-UX, Solaris, and IRIX. 2014-05-08T07:22:35Z hzp: But maybe it will still be useful for the few fringe use cases where people are running Linux on their Pi. 2014-05-08T07:23:06Z notori0us: heh 2014-05-08T07:23:51Z hzp: Well, seriously, it needs FUSE. But all distros have FUSE these days. And users can always set up NFS instead if they're old-fashioned, it's just about providing an easier default. 2014-05-08T07:24:09Z notori0us: ls 2014-05-08T07:24:12Z notori0us: damnit 2014-05-08T07:32:35Z notori0us: Seems simple, I just don't know what the best approach would be. I envision just being able to specify the hostname or IP and then it'll figure out the rest 2014-05-08T07:32:54Z notori0us: possible with ssh, just with some repeated passwords. 2014-05-08T07:33:24Z notori0us: You can copy remote files this way, as well. 2014-05-08T07:41:34Z ASau quit (Ping timeout: 240 seconds) 2014-05-08T07:56:18Z Krystof: right 2014-05-08T07:59:39Z attila_lendvai quit (Quit: Leaving.) 2014-05-08T08:07:43Z angavrilov joined #sbcl 2014-05-08T08:17:12Z pranavrc quit (Ping timeout: 252 seconds) 2014-05-08T08:22:01Z minion quit (Disconnected by services) 2014-05-08T08:22:05Z minion joined #sbcl 2014-05-08T08:25:44Z DGASAU`` is now known as DGASAU 2014-05-08T08:26:57Z leo2007 joined #sbcl 2014-05-08T08:56:08Z Cymew joined #sbcl 2014-05-08T09:03:52Z hlavaty joined #sbcl 2014-05-08T09:26:43Z DGASAU` joined #sbcl 2014-05-08T09:29:19Z DGASAU quit (Ping timeout: 252 seconds) 2014-05-08T09:32:38Z DGASAU` quit (Read error: Connection reset by peer) 2014-05-08T09:35:42Z DGASAU joined #sbcl 2014-05-08T10:16:29Z mega1 joined #sbcl 2014-05-08T10:17:56Z mega1` joined #sbcl 2014-05-08T10:18:18Z mega1` left #sbcl 2014-05-08T10:18:57Z mega1 quit (Client Quit) 2014-05-08T10:19:14Z mega1 joined #sbcl 2014-05-08T10:19:40Z echo-area quit (Remote host closed the connection) 2014-05-08T10:20:43Z Krystof: I have a plan 2014-05-08T10:21:00Z Krystof: it involves rsync 3.1, because obviously we can't copy files between hosts without bleeding-edge software 2014-05-08T10:25:28Z jdz joined #sbcl 2014-05-08T10:35:54Z pranavrc joined #sbcl 2014-05-08T10:35:54Z pranavrc quit (Changing host) 2014-05-08T10:35:54Z pranavrc joined #sbcl 2014-05-08T10:48:51Z White__Flame joined #sbcl 2014-05-08T10:51:43Z irsol_ joined #sbcl 2014-05-08T10:55:30Z irsol quit (Ping timeout: 252 seconds) 2014-05-08T10:55:33Z White_Flame quit (Ping timeout: 252 seconds) 2014-05-08T11:00:49Z krzysz00 joined #sbcl 2014-05-08T11:01:06Z irsol_ quit (Changing host) 2014-05-08T11:01:06Z irsol_ joined #sbcl 2014-05-08T11:01:15Z irsol_ is now known as irsol 2014-05-08T11:02:05Z prxq_ quit (Quit: Leaving) 2014-05-08T11:12:52Z jdz quit (Remote host closed the connection) 2014-05-08T11:13:17Z Shinmera joined #sbcl 2014-05-08T11:23:02Z pranavrc quit (*.net *.split) 2014-05-08T11:23:04Z Cymew quit (*.net *.split) 2014-05-08T11:31:06Z Cymew joined #sbcl 2014-05-08T11:32:51Z pranavrc joined #sbcl 2014-05-08T11:32:51Z pranavrc quit (Changing host) 2014-05-08T11:32:51Z pranavrc joined #sbcl 2014-05-08T12:04:11Z fe[nl]ix quit (*.net *.split) 2014-05-08T12:04:11Z Blkt quit (*.net *.split) 2014-05-08T12:04:12Z Munksgaard quit (*.net *.split) 2014-05-08T12:18:40Z fe[nl]ix joined #sbcl 2014-05-08T12:18:40Z Blkt joined #sbcl 2014-05-08T12:18:40Z Munksgaard joined #sbcl 2014-05-08T12:39:33Z pranavrc quit 2014-05-08T12:40:01Z Krystof: ok, I have one way round for scripted cross-compile working. 2014-05-08T12:45:45Z edgar-rft joined #sbcl 2014-05-08T13:15:01Z ltbarcly joined #sbcl 2014-05-08T13:24:52Z eudoxia joined #sbcl 2014-05-08T13:37:13Z eudoxia quit (Quit: Lost terminal) 2014-05-08T13:45:55Z oleo joined #sbcl 2014-05-08T13:48:16Z foom: why is bleeding-edge rsync required? 2014-05-08T13:48:35Z Krystof: it isn't any more 2014-05-08T13:48:48Z Krystof: I wanted to use --ignore-missing-args which is only in rsync 3.1 2014-05-08T13:48:51Z Krystof: but I have designed it out 2014-05-08T13:51:09Z foom: Last time I wanted to rsync Lots Of Things, I needed to modify rsync to have a --mangle-symlinks=/frompath:/topath option. It's funny how rsync has a million options, but still not the one you need. :) 2014-05-08T13:54:26Z Krystof: yes 2014-05-08T13:54:41Z Krystof: it took me ages reading rsync 3.0 docs to find that it didn't have the equivalent of --ignore-missing-args 2014-05-08T13:57:32Z Krystof: having done the easy way round (target-driving-host cross-compilation), I'm not sure whether it's better to have a separate host-driving-target cross-compilation or some highly clever ssh documentation 2014-05-08T14:01:18Z Krystof: hm 2014-05-08T14:01:56Z Krystof: is there a way that I can set up that when I ssh into a remote host with arbitrarily restricted firewalls, I can ssh /back/ to my original client? With some kind of port forwarding? 2014-05-08T14:03:14Z segv- joined #sbcl 2014-05-08T14:32:05Z michael_lee quit (Quit: Ex-Chat) 2014-05-08T14:33:25Z attila_lendvai joined #sbcl 2014-05-08T14:33:25Z attila_lendvai quit (Changing host) 2014-05-08T14:33:25Z attila_lendvai joined #sbcl 2014-05-08T15:09:04Z psilord quit (Quit: Leaving.) 2014-05-08T15:13:12Z slyrus joined #sbcl 2014-05-08T15:40:18Z stassats joined #sbcl 2014-05-08T16:17:25Z edgar-rft quit (Quit: session ended because everything stinks) 2014-05-08T16:57:59Z krzysz00 quit (Ping timeout: 255 seconds) 2014-05-08T16:58:44Z sdemarre joined #sbcl 2014-05-08T17:14:21Z pootler quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2014-05-08T17:40:11Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-08T17:45:51Z ltbarcly joined #sbcl 2014-05-08T17:47:08Z drmeister joined #sbcl 2014-05-08T17:57:36Z drmeister quit (Remote host closed the connection) 2014-05-08T18:08:00Z Bicyclidine joined #sbcl 2014-05-08T18:09:59Z pkhuong: Krystof: -R, I think. 2014-05-08T18:11:49Z davazp joined #sbcl 2014-05-08T18:17:06Z drmeister joined #sbcl 2014-05-08T18:25:51Z jdz joined #sbcl 2014-05-08T18:27:04Z erikvarga joined #sbcl 2014-05-08T18:30:55Z Krystof: pkhuong: I was about to write that I had thought of that, but apparently not hard enough 2014-05-08T18:31:07Z Krystof: good, that makes this evening's hack non-tedious 2014-05-08T18:31:14Z drmeister quit (Read error: Connection reset by peer) 2014-05-08T18:33:08Z notori0us: Krystof: "reverse ssh" 2014-05-08T18:38:24Z scymtym_ joined #sbcl 2014-05-08T18:47:33Z sdemarre quit (Ping timeout: 265 seconds) 2014-05-08T18:49:29Z Bicyclidine quit (Ping timeout: 264 seconds) 2014-05-08T18:55:04Z davazp quit (Remote host closed the connection) 2014-05-08T19:07:37Z Krystof: thanks 2014-05-08T19:43:08Z drmeister joined #sbcl 2014-05-08T19:49:11Z fiveop joined #sbcl 2014-05-08T20:07:06Z erikvarga left #sbcl 2014-05-08T20:21:13Z drmeister quit (Remote host closed the connection) 2014-05-08T20:22:50Z prxq joined #sbcl 2014-05-08T20:23:14Z drmeister joined #sbcl 2014-05-08T20:23:34Z fiveop quit (Quit: bye) 2014-05-08T20:24:46Z drmeister quit (Read error: Connection reset by peer) 2014-05-08T20:24:56Z drmeiste_ joined #sbcl 2014-05-08T20:28:39Z Krystof: stassats: broken src/code/inspect.lisp 2014-05-08T20:28:56Z stassats: i did fix that! 2014-05-08T20:29:04Z stassats: _i thought_ 2014-05-08T20:29:46Z stassats: Krystof: what broke? 2014-05-08T20:30:03Z stassats: ah, i killed a string 2014-05-08T20:30:46Z stassats: i had to build with sb-doc enabled 2014-05-08T20:33:43Z stassats: Krystof: should be fixed now, thanks 2014-05-08T20:38:38Z Krystof: good-oh 2014-05-08T20:39:17Z stassats: alien callbacks seem scary 2014-05-08T20:39:33Z Krystof: it's a bit late, but I have a tree here where we can do ./make-config --host-location=beefy-x8664:/path/to/sbcl and have all the output files from build processes copied here and there automatically 2014-05-08T20:39:44Z Krystof: can I sell you that as an improvement over whatever script thing you did? 2014-05-08T20:40:15Z stassats: at least on ppc, it's a 200-line function 2014-05-08T20:40:31Z stassats: Krystof: i need fine control over the stages, but it'd be good for the user 2014-05-08T20:41:00Z Krystof: what fine control? 2014-05-08T20:41:23Z stassats: i don't always need to run all the stages 2014-05-08T20:41:40Z Krystof: oh, yeah, you still can't do ./make.sh --host-location=xxx 2014-05-08T20:41:58Z Krystof: I didn't feel easy about automagic sshing into remote hosts and doing stuff 2014-05-08T20:42:16Z Krystof: but ./make-config --host-location=xxx sets it up so that subsequent ./make-foo-xxx.sh does the right thing 2014-05-08T20:43:44Z stassats: so, how ./make-target-1.sh is handled? 2014-05-08T20:44:26Z Krystof: copies host-1 output files to target at the start, copies target-1 output-files to host at the end 2014-05-08T20:53:10Z angavrilov quit (Remote host closed the connection) 2014-05-08T21:10:22Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-08T21:11:20Z stassats quit (Ping timeout: 255 seconds) 2014-05-08T21:18:23Z edgar-rft joined #sbcl 2014-05-08T21:38:44Z prxq quit (Quit: Leaving) 2014-05-08T21:47:23Z ASau joined #sbcl 2014-05-08T21:55:05Z mega1 quit (Ping timeout: 265 seconds) 2014-05-08T21:57:01Z attila_lendvai quit (Quit: Leaving.) 2014-05-08T21:57:24Z jdz quit (Remote host closed the connection) 2014-05-08T22:01:50Z ltbarcly joined #sbcl 2014-05-08T22:13:12Z krzysz00 joined #sbcl 2014-05-08T22:17:21Z ltbarcly quit (Quit: Textual IRC Client: www.textualapp.com) 2014-05-08T22:35:41Z drmeiste_ quit (Ping timeout: 264 seconds) 2014-05-08T22:48:36Z Bicyclidine joined #sbcl 2014-05-08T22:53:50Z edgar-rft quit (Quit: lifeform experiment corrupted by nuclear burnout) 2014-05-08T22:59:05Z Bicyclidine quit (Ping timeout: 264 seconds) 2014-05-08T23:03:30Z Shinmera quit (Quit: ZzZzzz) 2014-05-08T23:56:29Z zRecursive joined #sbcl 2014-05-09T00:13:11Z eudoxia joined #sbcl 2014-05-09T00:14:47Z DGASAU` joined #sbcl 2014-05-09T00:15:08Z DGASAU quit (Ping timeout: 240 seconds) 2014-05-09T00:20:06Z Hydan quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) 2014-05-09T00:26:50Z Hydan joined #sbcl 2014-05-09T01:12:59Z scymtym_ quit (Ping timeout: 245 seconds) 2014-05-09T01:15:28Z ltbarcly joined #sbcl 2014-05-09T01:36:09Z eudoxia quit (Quit: Lost terminal) 2014-05-09T01:53:18Z echo-area joined #sbcl 2014-05-09T01:56:01Z DGASAU` quit (Remote host closed the connection) 2014-05-09T01:59:08Z DGASAU` joined #sbcl 2014-05-09T02:29:50Z DGASAU` quit (Remote host closed the connection) 2014-05-09T02:30:51Z oleo quit (Ping timeout: 252 seconds) 2014-05-09T02:31:27Z DGASAU` joined #sbcl 2014-05-09T02:31:37Z oleo joined #sbcl 2014-05-09T02:34:55Z eudoxia joined #sbcl 2014-05-09T02:38:38Z christoph_debian quit (Ping timeout: 240 seconds) 2014-05-09T02:45:53Z DGASAU` quit (Remote host closed the connection) 2014-05-09T02:47:33Z DGASAU` joined #sbcl 2014-05-09T02:52:11Z christoph_debian joined #sbcl 2014-05-09T03:06:47Z tmh_ quit (Ping timeout: 252 seconds) 2014-05-09T03:10:55Z eudoxia quit (Quit: leaving) 2014-05-09T04:43:04Z angavrilov joined #sbcl 2014-05-09T05:07:40Z oleo quit (Quit: Leaving) 2014-05-09T05:18:37Z attila_lendvai joined #sbcl 2014-05-09T05:18:37Z attila_lendvai quit (Changing host) 2014-05-09T05:18:37Z attila_lendvai joined #sbcl 2014-05-09T05:27:19Z sdemarre joined #sbcl 2014-05-09T05:40:25Z sdemarre quit (Ping timeout: 252 seconds) 2014-05-09T06:01:13Z pranavrc joined #sbcl 2014-05-09T06:01:13Z pranavrc quit (Changing host) 2014-05-09T06:01:13Z pranavrc joined #sbcl 2014-05-09T06:02:22Z ltbarcly quit (Read error: Connection reset by peer) 2014-05-09T06:02:52Z ltbarcly joined #sbcl 2014-05-09T06:04:31Z krzysz00 quit (Ping timeout: 258 seconds) 2014-05-09T06:11:36Z tmh_ joined #sbcl 2014-05-09T06:15:26Z echo-area quit (Remote host closed the connection) 2014-05-09T06:20:30Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-09T06:20:52Z echo-area joined #sbcl 2014-05-09T06:31:41Z attila_lendvai quit (Quit: Leaving.) 2014-05-09T06:57:00Z Hydan_ joined #sbcl 2014-05-09T06:57:55Z Hydan quit (Ping timeout: 252 seconds) 2014-05-09T06:57:55Z ASau quit (Excess Flood) 2014-05-09T07:14:47Z zRecursive left #sbcl 2014-05-09T07:28:36Z pranavrc_ joined #sbcl 2014-05-09T07:29:41Z pranavrc quit (Ping timeout: 264 seconds) 2014-05-09T07:34:00Z mega1 joined #sbcl 2014-05-09T07:49:53Z mega1 quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2014-05-09T07:50:39Z mega1 joined #sbcl 2014-05-09T08:01:22Z yacks joined #sbcl 2014-05-09T08:01:52Z yacks quit (Max SendQ exceeded) 2014-05-09T08:02:22Z yacks joined #sbcl 2014-05-09T08:13:21Z DGASAU` is now known as DGASAU 2014-05-09T08:31:28Z jdz joined #sbcl 2014-05-09T09:21:38Z attila_lendvai joined #sbcl 2014-05-09T09:21:43Z attila_lendvai quit (Changing host) 2014-05-09T09:21:43Z attila_lendvai joined #sbcl 2014-05-09T09:39:37Z edgar-rft joined #sbcl 2014-05-09T11:01:06Z scymtym_ joined #sbcl 2014-05-09T11:01:09Z krzysz00 joined #sbcl 2014-05-09T11:03:23Z segv- quit (Ping timeout: 255 seconds) 2014-05-09T11:24:30Z Hydan joined #sbcl 2014-05-09T11:26:07Z Hydan_ quit (Ping timeout: 265 seconds) 2014-05-09T11:26:08Z pranavrc_ quit (Read error: Connection reset by peer) 2014-05-09T11:27:36Z pranavrc joined #sbcl 2014-05-09T11:27:37Z pranavrc quit (Changing host) 2014-05-09T11:27:37Z pranavrc joined #sbcl 2014-05-09T12:00:28Z Shinmera joined #sbcl 2014-05-09T12:00:55Z tmh_ quit (Ping timeout: 265 seconds) 2014-05-09T12:01:53Z samskulls` quit (Ping timeout: 276 seconds) 2014-05-09T12:08:23Z nyef joined #sbcl 2014-05-09T12:15:53Z yacks quit (Ping timeout: 264 seconds) 2014-05-09T12:18:13Z tmh_ joined #sbcl 2014-05-09T12:40:57Z eudoxia joined #sbcl 2014-05-09T12:50:08Z pranavrc quit 2014-05-09T12:52:42Z oleo joined #sbcl 2014-05-09T13:10:49Z DGASAU quit (Quit: If ZFS is 10 times slower on 1,5 times faster hardware than FFS, it's time to redeploy.) 2014-05-09T13:26:27Z segv- joined #sbcl 2014-05-09T13:57:38Z nyef: Just pushed a couple of ARM-port bits, at least one of which changes the failure mode on the compiler tests. 2014-05-09T13:58:10Z nyef: (They get further, but they don't get all the way through.) 2014-05-09T14:09:21Z Cymew quit (Ping timeout: 252 seconds) 2014-05-09T14:20:18Z nicdev quit (Read error: Operation timed out) 2014-05-09T14:23:04Z nicdev joined #sbcl 2014-05-09T14:26:22Z nicdev` joined #sbcl 2014-05-09T14:27:35Z luis` quit (Ping timeout: 252 seconds) 2014-05-09T14:28:06Z nicdev quit (Remote host closed the connection) 2014-05-09T14:28:38Z luis` joined #sbcl 2014-05-09T14:29:55Z PuercoPop quit (Ping timeout: 240 seconds) 2014-05-09T14:37:48Z Cymew joined #sbcl 2014-05-09T14:37:50Z stassats joined #sbcl 2014-05-09T14:38:50Z PuercoPop joined #sbcl 2014-05-09T14:39:38Z stassats: The assertion (TYPEP SB-IMPL::ENCODED-TIME '(INTEGER 0)) failed with SB-IMPL::ENCODED-TIME = -31545000. doesn't seem like a nice error message 2014-05-09T14:41:35Z pkhuong: stassats: better than the assert messages we had last year. 2014-05-09T14:47:29Z Cymew quit (Ping timeout: 255 seconds) 2014-05-09T15:01:59Z eudoxia quit (Quit: leaving) 2014-05-09T15:05:33Z oleo quit (Ping timeout: 265 seconds) 2014-05-09T15:06:10Z nyef: Last night I finally figured out what was going on with my unboxed float struct slot changes. Because they change the layout of hash-tables, I needed to rebuild the runtime, and I hadn't realized that. 2014-05-09T15:06:54Z oleo joined #sbcl 2014-05-09T15:12:50Z pkhuong: nyef: nice. 2014-05-09T15:19:26Z DGASAU joined #sbcl 2014-05-09T15:38:16Z jrm quit (Remote host closed the connection) 2014-05-09T15:40:04Z sdemarre joined #sbcl 2014-05-09T15:44:41Z sdemarre quit (Ping timeout: 264 seconds) 2014-05-09T15:46:15Z Bike quit (Quit: leaving) 2014-05-09T15:47:18Z slyrus quit (Ping timeout: 240 seconds) 2014-05-09T15:54:28Z eudoxia joined #sbcl 2014-05-09T16:50:34Z Bike joined #sbcl 2014-05-09T17:03:14Z stassats: "forced to do inline ASH (cost 10) unable to do inline ASH (cost 3) because" 2014-05-09T17:06:42Z cracauer: \ 2014-05-09T17:21:51Z Hydan quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) 2014-05-09T17:21:58Z jdz quit (Remote host closed the connection) 2014-05-09T17:22:36Z nyef: stassats: Yup. And that's further along in the test suite. 2014-05-09T17:23:15Z stassats: i just like the wording 2014-05-09T17:23:55Z nyef: Might be because it's re-signalled. 2014-05-09T17:24:34Z nyef: What I don't like is that it STOPS right there, rather than marking a failure and continuing on. 2014-05-09T17:25:33Z stassats: it stops because it's not an ERROR 2014-05-09T17:25:50Z stassats: handler-case fails, invoke-debugger brings the whole thing down 2014-05-09T17:25:53Z stassats: that's my guess 2014-05-09T17:26:14Z nyef: No, it stops because it's not in a WITH-TEST. 2014-05-09T17:26:30Z stassats: the lack of with-test only affects a single file 2014-05-09T17:26:59Z nyef: But unhandled errors within a WITH-TEST get caught. 2014-05-09T17:27:14Z Bike quit (Ping timeout: 240 seconds) 2014-05-09T17:27:21Z nyef: Which is more what I was complaining about, but yeah, the stopping the whole test suite as well is bad. 2014-05-09T17:27:29Z stassats: if it doesn't use COMPILE, then with-test won't help either 2014-05-09T17:27:30Z nyef: Probably because it's a "pure" test. 2014-05-09T17:29:12Z pkhuong: nyef: no, it's the default description for VOPs. 2014-05-09T17:36:47Z stassats: and in reality, it doesn't full call ash 2014-05-09T17:36:58Z stassats: probably bad costs 2014-05-09T17:37:32Z nyef: Oh! There's still the backend register save penalty thing, that might help cost calculations. 2014-05-09T17:38:08Z stassats: changing 10 => 5 removes the note 2014-05-09T17:38:33Z nyef: Is it "supposed" to be 5? 2014-05-09T17:38:56Z stassats: there's a lot of instructions and a branch 2014-05-09T17:39:23Z ltbarcly joined #sbcl 2014-05-09T17:39:26Z stassats: so, even 10 may be too generous 2014-05-09T17:39:30Z pkhuong: nyef: different cost, sadly. 2014-05-09T17:39:35Z nyef: What is it on other platforms? 2014-05-09T17:40:08Z stassats: other platforms has right-shift ash vops 2014-05-09T17:40:20Z pkhuong: stassats: iirc, there's no note if the difference between the best and the selected VOP is < 3. 2014-05-09T17:40:37Z nyef: Maybe we should also do right-shift ASH VOPs? 2014-05-09T17:40:59Z nyef: And does the change get us through compiler.pure? 2014-05-09T17:41:00Z stassats: that would only help with right-shift ashes, won't it? 2014-05-09T17:43:46Z Hydan joined #sbcl 2014-05-09T17:45:02Z stassats: well, the cost is relative, threshold is 5, so, the cost of 6 will do 2014-05-09T17:50:32Z sdemarre joined #sbcl 2014-05-09T17:51:05Z erikvarga joined #sbcl 2014-05-09T17:53:57Z slyrus joined #sbcl 2014-05-09T17:55:28Z krzysz00 quit (Quit: leaving) 2014-05-09T18:17:44Z attila_lendvai quit (Quit: Leaving.) 2014-05-09T18:26:43Z jdz joined #sbcl 2014-05-09T18:43:51Z nicdev` is now known as nicdev 2014-05-09T18:50:48Z eudoxia quit (Quit: leaving) 2014-05-09T18:52:23Z Fare joined #sbcl 2014-05-09T18:52:53Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-09T18:59:21Z angavrilov quit (Remote host closed the connection) 2014-05-09T19:05:02Z Fare: hi — can some sbcl maintainer update its asdf to 3.1.2 ? It's been significantly improved since 3.0.3, even more so since sbcl's 3.0.2 from last July. And it's been very stable for months, apart from uiop fixes, renaming of package-inferred-system, and some straightening of component version checks. 2014-05-09T19:05:28Z Fare: (also extensively tested with cl-test-grid in addition to its own expanded test suite) 2014-05-09T19:07:00Z Fare: [Independently, and if anyone cares, I have a patch so SBCL can load UIOP independently of ASDF, just like MKCL does.] 2014-05-09T19:09:19Z foom: So that (require :uiop) works to load just uiop? 2014-05-09T19:10:03Z foom: Sounds like a good idea to me, although it'll have no impact on our buildsystem. 2014-05-09T19:12:23Z Fare: foom: yes 2014-05-09T19:12:51Z Fare: and of course (require :asdf) implicitly does a (require :uiop) 2014-05-09T19:13:17Z Fare: reminds me that I should probably update the asdf and uiop at el Goog. 2014-05-09T19:18:50Z prxq joined #sbcl 2014-05-09T19:18:58Z Fare: https://bugs.launchpad.net/sbcl/+bug/1267006 2014-05-09T19:26:00Z kanru` joined #sbcl 2014-05-09T19:42:00Z samskulls` joined #sbcl 2014-05-09T19:44:40Z ltbarcly joined #sbcl 2014-05-09T19:58:36Z Fare: https://bugs.launchpad.net/sbcl/+bug/1318046 2014-05-09T20:01:56Z sdemarre quit (Ping timeout: 240 seconds) 2014-05-09T20:03:56Z erikvarga left #sbcl 2014-05-09T20:15:59Z pkhuong: ... the new AES NI instructions are kind of pretty good for a hash function 2014-05-09T20:17:02Z pkhuong: this fairly recent laptop does 10 rounds at 6 cycles/byte, with pretty much linear speed up when hash up to 8 streams on the same core. 2014-05-09T20:17:57Z pkhuong: crc32 is pretty awesome too: 4 independent crc32 use .06 cycles/byte. 2014-05-09T20:19:11Z nyef: The drawback is that we now need stronger hash functions in order to keep up. d-: 2014-05-09T20:19:15Z pkhuong: wait, no, the laptop does 3.8 cycles/byte 2014-05-09T20:19:26Z pkhuong: for AES-128 (!) 2014-05-09T20:20:02Z nyef: It looks like we use ONE thing from VFPv2 in our current backend. 2014-05-09T20:22:30Z nyef: I'm fairly sure that there's a principled way to fall back when we're not on a VFPv2 target, but as long as it doesn't actually break on my system I don't currently have the energy to care. 2014-05-09T20:24:00Z Krystof: what's not a vfp2? 2014-05-09T20:24:08Z stassats: 12-bits of offsets are not enough for the constant-table for a test 2014-05-09T20:25:03Z nyef: The double-reg result case in MAKE-DOUBLE-FLOAT uses FMDRR, which is a VFPv2 instruction. 2014-05-09T20:26:10Z nyef: stassats: There's one where a test tries to receive a whole bunch of values, and winds up pushing the COMPUTE-CODE out past its maximum displacement from the LRA. 2014-05-09T20:27:56Z kanru` quit (Ping timeout: 265 seconds) 2014-05-09T20:29:28Z nyef: Oh, and there are some trap and mode bits and whatnot. Really not too fussed about them at this point. 2014-05-09T20:31:55Z Krystof: raspberry pis should be enough for everybody 2014-05-09T20:31:59Z Krystof: supporting British industry 2014-05-09T20:33:40Z nyef: My current rough plans involve leaving my RPi at home, so that it can operate as a dhcp and tftp server and run the serial console for my MIPS box. 2014-05-09T20:41:16Z stassats: got load-constant fixed, though it broke the disassembler 2014-05-09T20:42:49Z stassats: and the fix is wrongish 2014-05-09T20:43:25Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-09T20:45:16Z stassats: due to the offset not being a fixnum, though i can shift it and unshift it, but that limits the number of constants, somewhat 2014-05-09T20:49:11Z stassats: or, i can just subtract other-pointer-lowtag during pre-indexing 2014-05-09T20:51:36Z stassats: pre-indexing can't be done with an immediate 2014-05-09T20:54:20Z Fare: pkhuong, is CRC32 useful for hash-tables? 2014-05-09T20:55:34Z ltbarcly joined #sbcl 2014-05-09T21:05:40Z prxq quit (Quit: Konversation terminated!) 2014-05-09T21:07:40Z pkhuong: Fare: not sure about its distribution properties. 2014-05-09T21:08:03Z pkhuong: Saw a benchmark on strchr where it did well for an externally chained hash table (like ours) 2014-05-09T21:14:13Z jsnell_: cityhash has a crc32-based mode when compiled with sse4. but IIUC it's just one component, not a raw crc 2014-05-09T21:15:27Z jsnell_: and I heard that go uses the aes instructions for the default hash function these days 2014-05-09T21:17:57Z tmh_ quit (Changing host) 2014-05-09T21:17:57Z tmh_ joined #sbcl 2014-05-09T21:21:54Z mega1 quit (Ping timeout: 240 seconds) 2014-05-09T21:29:15Z prxq joined #sbcl 2014-05-09T21:33:51Z nyef: I think I might almost have the unboxed struct slot stuff working for complex floats. 2014-05-09T21:36:39Z stassats: compiler.pure.lisp doesn't crash anymore, but doesn't has failed tests 2014-05-09T21:41:26Z nyef: So, for a forward-port, should we just try a git merge? 2014-05-09T21:41:59Z stassats: i gues 2014-05-09T21:41:59Z stassats: s 2014-05-09T21:51:25Z nyef: ... I thought we had a more clever way to do a load-from-far-offset thing than that. 2014-05-09T22:04:42Z Fare quit (Ping timeout: 240 seconds) 2014-05-09T22:04:57Z drmeister joined #sbcl 2014-05-09T22:06:13Z stassats: fast-fixnum-binop, both args targeting the same result strikes 2014-05-09T22:07:17Z drmeister quit (Read error: Connection reset by peer) 2014-05-09T22:08:01Z stassats: but my * vops are broken anyway 2014-05-09T22:10:59Z stassats: i can't put tagged-num into a non-descriptor-reg? 2014-05-09T22:11:57Z nyef: No, but it goes in an any-reg. 2014-05-09T22:13:06Z stassats: i wanted to uses the result as a temporary, but the temporary value isn't a fixnum 2014-05-09T22:13:40Z nyef: You can introduce a temporary that there result can overlap. 2014-05-09T22:17:01Z stassats: it's for *, the current sequence is mov res, ASR 2 x mul res, res, y 2014-05-09T22:17:31Z stassats: i think i can just put the shift after the multiplication, since the result should be a fixnum 2014-05-09T22:18:48Z nyef: Do I recall rightly that you only need to shift once, or is the output unboxed? 2014-05-09T22:19:04Z stassats: the output is boxed 2014-05-09T22:19:11Z nyef: So, only one shift required? 2014-05-09T22:19:20Z stassats: only one operand needs shifting 2014-05-09T22:19:49Z pkhuong: nyef: I think we try to only have rebase/cherry pick in trunk 2014-05-09T22:20:09Z nyef: pkhuong: Yeah, that's what I thought, but we've got a lot of noise in this branch. 2014-05-09T22:20:31Z nyef: And it's noise that gets applied to things like build-order, and then later reverted. 2014-05-09T22:20:46Z pkhuong: ah yes :| 2014-05-09T22:21:04Z stassats: i think there can be an exception for ports 2014-05-09T22:21:07Z pkhuong: yeah. 2014-05-09T22:21:22Z pkhuong: I can see a rebase -i/squash being error prone 2014-05-09T22:22:01Z stassats: i guess i can avoid doing manual untagging, therefore the sc would be right 2014-05-09T22:23:05Z stassats: and it works 2014-05-09T22:24:04Z nyef: We could just land the entire thing as a single commit, I guess... 2014-05-09T22:24:46Z stassats: can't do the same for the constant case, need to use a temporary 2014-05-09T22:25:47Z pkhuong: nyef: merge would be better then 2014-05-09T22:27:50Z nyef: I guess it's not like we need to do it immediately, but it's getting to the point where it's strongly indicated. 2014-05-09T22:28:53Z nyef: Oh, and the other aspect is that some stuff was cherry-picked/rebased into the main tree a long time ago. 2014-05-09T22:29:01Z nyef: Not much, but a few things. 2014-05-09T22:34:06Z stassats: what nicer load-from-far-offset was there? 2014-05-09T22:34:25Z stassats: load-from-label? 2014-05-09T22:35:48Z stassats: i wouldn't necessarily call that "nice" 2014-05-09T22:36:27Z stassats: compiler.pure now passes 2014-05-09T22:37:57Z stassats: and another cannot-encode-immediate-operand 2014-05-09T22:39:15Z drmeister joined #sbcl 2014-05-09T22:49:12Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-09T22:54:52Z stassats quit (Ping timeout: 265 seconds) 2014-05-09T22:55:43Z ltbarcly joined #sbcl 2014-05-09T23:09:08Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-09T23:10:28Z drmeister quit (Read error: Connection reset by peer) 2014-05-09T23:12:06Z nyef: Rebased and pushed my changes. 2014-05-09T23:26:27Z prxq quit (Remote host closed the connection) 2014-05-09T23:30:27Z ltbarcly joined #sbcl 2014-05-09T23:33:49Z nyef: And one more, stripping out some comments and cleaning up some whitespace. 2014-05-09T23:36:57Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-09T23:46:49Z Shinmera quit (Quit: ZzZzz) 2014-05-09T23:55:50Z jdz quit (Remote host closed the connection) 2014-05-09T23:57:30Z nyef: Wow. 442 commits on a 15-month-old branch. 2014-05-09T23:58:33Z slyrus: should be a fun merge! 2014-05-10T00:02:23Z ltbarcly joined #sbcl 2014-05-10T00:06:24Z nyef: Honestly? If it were a MERGE, it should be easy. 2014-05-10T00:07:50Z nyef: (Why? Because most of the damage that we did to existing code has since been reversed.) 2014-05-10T00:11:05Z nyef: ... VM support routines got demoted? Ouch. 2014-05-10T00:11:44Z drmeister joined #sbcl 2014-05-10T00:14:51Z nyef: And aborting. Already managed to screw things up. 2014-05-10T00:24:30Z samskulls` quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2014-05-10T00:25:20Z samskulls joined #sbcl 2014-05-10T00:56:20Z slyrus quit (Ping timeout: 255 seconds) 2014-05-10T01:08:03Z pkhuong: heh, I say go for a merge if you feel like rewriting a clean history is too risky 2014-05-10T01:26:56Z nyef: I got about a fifth to a quarter through before I realized that I had screwed it up, so I might just give it a couple of tries before I attempt to resort to a merge. 2014-05-10T01:41:03Z Bike joined #sbcl 2014-05-10T01:42:48Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-10T01:46:40Z Fare joined #sbcl 2014-05-10T01:52:23Z ltbarcly joined #sbcl 2014-05-10T01:53:43Z tmh_ quit (Ping timeout: 252 seconds) 2014-05-10T01:56:33Z tmh_ joined #sbcl 2014-05-10T02:06:56Z White__Flame quit (Remote host closed the connection) 2014-05-10T02:38:18Z christoph_debian quit (Ping timeout: 240 seconds) 2014-05-10T02:40:17Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-10T02:52:00Z christoph_debian joined #sbcl 2014-05-10T03:06:32Z zRecursive joined #sbcl 2014-05-10T03:08:54Z jaimef quit (Excess Flood) 2014-05-10T03:13:46Z jaimef joined #sbcl 2014-05-10T03:22:52Z zRecursive quit (Remote host closed the connection) 2014-05-10T03:33:27Z nyef quit (Quit: G'night all.) 2014-05-10T03:34:36Z Hydan quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) 2014-05-10T03:36:43Z Hydan joined #sbcl 2014-05-10T03:53:05Z oleo quit (Ping timeout: 264 seconds) 2014-05-10T03:53:40Z ASau joined #sbcl 2014-05-10T03:53:56Z oleo joined #sbcl 2014-05-10T04:18:01Z Hydan quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) 2014-05-10T05:53:10Z vigneshsarma joined #sbcl 2014-05-10T06:05:20Z drmeister quit (Quit: Leaving...) 2014-05-10T06:05:59Z Bike quit (Ping timeout: 252 seconds) 2014-05-10T06:11:12Z drmeister joined #sbcl 2014-05-10T06:15:34Z sdemarre joined #sbcl 2014-05-10T06:27:12Z attila_lendvai joined #sbcl 2014-05-10T06:27:12Z attila_lendvai quit (Changing host) 2014-05-10T06:27:12Z attila_lendvai joined #sbcl 2014-05-10T06:29:54Z osgi joined #sbcl 2014-05-10T06:37:29Z osgi left #sbcl 2014-05-10T06:55:12Z mega1 joined #sbcl 2014-05-10T07:34:18Z scymtym__ joined #sbcl 2014-05-10T07:34:38Z Shinmera joined #sbcl 2014-05-10T07:37:47Z jackdani1l joined #sbcl 2014-05-10T07:39:10Z luis joined #sbcl 2014-05-10T07:45:51Z scymtym_ quit (Ping timeout: 258 seconds) 2014-05-10T07:46:52Z hzp: IMHO doing a non-forward merge into master of a big branch with linear history is completely fine. 2014-05-10T07:47:18Z scymtym__ quit (Ping timeout: 240 seconds) 2014-05-10T07:47:44Z jackdaniel quit (Ping timeout: 258 seconds) 2014-05-10T07:47:45Z luis` quit (Ping timeout: 258 seconds) 2014-05-10T07:48:49Z hzp: (Whereas the issue with the windows branch was the lack of such linearity; it had master merged in so many times that it was hard to make sense of the diff by looking at history.) 2014-05-10T08:03:38Z Shinmera quit (Ping timeout: 240 seconds) 2014-05-10T08:04:15Z Shinmera joined #sbcl 2014-05-10T08:18:31Z fe[nl]ix quit (*.net *.split) 2014-05-10T08:18:31Z Blkt quit (*.net *.split) 2014-05-10T08:18:32Z Munksgaard quit (*.net *.split) 2014-05-10T08:25:22Z angavrilov joined #sbcl 2014-05-10T08:29:33Z fe[nl]ix joined #sbcl 2014-05-10T08:29:33Z Blkt joined #sbcl 2014-05-10T08:29:33Z Munksgaard joined #sbcl 2014-05-10T09:13:24Z sdemarre quit (Ping timeout: 245 seconds) 2014-05-10T09:20:39Z Krystof: my past experience with complicated merges of long-lived branches with git is not uniformly positive 2014-05-10T09:20:49Z Krystof: we have sometimes ended up with unexpected content post-merge 2014-05-10T09:25:41Z fe[nl]ix quit (*.net *.split) 2014-05-10T09:25:41Z Blkt quit (*.net *.split) 2014-05-10T09:25:42Z Munksgaard quit (*.net *.split) 2014-05-10T09:36:25Z fe[nl]ix joined #sbcl 2014-05-10T09:36:25Z Blkt joined #sbcl 2014-05-10T09:36:25Z Munksgaard joined #sbcl 2014-05-10T09:53:51Z Hydan joined #sbcl 2014-05-10T10:06:13Z samskulls quit (Ping timeout: 265 seconds) 2014-05-10T10:06:30Z samskulls joined #sbcl 2014-05-10T10:20:18Z oleo quit (Quit: Leaving) 2014-05-10T10:23:40Z oleo joined #sbcl 2014-05-10T10:54:33Z fe[nl]ix quit (*.net *.split) 2014-05-10T10:54:33Z Blkt quit (*.net *.split) 2014-05-10T10:54:34Z Munksgaard quit (*.net *.split) 2014-05-10T11:05:56Z fe[nl]ix joined #sbcl 2014-05-10T11:05:56Z Blkt joined #sbcl 2014-05-10T11:05:56Z Munksgaard joined #sbcl 2014-05-10T11:08:09Z jdz joined #sbcl 2014-05-10T11:17:05Z yacks joined #sbcl 2014-05-10T11:25:00Z vigneshsarma quit (Ping timeout: 265 seconds) 2014-05-10T11:29:03Z sdemarre joined #sbcl 2014-05-10T11:40:18Z stassats joined #sbcl 2014-05-10T11:56:35Z nyef joined #sbcl 2014-05-10T11:56:48Z nyef: G'morning all. 2014-05-10T12:03:34Z echo-are` joined #sbcl 2014-05-10T12:04:02Z oleo: morning 2014-05-10T12:05:14Z echo-area quit (Ping timeout: 240 seconds) 2014-05-10T12:19:18Z Hydan quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) 2014-05-10T12:22:45Z scymtym_ joined #sbcl 2014-05-10T12:25:36Z echo-are` is now known as echo-area 2014-05-10T12:33:19Z jackdani1l is now known as jackdaniel 2014-05-10T12:44:03Z Shinmera- joined #sbcl 2014-05-10T12:44:37Z Shinmera quit (Ping timeout: 250 seconds) 2014-05-10T12:44:49Z Shinmera- is now known as Shinmera 2014-05-10T12:53:38Z Shinmera quit (Ping timeout: 276 seconds) 2014-05-10T12:54:53Z sdemarre quit (Ping timeout: 264 seconds) 2014-05-10T12:57:07Z attila_lendvai quit (Quit: Leaving.) 2014-05-10T13:00:23Z attila_lendvai joined #sbcl 2014-05-10T13:00:23Z attila_lendvai quit (Changing host) 2014-05-10T13:00:23Z attila_lendvai joined #sbcl 2014-05-10T13:06:51Z Shinmera joined #sbcl 2014-05-10T13:32:58Z attila_lendvai quit (Quit: Leaving.) 2014-05-10T13:41:32Z yacks quit (Ping timeout: 240 seconds) 2014-05-10T13:53:13Z pkhuong: hzp: yeah, sounds sane to me. 2014-05-10T13:54:10Z pkhuong: rebasing your dev history on top of master shouldn't be too hard. 2014-05-10T13:56:02Z nyef: ... dare I ask? 2014-05-10T13:56:20Z nyef asks from the middle of attempting to rebase his dev history on top of master. 2014-05-10T13:57:20Z nyef: Admittedly, north of 400 commits on a 15-month-old branch is asking for trouble there. (-: 2014-05-10T13:57:22Z pkhuong: nyef: these days, I see merges into master of branches that have as many commits as merge ones :\ 2014-05-10T13:58:02Z pkhuong: it helps if you aggressively rebase during dev. 2014-05-10T13:58:20Z nyef: Yes, that was one of the lessons that I was planning to draw. 2014-05-10T13:59:07Z nyef: Along with keeping separate things that you're breaking temporarily vs. things that you actually want to keep, so that you can discard the temporary stuff for the official history. 2014-05-10T14:01:16Z pkhuong: ah yes. commit -p is your friend. I also mark such commit in the one-line summary 2014-05-10T14:02:22Z nyef: I usually do add -p / commit rather than a straight commit -p, but yeah. 2014-05-10T14:02:37Z nyef: And rewriting history can be very useful, I did that a lot with the PPC threading work. 2014-05-10T14:02:38Z jdz: you guys don't use magit? 2014-05-10T14:04:02Z stassats: arm seems to be failing to pack more args to a vop onto the stack 2014-05-10T14:05:14Z nyef: ... We still haven't tried that register save penalty thing, have we? 2014-05-10T14:05:26Z stassats: :save-p t seems to work better 2014-05-10T14:05:58Z stassats: somewhat 2014-05-10T14:06:32Z pkhuong: stassats: that doesn't sound like a good hack 2014-05-10T14:06:48Z stassats: i just tried a random thing, it still doesn't work 2014-05-10T14:07:49Z stassats: i just don't have enough descriptor regs 2014-05-10T14:08:48Z nyef: Dare I ask which VOP, and what you're trying to do? 2014-05-10T14:08:54Z stassats: list-or-list* 2014-05-10T14:09:02Z nyef: Ahh. 2014-05-10T14:09:21Z stassats: with (list 1 2 3) packs 1 2 3 to r0-r3, and there's no descriptors left for the vop 2014-05-10T14:10:39Z stassats: r0-r2 2014-05-10T14:11:04Z stassats: i don't see r3 being used 2014-05-10T14:11:38Z stassats: probably because it's called lexenv 2014-05-10T14:14:43Z nyef: ... got nothing, and disinclined to start digging too deeply while my working tree is in the middle of a rebase. 2014-05-10T14:15:16Z stassats: if it didn't load everything before the vop, but only as needed, it would be nicer 2014-05-10T14:17:14Z nyef: We have a hack to deal with unboxed register pressure over alien-funcall, is something similar going on here? 2014-05-10T14:19:11Z stassats: alien-funcall reversing things? not sure how it'll help here 2014-05-10T14:20:52Z nyef: I mean stuff happening in the wrong order generally. 2014-05-10T14:21:06Z echo-area quit (Remote host closed the connection) 2014-05-10T14:21:27Z nyef: If your VOP started with the TNs that it needed, and *THEN* the more args were set up, would there still be an issue? 2014-05-10T14:21:50Z echo-area joined #sbcl 2014-05-10T14:23:09Z stassats: with :load-if? and disabling loading? 2014-05-10T14:23:28Z stassats: but it's really stupid, it puts an immediate onto the stack just to get it later 2014-05-10T14:23:48Z stassats: and :more doesn't work with load-if 2014-05-10T14:39:20Z erikvarga joined #sbcl 2014-05-10T14:40:20Z stassats: perhaps, a change to the vop machinery for loading mores one at a time 2014-05-10T14:40:26Z stassats: that would help other targets too 2014-05-10T14:56:34Z pkhuong: stassats: sounds like a good idea. 2014-05-10T14:56:53Z LiamH joined #sbcl 2014-05-10T14:58:28Z attila_lendvai joined #sbcl 2014-05-10T14:58:29Z attila_lendvai quit (Changing host) 2014-05-10T14:58:29Z attila_lendvai joined #sbcl 2014-05-10T15:27:01Z krzysz00 joined #sbcl 2014-05-10T15:27:25Z jdz quit (Quit: Leaving...) 2014-05-10T15:32:22Z nyef: Gah! And the disassembler changed incompatibly about a month and a half ago. 2014-05-10T15:32:54Z yacks joined #sbcl 2014-05-10T15:36:10Z nyef: I thought that AAPCS guaranteed an 8-byte alignment? 2014-05-10T15:36:23Z stassats: i think so too 2014-05-10T15:36:36Z nyef: So why does the test case say 4? 2014-05-10T15:37:02Z stassats: but the test breaks with 8 and i looked into the wrong section where it says the alignment should always be 4, but only 8 for public entries 2014-05-10T15:37:56Z nyef: Okay, so another loose end. 2014-05-10T15:53:20Z nyef: First pass at a rebase is done, but I still need to fix for vm-support-routines and disassembler changes. 2014-05-10T15:53:35Z nyef: And then I get to see if it still builds at all. 2014-05-10T15:53:48Z stassats: vm-support-routines is just s/define-vm-support-routine/defun/ 2014-05-10T15:54:40Z nyef: That's what I suspected, but I have to do that in the original context. 2014-05-10T15:59:26Z White_Flame joined #sbcl 2014-05-10T16:13:03Z slyrus joined #sbcl 2014-05-10T16:19:04Z jdz joined #sbcl 2014-05-10T16:23:15Z stassats: i'm still surprised that it decides to load tns for a vop, and then due to that loading the VOP can't get enough registers 2014-05-10T16:24:15Z stassats: maybe it's due to move-tail-full-call-args 2014-05-10T16:24:40Z stassats: now that makes sense 2014-05-10T16:26:15Z fe[nl]ix quit (*.net *.split) 2014-05-10T16:26:15Z Blkt quit (*.net *.split) 2014-05-10T16:26:16Z Munksgaard quit (*.net *.split) 2014-05-10T16:29:02Z yacks quit (Ping timeout: 252 seconds) 2014-05-10T16:33:14Z oleo quit (Ping timeout: 240 seconds) 2014-05-10T16:33:25Z oleo joined #sbcl 2014-05-10T16:38:01Z fe[nl]ix joined #sbcl 2014-05-10T16:38:01Z Blkt joined #sbcl 2014-05-10T16:38:01Z Munksgaard joined #sbcl 2014-05-10T16:38:56Z stassats: i modified the list ir2-convert, to just use reference-tn-list and lvar-tn, and it works on x86oids, but all the backends need to be able to handle immediates, constants and other things 2014-05-10T16:40:30Z pkhuong: ... if only there was a way to "call" vops from vops :\ 2014-05-10T16:41:37Z stassats: move funs can be called 2014-05-10T16:43:07Z stassats: i'm not sure though, should i sc-case all the cases, or is there a generic way 2014-05-10T16:44:16Z stassats: and not loading arguments does produce better code 2014-05-10T16:48:20Z stassats: i can emit a move to any old tn 2014-05-10T16:53:15Z stassats: that works, worse code, but still better than the old one 2014-05-10T16:53:37Z stassats: i think i'll wait until the merge, since it modifies ir2tran and is just an optimization 2014-05-10T16:54:29Z stassats: a better way for loading any old tn inside a VOP should be devised 2014-05-10T16:56:21Z stassats: arm may be unable to store immediates into memory, but x86 can 2014-05-10T16:57:30Z stassats: nyef: how can the work on merging be shared? 2014-05-10T17:08:25Z nyef: stassats: I'm hoping to have the basic merge stuff done this afternoon. 2014-05-10T17:09:00Z stassats: how can i reserve a tn on the stack for debugging purposes? 2014-05-10T17:09:46Z stassats: i don't actually have to use the same offset, but i need to somehow communicate where it is stored 2014-05-10T17:09:53Z stassats: so, somehow encode it into the debug fun 2014-05-10T17:10:06Z nyef: I really don't know there. 2014-05-10T17:10:18Z jsnell_: I've got something for that 2014-05-10T17:10:25Z jsnell_: just let me dig it out 2014-05-10T17:10:25Z stassats: trying to make restartable frames without using bind/unbind sentinel 2014-05-10T17:12:40Z jsnell_: http://jsnell.iki.fi/tmp/closure-debug.diff 2014-05-10T17:13:20Z stassats: interesting, thanks 2014-05-10T17:13:40Z jsnell_: but now that I think about it, that might have had some bugs that were ironed out later (it was done for the interpreter work last summer) 2014-05-10T17:14:34Z jsnell_: that fix would be somewhere in https://github.com/benkard/sbcl 2014-05-10T17:18:03Z jsnell_: right, https://github.com/benkard/sbcl/commit/6d2c5a01189f3a79c2415240e0ee3e885cb37453 on top of that first diff 2014-05-10T17:24:04Z Krystof: *cough cough* 2014-05-10T17:24:09Z Krystof: also, "no" "no" "no" "no" 2014-05-10T17:25:42Z Bike joined #sbcl 2014-05-10T17:28:41Z jsnell_: what I say four times is true 2014-05-10T17:45:57Z pkhuong: while most interested parties are around: could GC depend on reliable backtraces, or is it more practical to have a precise mode that links lisp stack frames in the thread struct? 2014-05-10T17:46:54Z attila_lendvai quit (Ping timeout: 240 seconds) 2014-05-10T17:49:01Z nyef: There are places in which our ability to backtrace lisp frames breaks down. 2014-05-10T17:49:35Z attila_lendvai joined #sbcl 2014-05-10T17:49:35Z attila_lendvai quit (Changing host) 2014-05-10T17:49:35Z attila_lendvai joined #sbcl 2014-05-10T17:51:08Z nyef: Really, what I'd like to see is a "precise mode" for x86-64 that relies on a partitioned register set and separate boxed and unboxed stacks. 2014-05-10T17:51:48Z nyef: But that's pretty far down my list of things to actually work on. 2014-05-10T17:53:41Z stassats: what is the reason for using this LRA thing? 2014-05-10T17:55:13Z nyef: On machines with word-aligned instruction pointers, it's so that we can relocate code objects while in GC. On machines without aligned instruction pointers, it's ALSO so that we can store them on the (precise) control stack. 2014-05-10T17:55:41Z stassats: can't say that i really understand what LRA does 2014-05-10T17:55:55Z stassats: it's data saved in the instruction stream? 2014-05-10T17:57:00Z nyef: It's a boxed object header stored in the instruction stream, with a back-pointer to the start of the code-object (just like a SIMPLE-FUN, in that respect). 2014-05-10T17:57:24Z pkhuong: nyef: I'm thinking partitioned stack frames. Hand-roll our own linkage if we can't trust bp/sp. 2014-05-10T17:57:41Z stassats: and it's used for function calls, for returning? 2014-05-10T17:58:39Z nyef: Yes, it represents (in a boxed, GC-comprehensible fashion) the place within the code-object to which control should return. 2014-05-10T17:59:06Z stassats: why isn't the stack used instead? 2014-05-10T18:00:11Z nyef: Which stack? 2014-05-10T18:00:23Z nyef: Actually, scratch that. 2014-05-10T18:00:50Z nyef: Because on cheneygc systems we *MUST* relocate code-objects when we GC. 2014-05-10T18:01:18Z nyef: And on gencgc systems we must either relocate or pin the code-objects. 2014-05-10T18:01:40Z stassats: and the value on the stack can't be changed? 2014-05-10T18:01:53Z nyef: And this allows us to identify and update the active return addresses. 2014-05-10T18:03:21Z stassats: so, the return address is still saved on the stack, but this is used for looking up that value? 2014-05-10T18:03:52Z nyef: No, no... This *IS* the return address that gets saved on the stack. 2014-05-10T18:05:08Z stassats: i'm just not sure that cpus are optimized for that way of doing function calls 2014-05-10T18:05:59Z nyef: Most of them are load/store RISC setups anyway, so there's a limit to what they can do in terms of optimizing what happens with call/return, surely? 2014-05-10T18:06:46Z nyef: I mean, yes, not having the gap in the instruction stream might help prediction hardware, but... 2014-05-10T18:07:46Z pkhuong: "might"? ;) 2014-05-10T18:12:26Z nyef: Okay, what about mucking with the call/return sequence: We save and restore the old reg_CODE, and convert the return address to some fixnum offset from that, all on the callee side? An extra couple of instructions in XEP-ALLOCATE-FRAME, an extra instruction or two in RETURN, similar noise for local calls, and possibly a touch more register pressure, but it'd mean no more RETURN-PC-HEADER objects. 2014-05-10T18:14:09Z stassats: why is the CODE register necessary? 2014-05-10T18:14:27Z stassats: couldn't it be done with something PC-relative? 2014-05-10T18:14:50Z nyef: Not all architectures *DO* PC-relative. 2014-05-10T18:14:56Z stassats: arm? 2014-05-10T18:16:04Z stassats: 12-bits of offsets is not much, for things like constants 2014-05-10T18:16:37Z sdemarre joined #sbcl 2014-05-10T18:16:50Z nyef: It gives us a relatively easy to find place for constants, it's used by the GC as a base for when we have interior pointers within the code object (such as the program counter, or the link register when we're in a function call). 2014-05-10T18:18:33Z stassats: how do others do it? 2014-05-10T18:18:47Z nyef: Which others? 2014-05-10T18:18:50Z stassats: i increased my image size, can get ccl 2014-05-10T18:18:56Z stassats: similar languages 2014-05-10T18:19:00Z nyef: Ah. 2014-05-10T18:19:02Z stassats: (mostly ccl) 2014-05-10T18:19:10Z nyef: At this point, I really don't know. 2014-05-10T18:19:22Z nyef: And I'm trying to shift my focus AWAY from ARM stuff for a bit. 2014-05-10T18:19:49Z stassats: once it merged, it'll be easier to work on 2014-05-10T18:21:43Z nyef: Hence one of the reasons I'm trying to merge it today. 2014-05-10T18:21:59Z pkhuong: iirc, CCL chunks up their codegen and adds jumps between 4K chunks. 2014-05-10T18:22:25Z pkhuong: Not sure if they use the same logic for constants. 2014-05-10T18:23:01Z nyef: Honestly, if you can get rid of our use of reg_CODE, we can turn around and allocate it as a TLS block. 2014-05-10T18:23:30Z stassats: reg_NULL can be removed 2014-05-10T18:23:40Z stassats: at some cost 2014-05-10T18:23:53Z nyef: Yeah, that one scares me right now, because our control stack pointer is defined in terms of it. 2014-05-10T18:24:29Z nyef: Admittedly, if it's going to a TLS block, that's kindof a non-issue. 2014-05-10T18:38:39Z drmeister quit (Remote host closed the connection) 2014-05-10T18:40:29Z Shinmera quit (Ping timeout: 264 seconds) 2014-05-10T18:47:09Z stassats quit (Ping timeout: 245 seconds) 2014-05-10T18:53:46Z prxq joined #sbcl 2014-05-10T18:54:15Z Shinmera joined #sbcl 2014-05-10T18:54:27Z drmeister joined #sbcl 2014-05-10T18:56:36Z fe[nl]ix quit (*.net *.split) 2014-05-10T18:56:36Z Blkt quit (*.net *.split) 2014-05-10T18:56:37Z Munksgaard quit (*.net *.split) 2014-05-10T18:59:44Z tmh_ quit (Ping timeout: 252 seconds) 2014-05-10T19:01:09Z tmh_ joined #sbcl 2014-05-10T19:01:20Z nicdev: has sbcl-arm been merged into the main repository or is it still seperate? if so, what's the latest repo could i clone? I want to build it on RPi 2014-05-10T19:02:16Z nyef: It's still separate, but I'm working on a forward-port now. 2014-05-10T19:02:32Z nyef: I think stassats repository might be most current at this point. 2014-05-10T19:07:36Z fe[nl]ix joined #sbcl 2014-05-10T19:07:36Z Blkt joined #sbcl 2014-05-10T19:07:36Z Munksgaard joined #sbcl 2014-05-10T19:19:19Z nicdev: nyef: thanks! i will use that then 2014-05-10T19:21:24Z fe[nl]ix quit (*.net *.split) 2014-05-10T19:21:24Z Blkt quit (*.net *.split) 2014-05-10T19:21:25Z Munksgaard quit (*.net *.split) 2014-05-10T19:22:21Z nyef: Trying a clean cross-build now. 2014-05-10T19:28:28Z nyef: ... Failed. something weird with validate.h. 2014-05-10T19:32:01Z nyef: Onto host-2. 2014-05-10T19:32:32Z fe[nl]ix joined #sbcl 2014-05-10T19:32:32Z Blkt joined #sbcl 2014-05-10T19:32:32Z Munksgaard joined #sbcl 2014-05-10T19:37:37Z attila_lendvai quit (Quit: Leaving.) 2014-05-10T19:39:14Z drmeister quit (Remote host closed the connection) 2014-05-10T19:41:46Z nyef: Dies, immediately in target-2. /-: 2014-05-10T19:43:06Z fe[nl]ix quit (*.net *.split) 2014-05-10T19:43:06Z Blkt quit (*.net *.split) 2014-05-10T19:43:07Z Munksgaard quit (*.net *.split) 2014-05-10T19:43:21Z drmeister joined #sbcl 2014-05-10T19:52:26Z nyef: Seems to be doing something lightly stupid with an unboxed value, under the presumption that it's an OTHER-POINTER? 2014-05-10T19:53:41Z nyef: Seems to be in SB!C::%GET-INFO-VALUE-INITIALIZING. 2014-05-10T19:54:04Z fe[nl]ix joined #sbcl 2014-05-10T19:54:04Z Blkt joined #sbcl 2014-05-10T19:54:04Z Munksgaard joined #sbcl 2014-05-10T19:54:08Z nyef: That's part of the new globaldb / infodb stuff, isn't it? 2014-05-10T19:57:33Z Fare quit (Quit: Leaving) 2014-05-10T20:03:02Z Shinmera quit (Quit: brb) 2014-05-10T20:08:52Z nyef: Okay, got a VALUE-CELL-REF against something which is not exactly a value-cell. 2014-05-10T20:09:58Z fe[nl]ix quit (*.net *.split) 2014-05-10T20:09:58Z Blkt quit (*.net *.split) 2014-05-10T20:09:59Z Munksgaard quit (*.net *.split) 2014-05-10T20:10:03Z segv- quit (Ping timeout: 252 seconds) 2014-05-10T20:10:11Z nyef: It's also vanishingly unlikely to be a stack pointer... 2014-05-10T20:11:33Z nyef: At the start of a closure of some sort, of course. 2014-05-10T20:12:13Z nyef: And it's (FLET SIMPLE-NAME). 2014-05-10T20:17:48Z nyef: The slot is KEY2, current raw value (in the register) is #x400. 2014-05-10T20:18:18Z nyef: lisp_backtrace(10) doesn't give anything useful. 2014-05-10T20:21:49Z fe[nl]ix joined #sbcl 2014-05-10T20:22:25Z stassats joined #sbcl 2014-05-10T20:22:28Z nyef: LEXENV is already overwritten, so I'll have to get clever in order to find out what it was... 2014-05-10T20:26:13Z Blkt joined #sbcl 2014-05-10T20:26:41Z Munksgaard joined #sbcl 2014-05-10T20:27:07Z Hydan joined #sbcl 2014-05-10T20:31:21Z stassats just observes 2014-05-10T20:31:21Z stassats: though, i guess you could share your changes 2014-05-10T20:31:21Z nyef: Let me guess... no LDB by default? 2014-05-10T20:31:54Z nyef: This closure environment is All Wrong. 2014-05-10T20:31:54Z nyef: Yeah, I'm thinking about that. 2014-05-10T20:31:55Z nyef: If I don't get this figured out soon then I will. And if I do, then I will. 2014-05-10T20:34:25Z nyef: Ouch. 2014-05-10T20:36:12Z nyef: http://paste.lisp.org/display/142481 2014-05-10T20:40:20Z nyef: And I see what happened. A one-line fix. 2014-05-10T20:41:07Z stassats: trying to make cheaper frame restarts 2014-05-10T20:41:20Z stassats: could be enabled with debug 1 2014-05-10T20:42:17Z sdemarre quit (Ping timeout: 264 seconds) 2014-05-10T20:42:50Z nyef: Make note of where the binding stack depth is when a PROGV is used, and which areas are covered by more normal binds. Work through the backtrace with that information to find the target bindstack depth. Done. 2014-05-10T20:42:58Z nyef: Easier said than done, of course. d-: 2014-05-10T20:43:05Z nyef: And would work at DEBUG 0. 2014-05-10T20:43:36Z nyef: Well, assuming that you kept the debug-funs around. 2014-05-10T20:47:36Z stassats: is bsp tagged? 2014-05-10T20:47:54Z nyef: How do you mean? 2014-05-10T20:48:05Z stassats: can i put it into a descriptor reg? 2014-05-10T20:48:13Z mega1 quit (Ping timeout: 250 seconds) 2014-05-10T20:48:15Z nyef: Oh, sure. It's word-aligned. 2014-05-10T20:48:25Z nyef: Doubleword-aligned, actually. 2014-05-10T20:48:27Z stassats: too lazy to check 2014-05-10T20:50:28Z nyef: Okay, target-2 is running now. 2014-05-10T20:52:16Z angavrilov quit (Remote host closed the connection) 2014-05-10T20:54:47Z erikvarga quit (Ping timeout: 252 seconds) 2014-05-10T21:01:34Z nyef: Oh, I bet the recent PACK changes highlighted the XEP-ALLOCATE-FRAME brokenness. 2014-05-10T21:09:38Z nyef: Building target-contrib now. 2014-05-10T21:11:17Z slyrus quit (Ping timeout: 252 seconds) 2014-05-10T21:11:36Z nyef: And pushed as a new branch, arm-forward-port 2014-05-10T21:12:03Z slyrus_ joined #sbcl 2014-05-10T21:13:06Z slyrus_ is now known as slyrus 2014-05-10T21:16:21Z stassats: and restarting works 2014-05-10T21:18:53Z stassats: with only two additional instructions and without preventing tail call optimizations 2014-05-10T21:19:18Z nyef: Oh! That reminds me. The MVL+NLX analysis bug. 2014-05-10T21:21:23Z nyef: According to http://paste.lisp.org/display/141469 I managed to fix it, but my personal notes indicate that it breaks some cases of tail-call. 2014-05-10T21:22:28Z nyef: And I haven't settled in to figure out how the tail-call detection thing works to try and fix it. 2014-05-10T21:22:38Z stassats: pfft, if people wanted tail calls, they would be using scheme! 2014-05-10T21:23:37Z stassats: on another note, debug 2 now doesn't disable tail calls, as a side effect of the restarting changes 2014-05-10T21:27:35Z stassats: no, it does disable 2014-05-10T21:27:50Z stassats: i need to separate frame restarting and insert-debug-catch 2014-05-10T21:36:01Z stassats: nyef: what you pushed, what's still missing? 2014-05-10T21:36:33Z nyef: In terms of what? 2014-05-10T21:36:41Z stassats: to be done 2014-05-10T21:38:04Z nyef: Dead code cleanup, backend register save penalty, VFPv2 handling (looks like we need it, we don't detect it straight-up, and we only need it in one place), possibly thumb handling improvements... 2014-05-10T21:38:16Z stassats: no, for merging 2014-05-10T21:39:02Z nyef: Has anyone commit anything in the past 24 hours? 2014-05-10T21:39:18Z stassats: no 2014-05-10T21:39:47Z nyef: Still need to make sure that the disassembler isn't broken, and that nothing broke horribly in the test suite, but other than that it's probably pretty much good. 2014-05-10T21:40:03Z stassats: i'm checking that it doesn't break x86oids and ppc 2014-05-10T21:40:12Z stassats: i think that's the only requirement for it to get merged 2014-05-10T21:40:20Z nyef: Also check sparc if you can? 2014-05-10T21:40:29Z stassats: if i can get a sparc 2014-05-10T21:40:32Z stassats: (i can't) 2014-05-10T21:40:34Z stassats: ish 2014-05-10T21:40:42Z nyef: Ah. 2014-05-10T21:41:07Z stassats: i don't want to bother people who have to turn it on 2014-05-10T21:41:37Z nyef: And the sparc I have here isn't set up at all, and the sparc I'll have access to all next week died the usual death of old sparcs. 2014-05-10T21:44:20Z nyef: I tried to be very careful about not breaking other backends when I made changes, and reviewed the overall diff a few times looking for touchpoints with existing code that didn't make sense. I'm fairly confident that we didn't break anything, but it's good to double-check. 2014-05-10T21:45:40Z stassats: i say push today, before any new changes 2014-05-10T21:45:49Z stassats: barring test failures on x86ppcoids 2014-05-10T21:46:35Z nyef: At least new changes at this point shouldn't cause TOO much damage that requires another careful forward-port. 2014-05-10T21:48:08Z stassats: x86oids, build ok, x86-64, tests ok 2014-05-10T21:50:41Z stassats: are the tramps tagged on arm too? 2014-05-10T21:51:37Z nyef: Like on SPARC? Yes. 2014-05-10T21:51:47Z stassats: like on ppc 2014-05-10T21:51:47Z nyef: In fact, that caused our purify problems. 2014-05-10T21:52:08Z stassats: ok, so sb-dynamic-core wouldn't just work 2014-05-10T21:53:55Z nyef: Hrm... Might have a problem. My RPi looks like it's sitting there at max load trying to do something involving an sb-sprof test. 2014-05-10T21:55:34Z stassats: ppc build ok, x86 tests ok, ship it! 2014-05-10T21:55:49Z nyef: And corruption warning, signal 4, trying to test sb-sprof. 2014-05-10T21:58:11Z nyef: Disassembler looks good. 2014-05-10T21:58:22Z nyef: Well, not good, but it works about as well as it did before. 2014-05-10T22:03:48Z nyef: Getting more test failures, it seems. 2014-05-10T22:07:38Z nyef: Oh, hell. 37 fell through ecase expression? 2014-05-10T22:07:59Z nyef: ... Someone changed the error trap encoding, didn't they? 2014-05-10T22:08:28Z pkhuong: ~1 year ago 2014-05-10T22:08:41Z pkhuong: SCs gained one more bit 2014-05-10T22:09:24Z nyef: I'm not dealing with this now. And not just because my dinner is almost ready. 2014-05-10T22:09:44Z stassats: i can deal with that 2014-05-10T22:16:43Z drmeiste_ joined #sbcl 2014-05-10T22:16:57Z drmeister quit (Read error: Connection reset by peer) 2014-05-10T22:18:27Z stassats` joined #sbcl 2014-05-10T22:20:50Z drmeiste_ quit (Read error: Connection reset by peer) 2014-05-10T22:23:02Z stassats quit (Ping timeout: 276 seconds) 2014-05-10T22:26:33Z stassats`: ppc tests succeed too 2014-05-10T22:39:00Z prxq quit (Remote host closed the connection) 2014-05-10T22:45:02Z stassats`: pushed the undefined fix 2014-05-10T22:45:08Z stassats`: i force pushed onto the same repository 2014-05-10T22:46:13Z davazp joined #sbcl 2014-05-10T22:48:51Z nyef: That's not right. 2014-05-10T22:49:05Z nyef: Hrm. 2014-05-10T22:49:11Z nyef: No, nevermind, it is. 2014-05-10T22:49:12Z stassats`: what isn't? 2014-05-10T22:49:15Z nyef: Almost isn't, though. 2014-05-10T22:49:44Z nyef: For a few seconds, I thought that it would overflow the allocated space. 2014-05-10T22:50:21Z nyef: The rest of the internal-error noise works? 2014-05-10T22:50:38Z stassats`: should work 2014-05-10T22:51:20Z nyef: Okay, yeah, looks good. 2014-05-10T22:51:24Z stassats`: all non-arm tests succeed, so, push upstream? 2014-05-10T22:51:33Z nyef: Feel free. 2014-05-10T22:51:52Z stassats`: ok then 2014-05-10T22:52:24Z stassats`: a NEWS entry might be warranted 2014-05-10T22:56:02Z stassats`: oh my, a tone of sbcl-commits emails 2014-05-10T22:56:13Z stassats`: ton, rather 2014-05-10T22:56:14Z nyef: Only, like, 380 or so. 2014-05-10T22:56:38Z nyef: Well, 360, maybe 2014-05-10T22:56:57Z stassats`: what if C-c C-c it 2014-05-10T22:59:00Z stassats`: stopped at 28 2014-05-10T22:59:11Z stassats`: and, we're live 2014-05-10T22:59:39Z jdz quit (Remote host closed the connection) 2014-05-10T23:03:38Z stassats`: sb-sprof failed for with 4 as well 2014-05-10T23:06:32Z pkhuong: stassats`: you just killed my phone (: 2014-05-10T23:06:52Z nyef: It's only about 360 commits, what's the problem? 2014-05-10T23:08:03Z pkhuong: it vibrated almost constantly for a good 15 seconds. 2014-05-10T23:39:13Z nyef: When do we know if an LVAR is multiply-valued or not? 2014-05-10T23:40:21Z nyef: ... IR2. Lovely. 2014-05-10T23:44:31Z nyef: Time to see if I can replicate the failure with this thing, and see if there's anything to be done. 2014-05-10T23:44:57Z stassats`: sprof fails because it now has tests, of course 2014-05-10T23:45:13Z nyef: Ahh. 2014-05-10T23:50:23Z nyef suddenly realizes that, for the first time in quite a while, he's doing a full build that's not a cross build, has a good chance of success, and will complete in less than an hour. 2014-05-10T23:52:36Z nyef: In fact... 11 minutes. 2014-05-10T23:52:53Z nyef: I think that's less time than it takes to do just the contribs (possibly just target-2) on my Pi. 2014-05-10T23:54:22Z LiamH quit (Quit: Leaving.) 2014-05-11T00:12:00Z ltbarcly joined #sbcl 2014-05-11T00:20:46Z davazp quit (Remote host closed the connection) 2014-05-11T00:21:06Z nyef: Okay, the issue with my nonlinear-lvar fix is that it breaks tail-call, most noticeably in TWO-ARG-/ (caught by the test suite). 2014-05-11T00:24:55Z nyef: And while the NUMBER-DISPATCH logic is sufficiently convoluted that I can't really follow it in my head, it doesn't look like it's generating any code that should invalidate TCO, which means that I need to have the compiler do more analysis somehow, either to not insert the gimmicked CAST or to have the chance to delete it. 2014-05-11T00:29:23Z drmeister joined #sbcl 2014-05-11T00:33:00Z stassats`: the size in emit-back-patch and composite-immediate-instruction do not combine well 2014-05-11T00:36:33Z nyef: The gimmicked CAST needs to be inserted because stack analysis gets confused if there's another EXIT to the same continuation and that same EXIT is live within the environment from which we're trying to delete an EXIT... Except that that OTHER EXIT could have been deleted... 2014-05-11T00:37:58Z stassats`: emit-chooser? doesn't appear nice 2014-05-11T00:38:17Z nyef: Actually, I have a complaint about choosers somewhere. 2014-05-11T00:38:42Z stassats`: i'm looking at compute-code 2014-05-11T00:38:54Z nyef: Ah, right. "The commentary before EMIT-CHOOSER uses ``magic value'' as a TECHNICAL term." 2014-05-11T00:39:48Z nyef: Ah, you used composite-immediate inside compute-code? 2014-05-11T00:39:54Z stassats`: right 2014-05-11T00:40:50Z nyef: Yeah, don't do that, compare with the logic in compute-lra. 2014-05-11T00:41:08Z stassats`: compute-lra didn't impress me either 2014-05-11T00:41:38Z nyef: It's not really meant to impress, it's meant to work. 2014-05-11T00:42:05Z nyef: You're looking at the test failure from expecting "too many" values returned? 2014-05-11T00:42:17Z stassats`: right 2014-05-11T00:42:35Z nyef: Is there any reason you can't just move the COMPUTE-CODE to before you default the stack args? 2014-05-11T00:42:43Z nyef: (Or receive the stack args, as it may be)? 2014-05-11T00:51:53Z stassats`: that works, but what are the culprits? 2014-05-11T00:52:25Z nyef: What do you mean? 2014-05-11T00:52:43Z nyef: The reason that COMPUTE-CODE breaks is because the delta to the LRA header got to be too large. 2014-05-11T00:52:47Z stassats`: for interrupts or something? 2014-05-11T00:53:18Z stassats`: compute reg_code at the start of the sequence 2014-05-11T00:54:49Z nyef: Yeah, there's some question as to why reg_CODE is computed at the end of the sequence, and my thought was that it would have to do with the debugger, and possibly with the runtime support for patching the call stack when an interrupt comes in. 2014-05-11T00:58:30Z stassats`: what about putting lra at the end? 2014-05-11T00:59:04Z nyef: How do you mean? 2014-05-11T00:59:40Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-11T01:06:38Z stassats`: going with compute-code closer to lra 2014-05-11T01:07:35Z stassats`: with the reason that it appears to work 2014-05-11T01:08:44Z nyef: Yeah, I got that far, but couldn't figure out if the debugger cared, and since we already knew that the system would self-host, I wanted to move on. 2014-05-11T01:09:18Z zRecursive joined #sbcl 2014-05-11T01:10:23Z stassats`: compiler.impure now passes 2014-05-11T01:11:12Z nyef: Did you figure out the sprof thing? 2014-05-11T01:11:19Z stassats`: no 2014-05-11T01:11:23Z nyef: Hrm. 2014-05-11T01:11:31Z nyef: Ah well. 2014-05-11T01:15:45Z stassats`: need to devise a better composite-immediate-instruction, taking rotations into account 2014-05-11T01:22:46Z zRecursive quit (Remote host closed the connection) 2014-05-11T01:23:03Z zRecursive joined #sbcl 2014-05-11T01:26:23Z echo-area quit (Remote host closed the connection) 2014-05-11T01:36:48Z zRecursive left #sbcl 2014-05-11T01:37:21Z zRecursive joined #sbcl 2014-05-11T01:42:08Z echo-area joined #sbcl 2014-05-11T01:45:17Z stassats` quit (Ping timeout: 264 seconds) 2014-05-11T02:09:50Z eudoxia joined #sbcl 2014-05-11T02:39:14Z christoph_debian quit (Ping timeout: 240 seconds) 2014-05-11T02:47:57Z ltbarcly joined #sbcl 2014-05-11T02:52:49Z christoph_debian joined #sbcl 2014-05-11T02:52:57Z zRecursive quit (Remote host closed the connection) 2014-05-11T02:56:45Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-11T03:00:17Z scymtym_ quit (Ping timeout: 264 seconds) 2014-05-11T03:04:19Z nyef: We don't have any process that would delete ENTRY nodes, do we? 2014-05-11T03:09:16Z attila_lendvai joined #sbcl 2014-05-11T03:09:16Z attila_lendvai quit (Changing host) 2014-05-11T03:09:16Z attila_lendvai joined #sbcl 2014-05-11T03:14:15Z nyef quit (Quit: G'night all.) 2014-05-11T03:35:48Z eudoxia quit (Read error: Connection reset by peer) 2014-05-11T03:36:10Z eudoxia joined #sbcl 2014-05-11T03:52:47Z kanru` joined #sbcl 2014-05-11T04:26:06Z krzysz00 quit (Quit: Lost terminal) 2014-05-11T04:39:33Z eudoxia quit (Quit: leaving) 2014-05-11T04:44:54Z oleo quit (Ping timeout: 240 seconds) 2014-05-11T04:45:02Z oleo joined #sbcl 2014-05-11T04:52:33Z ltbarcly joined #sbcl 2014-05-11T05:03:04Z drmeister quit (Quit: Leaving...) 2014-05-11T05:10:29Z drmeister joined #sbcl 2014-05-11T05:22:12Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-11T05:46:53Z sdemarre joined #sbcl 2014-05-11T06:19:22Z kanru`: how to cross-compile for ARM? 2014-05-11T06:48:49Z prxq joined #sbcl 2014-05-11T06:50:25Z Krystof: hold on, let me merge my thing that makes cross-compiling easier 2014-05-11T06:51:30Z Krystof: do you have an arm board which can rsync to and from a beefier machine? 2014-05-11T07:00:31Z Krystof: on the assumption that you do, the new instructions (as of 5 seconds ago) are: 2014-05-11T07:01:00Z Krystof: arm$ sh ./make-config.sh --host-location='x86:/path/to/sbcl' 2014-05-11T07:01:10Z Krystof: x86$ sh ./make-host-1.sh 2014-05-11T07:01:15Z Krystof: arm$ sh ./make-target-1.sh 2014-05-11T07:01:21Z Krystof: x86$ sh ./make-host-2.sh 2014-05-11T07:01:28Z Krystof: arm$ sh ./make-target-2.sh 2014-05-11T07:01:29Z Krystof: the end 2014-05-11T07:02:01Z Krystof: so, arm64 port? 2014-05-11T07:03:45Z kanru`: I have arm boards.. but have you tried using qemu? 2014-05-11T07:04:21Z Krystof: no 2014-05-11T07:06:12Z kanru`: okay, I might give it a try 2014-05-11T07:18:19Z Krystof: I wonder if --host-location should automatically turn on sb-after-xc-core 2014-05-11T07:21:24Z Krystof: * //testing for consistency of first and second GENESIS passes 2014-05-11T07:21:24Z Krystof: Only in src/runtime/genesis: simd-pack.h 2014-05-11T07:21:25Z Krystof: hm 2014-05-11T07:21:46Z Krystof: oh, yes, I understand why that happens. OK. 2014-05-11T07:22:15Z Krystof: "Illegal instruction" 2014-05-11T07:22:26Z Krystof: gah 2014-05-11T07:23:10Z Krystof: doh, I bet this is arm/thumb again 2014-05-11T07:26:15Z Krystof: yes 2014-05-11T07:42:43Z jdz joined #sbcl 2014-05-11T07:49:53Z DGASAU quit (Ping timeout: 255 seconds) 2014-05-11T08:01:34Z DGASAU joined #sbcl 2014-05-11T08:14:14Z Bike quit (Ping timeout: 240 seconds) 2014-05-11T08:34:45Z angavrilov joined #sbcl 2014-05-11T08:39:27Z Shinmera joined #sbcl 2014-05-11T09:15:56Z yacks joined #sbcl 2014-05-11T09:21:51Z prxq quit (Read error: Connection reset by peer) 2014-05-11T09:34:39Z attila_lendvai quit (Quit: Leaving.) 2014-05-11T10:03:28Z Hydan quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) 2014-05-11T10:43:53Z echo-are` joined #sbcl 2014-05-11T10:47:29Z echo-area quit (Ping timeout: 252 seconds) 2014-05-11T10:47:53Z Hydan joined #sbcl 2014-05-11T11:10:01Z stassats` joined #sbcl 2014-05-11T11:31:27Z levabalkin joined #sbcl 2014-05-11T11:54:07Z nyef joined #sbcl 2014-05-11T11:54:21Z nyef: G'morning all. 2014-05-11T12:01:42Z levabalkin left #sbcl 2014-05-11T12:33:56Z echo-are` quit (Remote host closed the connection) 2014-05-11T12:34:39Z echo-are` joined #sbcl 2014-05-11T12:36:08Z Krystof: hi nyef 2014-05-11T12:36:17Z Krystof: congratulations on the merge :) 2014-05-11T12:36:20Z nyef: Thanks. 2014-05-11T12:36:46Z nyef: I'm hoping to not have to think about ARM stuff in any great detail for a few weeks. 2014-05-11T12:36:57Z nyef: And I know that that's not quite going to be the case. 2014-05-11T12:39:44Z nyef: In other news, I think I may have the problems with my nonlinear-lvar fix figured out, and I'm trying to figure out how to write the analysis code that I need to add. 2014-05-11T12:46:14Z stassats`: now i'm not sure how to conditionalize frame restarting, it's not exactly clear from the current INSERT-DEBUG-CATCH that it enables restarting 2014-05-11T12:46:29Z stassats`: but insert-debug-catch also causes TCO to be disabled 2014-05-11T12:47:00Z stassats`: so i guess removing insert-debug-catch altogether, frame restarting depending on debug >= 1, and add a new inhibit-tco quality 2014-05-11T12:48:23Z stassats`: and i think it'd be better to save the BSP in the XEP, so that errors in optional args are restartable and so that the temporary register doesn't clobber other register 2014-05-11T12:48:27Z nyef: Didn't we used to *HAVE* an inhibit-tco (or enable-tco) quality? 2014-05-11T12:48:34Z stassats`: not anymore 2014-05-11T12:49:01Z nyef: I know, but it's kindof funny to re-introduce it now. 2014-05-11T12:49:25Z stassats`: i think it was removed because it wasn't working 2014-05-11T12:49:50Z nyef: Mmm. 2014-05-11T12:51:55Z stassats`: insert-debug-catch does (multiple-value-prog1 (progn ,@forms) (values)) 2014-05-11T12:52:37Z nyef: Does everything in an IR1 block share a LEXENV, or can a LEXENV be introduced mid-block? 2014-05-11T12:56:35Z nyef: For that matter, can a LEXENV be dropped mid-block? 2014-05-11T12:57:48Z nyef: Hrm. I'm going about this wrong, I need to keep the LEXENV, not to try and recover it. 2014-05-11T12:58:11Z scymtym_ joined #sbcl 2014-05-11T13:00:11Z sdemarre quit (Ping timeout: 250 seconds) 2014-05-11T13:04:34Z prxq joined #sbcl 2014-05-11T13:25:02Z stassats`: nyef: can the interior-reg be used as a temporary for anything? 2014-05-11T13:25:50Z nyef: Not quite. 2014-05-11T13:26:57Z nyef: If an asynchronous GC hits (signal handling, threads, et cetera), and the value in the interior-reg (or any reg partaking of the interior-pointer nature) is greater than the value of a boxed register that contains a pointer, then the GC may adjust the contents of the interior-reg. 2014-05-11T13:27:21Z nyef: It's mostly okay for small values, but it's a bad habit to be in. 2014-05-11T13:28:11Z stassats`: and for tagged values? 2014-05-11T13:28:33Z nyef: It's not a boxed root. 2014-05-11T13:29:01Z stassats`: ok 2014-05-11T13:30:01Z nyef: See gc_common.c, scavenge_interrupt_context(), pair_interior_pointer() and the preceding macrology for the gory details. 2014-05-11T13:33:38Z nyef: ... I remember figuring this out and making it Not Suck Horribly, but I don't remember it being four years ago. 2014-05-11T13:49:27Z erikvarga joined #sbcl 2014-05-11T14:05:16Z attila_lendvai joined #sbcl 2014-05-11T14:09:26Z echo-are` quit (Ping timeout: 276 seconds) 2014-05-11T14:09:27Z sdemarre joined #sbcl 2014-05-11T14:17:13Z nyef: ... What the... #1=#1# ?!? 2014-05-11T14:22:00Z nyef: Why are LEXENVs printing as #1=#1# ? 2014-05-11T14:23:18Z nyef: Version is "1.1.18.48.nonlinear-lvar-fix.3-63e92f7-dirty", and I'm reasonably confident that nothing in changes would have broken this. 2014-05-11T14:23:29Z nyef: Might be my build host at issue, I suppose. 2014-05-11T14:23:58Z stassats`: i like the version number 1.1.18._492_ 2014-05-11T14:24:13Z nyef: Yah, we haven't seen anything that high before, I believe. 2014-05-11T14:24:27Z stassats`: it'll be 500 soon 2014-05-11T14:24:30Z Krystof: it might be the first post-git port merge 2014-05-11T14:24:39Z Krystof: preserving history in CVS days would not have been fun 2014-05-11T14:26:04Z Poenikatu joined #sbcl 2014-05-11T14:27:49Z Poenikatu: I have just compiled sbcl 1.1.18, both with Clozure CL as well as sbcl 1.1.15, and both compilation produce a core file which does not include SB-POSIX. When I try to run sbcl, I get an error message from the debugger that SB-POSIX was not found. Help! 2014-05-11T14:27:50Z minion: Poenikatu, memo from pjb: the THE operators means: The Human Error. It's a recursive acronym, as hackers like them. 2014-05-11T14:27:50Z minion: Poenikatu, memo from pjb: When you use the THE operators, it's THE fault of the Human (you) if^W when anything goes wrong. 2014-05-11T14:28:34Z stassats`: there's never sb-posix in the produced core 2014-05-11T14:29:04Z Poenikatu: stassats`: So why does sbcl 1.1.18 refuse to run without it? 2014-05-11T14:30:18Z stassats`: your ~/.sbclrc is causing that 2014-05-11T14:30:42Z Poenikatu: stassats`: You may be right. I shall remove said file and try again. 2014-05-11T14:30:44Z nyef: That said, if you just compiled it, did you get any warning about a failure to build contribs? 2014-05-11T14:30:56Z nyef: Or use --no-userinit as a command option. 2014-05-11T14:31:10Z nyef: Also --no-sysinit. 2014-05-11T14:31:16Z drmeister quit (Remote host closed the connection) 2014-05-11T14:33:09Z Poenikatu: nyef: No, error messages about not building contribs 2014-05-11T14:33:15Z Poenikatu: nyef: Nor warnings 2014-05-11T14:33:56Z Poenikatu: nyef: I was using the run-sbcl.sh script to test it 2014-05-11T14:34:23Z Poenikatu: nyef: No failure to build contribs 2014-05-11T14:34:31Z nyef: ... What's VOP MOVE-IF/FX? 2014-05-11T14:34:55Z nyef: Ah, fixnum. 2014-05-11T14:36:14Z Krystof: hm, that's a bit of a shame 2014-05-11T14:36:17Z Poenikatu: Without the .user-init file, it loads ok, but I noticed after (list-all-packages) that sb-posix was missing. I've never had to compile and load sb-posix before 2014-05-11T14:36:25Z Krystof: the sbcl I built on my beaglebone segfaults on my rpi 2014-05-11T14:36:58Z Krystof: ... in _start() 2014-05-11T14:37:16Z nyef: Thumb interworking strikes again? 2014-05-11T14:37:44Z Krystof: no, I already did -marm 2014-05-11T14:42:03Z Krystof: I mean it could be something like that 2014-05-11T14:42:41Z nyef: ... MOVE-IF/FX is getting passed a constant symbol as an argument? Wha...? 2014-05-11T14:43:11Z nyef: Specifically as the ELSE argument? 2014-05-11T14:43:51Z pkhuong: nyef: the look up table might be messed up it. 2014-05-11T14:44:13Z nyef: Or I screwed up a test sense. 2014-05-11T14:44:48Z drmeister joined #sbcl 2014-05-11T14:45:03Z nyef: Should be (or do-not-optimize (not (may-delete-vestigial-exit cast))). 2014-05-11T14:45:40Z pkhuong: (not (and optimize (may-delete...)))? ;) 2014-05-11T14:47:50Z nyef: Well at that point I may as well flip the UNLESS to a WHEN. 2014-05-11T14:53:38Z Krystof: first finger of suspicion lands on different gcc -march flag by default 2014-05-11T14:53:42Z nyef: Survived to genesis, that's progress... 2014-05-11T14:56:27Z nyef: Okay, survived a build, now for the real tests... 2014-05-11T14:56:46Z nyef: Debug.impure passes cleanly... 2014-05-11T14:57:45Z Krystof: and -march might be part of the problem but a larger part is probably the _start in crtn.o :-( 2014-05-11T14:58:17Z nyef: And lp#309099 stays fixed. I think I got it this time! (-: 2014-05-11T14:58:37Z stassats`: the last bug! 2014-05-11T14:59:55Z stassats`: nyef: what about https://bugs.launchpad.net/sbcl/+bugs?field.tag=stack-analysis 2014-05-11T15:00:03Z drmeister quit (Remote host closed the connection) 2014-05-11T15:01:23Z leo2007 quit (Ping timeout: 265 seconds) 2014-05-11T15:01:49Z nyef: 309099, 518099 and 533930 are all the same bug. 2014-05-11T15:02:10Z nyef: So that's three-quarters of the high-importance bugs, and half the bugs overall. 2014-05-11T15:02:20Z stassats`: others are not fixed? 2014-05-11T15:02:59Z nyef: Hrm. Actually, this is getting weird. 2014-05-11T15:08:36Z pkhuong: mm... looks like some of the final IR1 passes would be more robust after a real dead code elimination pass. 2014-05-11T15:09:16Z drmeister joined #sbcl 2014-05-11T15:09:17Z nyef: Okay, looks like the web browser was introducing invisible symbols into the source code. 2014-05-11T15:09:38Z nyef: So those three are all the same bug, and fixed in my local tree. 2014-05-11T15:10:20Z Poenikatu quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2014-05-11T15:13:26Z nyef: The other three still look valid. 2014-05-11T15:14:25Z nyef: I'll polish up the commits in a bit. 2014-05-11T15:45:07Z prxq quit (Ping timeout: 240 seconds) 2014-05-11T15:54:38Z nyef: And http://repo.or.cz/w/sbcl/nyef.git/shortlog/refs/heads/nonlinear-lvar-fix it is. This was a forced update, FWIW. 2014-05-11T15:55:48Z stassats`: tried to apply fixnum-mod-p vops to arm, but immediate encoding doesn't make it nice 2014-05-11T15:56:51Z stassats`: (unsigned-byte 24-29) can be done with a single instruction 2014-05-11T15:57:36Z stassats`: and small non-power-of two ranges too 2014-05-11T15:58:08Z stassats`: but for non-encodable, i need a second set of vops with a temporary 2014-05-11T15:59:58Z sdemarre quit (Ping timeout: 245 seconds) 2014-05-11T16:01:07Z Krystof: so my answer is that debian's armhf is only targetting armv7, so it's not surprising that a binary for that doesn't run on raspbian 2014-05-11T16:08:36Z Bike joined #sbcl 2014-05-11T16:24:19Z nyef quit (Ping timeout: 240 seconds) 2014-05-11T16:27:39Z nyef joined #sbcl 2014-05-11T16:28:01Z leo2007 joined #sbcl 2014-05-11T16:29:15Z nyef: ... I just had a build failure with sb-mpfr. Is that important somehow? 2014-05-11T16:29:26Z stassats`: no 2014-05-11T16:29:35Z stassats`: you just don't have the library 2014-05-11T16:29:48Z nyef: Right, error opening shared object "libgmp.so". 2014-05-11T16:30:12Z stassats`: but, sb-gmp doesn't seem to fail 2014-05-11T16:30:26Z nyef: Probably something to do with the comprehensive test suite. 2014-05-11T16:30:43Z stassats`: i'm a bit conflicted about that, you may want to have sb-gmp/sb-mpfr and need to see that it didn't build 2014-05-11T16:30:55Z stassats`: and you may not care about it, so you don't want to see the failure 2014-05-11T16:31:00Z stassats`: no good way about that 2014-05-11T16:31:21Z stassats`: "optional contribs weren't built due to missing foreign libraries: ..." 2014-05-11T16:32:48Z stassats`: looks like a need 5 VOPs to get fixnum-mod-p, compared to 3 on x86oids 2014-05-11T16:40:14Z nyef: I'm probably going to commit the nonlinear-lvar-fix this time, assuming that the test suite results come back okay. 2014-05-11T16:40:37Z stassats`: 4 actually 2014-05-11T16:40:43Z nyef: Unless someone wants to object to part of it? 2014-05-11T16:41:39Z sdemarre joined #sbcl 2014-05-11T16:46:44Z stassats`: bah, no higher-than-or-same 2014-05-11T16:47:00Z nyef: Ugh. Built the wrong branch. 2014-05-11T16:48:49Z stassats`: there's, it's just called :CS 2014-05-11T16:49:29Z stassats`: trying to add 1 to the value and change the comparison to fit more immediates 2014-05-11T16:52:29Z stassats`: i think this can be done for other comparison VOPs too 2014-05-11T16:57:56Z slyrus_ joined #sbcl 2014-05-11T16:58:25Z stassats`: five vops needed after all 2014-05-11T16:58:54Z slyrus quit (Ping timeout: 240 seconds) 2014-05-11T16:59:06Z slyrus_ is now known as slyrus 2014-05-11T16:59:37Z stassats`: or even 6, but i'll leave it at 5 2014-05-11T17:18:55Z nyef: Okay, any objections to me pushing the nonlinear-lvar-fix branch? Now's the time. 2014-05-11T17:23:24Z stassats`: i'm making composite-immediate-instruction into even more of a monster 2014-05-11T17:23:56Z stassats`: want to do sub x, #y sub x, #z and cmp x, #x as the final instruction 2014-05-11T17:27:56Z kanru`: tried to cross-compile for arm with qemu+chroot 2014-05-11T17:28:14Z kanru`: failed at make-target-2.sh 2014-05-11T17:28:26Z kanru`: randomly hit "qemu: Unsupported ARM syscall: 0xf0001" then drop into ldb 2014-05-11T17:28:57Z nyef: That's the BREAK_POINT syscall. 2014-05-11T17:29:52Z nyef: We use it as a pseudo-atomic-interrupted trap. 2014-05-11T17:30:12Z nyef: It works on real hardware with real linux. Fix your qemu. d-: 2014-05-11T17:30:24Z kanru`: heh 2014-05-11T17:31:05Z kanru`: maybe I'll try again tomorrow.. g'night (: 2014-05-11T17:31:13Z oleo quit (Ping timeout: 245 seconds) 2014-05-11T17:34:32Z oleo joined #sbcl 2014-05-11T17:39:13Z stassats`: one instruction saved by using CMP at the end, though maybe using OR was cheaper than SUB 2014-05-11T17:40:31Z stassats`: no, it is even slightly faster 2014-05-11T17:42:31Z stassats`: did i tell you that i like CISC? i do 2014-05-11T17:42:51Z stassats`: this immediate thing is getting old pretty quick 2014-05-11T17:44:41Z nyef quit (Ping timeout: 264 seconds) 2014-05-11T17:47:37Z stassats`: wait, sub-sub-cmp doesn't just work, it needs to be sub-subhi-cmphi 2014-05-11T17:48:04Z stassats`: subshi 2014-05-11T17:48:07Z stassats`: not as nice now 2014-05-11T17:57:21Z stassats`: though it is still faster 2014-05-11T18:08:21Z erikvarga left #sbcl 2014-05-11T18:13:14Z ltbarcly joined #sbcl 2014-05-11T18:18:25Z mega1 joined #sbcl 2014-05-11T18:37:05Z yacks quit (Ping timeout: 252 seconds) 2014-05-11T18:38:09Z Poenikatu joined #sbcl 2014-05-11T18:43:02Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-11T18:45:58Z attila_lendvai quit (Ping timeout: 240 seconds) 2014-05-11T18:48:51Z sdemarre quit (Quit: Leaving.) 2014-05-11T18:48:59Z Poenikatu: I want to call a foreign function which expects to have the address of a callback (the function is in a Graphical toolkit). The sbcl manual says that this was experimental in version0.7.5. Is it now implemented in 1.1.18? 2014-05-11T18:49:12Z sdemarre joined #sbcl 2014-05-11T18:49:45Z stassats`: it's still the same 2014-05-11T18:50:22Z Poenikatu: So it's not possible to specify a callback function? 2014-05-11T18:50:31Z stassats`: who said that? 2014-05-11T18:50:51Z Poenikatu: The manual for sbcl 1.1.18 2014-05-11T18:52:40Z stassats`: that's because you shouldn't be using it 2014-05-11T18:52:46Z stassats`: CFFI 2014-05-11T18:53:31Z Poenikatu: stassats`: Are you referring to the CFFI package? 2014-05-11T18:53:42Z stassats`: yes, that's what you should be using 2014-05-11T18:54:07Z Poenikatu: stassats`: Well, thanks. I'll shall consult its documentation 2014-05-11T19:20:55Z sdemarre left #sbcl 2014-05-11T20:19:34Z angavrilov quit (Remote host closed the connection) 2014-05-11T20:19:59Z angavrilov joined #sbcl 2014-05-11T20:20:59Z scymtym_ quit (Remote host closed the connection) 2014-05-11T20:22:53Z scymtym_ joined #sbcl 2014-05-11T20:24:36Z angavrilov quit (Remote host closed the connection) 2014-05-11T20:49:23Z nyef joined #sbcl 2014-05-11T20:50:48Z stassats`: making sure temporary values are tagged is quite tiring 2014-05-11T20:50:54Z stassats`: safepoints could solve that 2014-05-11T20:58:09Z Poenikatu left #sbcl 2014-05-11T21:04:29Z stassats` quit (Ping timeout: 252 seconds) 2014-05-11T21:19:59Z Shinmera quit (Quit: ZzzZ) 2014-05-11T21:20:39Z prxq joined #sbcl 2014-05-11T21:39:39Z Bike quit (Ping timeout: 265 seconds) 2014-05-11T21:40:59Z mega1 quit (Ping timeout: 258 seconds) 2014-05-11T21:41:13Z Bike joined #sbcl 2014-05-11T22:02:07Z prxq quit (Remote host closed the connection) 2014-05-11T22:19:14Z jdz quit (Remote host closed the connection) 2014-05-11T22:22:03Z ltbarcly joined #sbcl 2014-05-11T22:55:19Z Hydan quit (Quit: Textual IRC Client: www.textualapp.com) 2014-05-11T22:57:01Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-11T23:12:10Z leo2007 quit (Ping timeout: 276 seconds) 2014-05-11T23:16:02Z cmack``` joined #sbcl 2014-05-11T23:18:17Z cmack`` quit (Ping timeout: 264 seconds) 2014-05-11T23:19:24Z leo2007 joined #sbcl 2014-05-11T23:40:55Z zRecursive joined #sbcl 2014-05-12T00:15:29Z nyef quit (Quit: G'night all.) 2014-05-12T00:42:48Z eudoxia joined #sbcl 2014-05-12T00:46:15Z Krystof quit (Read error: Connection reset by peer) 2014-05-12T00:49:58Z nicdev` joined #sbcl 2014-05-12T00:50:35Z samskull1 joined #sbcl 2014-05-12T00:50:54Z jsnell joined #sbcl 2014-05-12T00:51:12Z redline6561_ joined #sbcl 2014-05-12T00:51:16Z leo2007 quit (Ping timeout: 240 seconds) 2014-05-12T00:51:17Z samskulls quit (Ping timeout: 240 seconds) 2014-05-12T00:51:17Z nicdev quit (Read error: Connection reset by peer) 2014-05-12T00:51:18Z jsnell_ quit (Ping timeout: 240 seconds) 2014-05-12T00:51:19Z redline6561 quit (Ping timeout: 240 seconds) 2014-05-12T00:52:18Z yauz quit (Ping timeout: 240 seconds) 2014-05-12T00:52:24Z yauz joined #sbcl 2014-05-12T01:05:26Z eudoxia quit (Quit: leaving) 2014-05-12T01:28:59Z kanru` quit (Ping timeout: 250 seconds) 2014-05-12T01:46:00Z LiamH joined #sbcl 2014-05-12T01:49:09Z scymtym__ joined #sbcl 2014-05-12T01:49:11Z drmeiste_ joined #sbcl 2014-05-12T01:49:55Z DGASAU` joined #sbcl 2014-05-12T01:51:16Z drmeister quit (Read error: Connection reset by peer) 2014-05-12T01:51:17Z tmh_ quit (Ping timeout: 240 seconds) 2014-05-12T01:51:18Z jsnell quit (Ping timeout: 240 seconds) 2014-05-12T01:51:19Z _8hzp joined #sbcl 2014-05-12T01:51:19Z DGASAU quit (Ping timeout: 240 seconds) 2014-05-12T01:52:30Z PuercoPop quit (Ping timeout: 276 seconds) 2014-05-12T01:52:32Z scymtym_ quit (Ping timeout: 276 seconds) 2014-05-12T01:52:34Z jsnell_ joined #sbcl 2014-05-12T01:53:55Z hzp quit (Ping timeout: 240 seconds) 2014-05-12T01:55:17Z PuercoPop joined #sbcl 2014-05-12T01:56:11Z tmh_ joined #sbcl 2014-05-12T01:58:53Z ASau` joined #sbcl 2014-05-12T02:02:35Z ASau quit (Ping timeout: 265 seconds) 2014-05-12T02:39:23Z christoph_debian quit (Ping timeout: 255 seconds) 2014-05-12T02:53:47Z christoph_debian joined #sbcl 2014-05-12T03:02:40Z yacks joined #sbcl 2014-05-12T03:07:07Z drmeiste_ is now known as drmeister 2014-05-12T03:13:48Z LiamH quit (Quit: Leaving.) 2014-05-12T03:23:07Z drmeister quit (Remote host closed the connection) 2014-05-12T03:27:21Z attila_lendvai joined #sbcl 2014-05-12T03:35:21Z drmeister joined #sbcl 2014-05-12T04:16:51Z psilord joined #sbcl 2014-05-12T04:58:41Z yacks quit (Ping timeout: 252 seconds) 2014-05-12T05:07:00Z oleo quit (Quit: Leaving) 2014-05-12T05:16:43Z c4h joined #sbcl 2014-05-12T05:30:57Z leo2007 joined #sbcl 2014-05-12T05:43:20Z pranavrc joined #sbcl 2014-05-12T05:43:20Z pranavrc quit (Changing host) 2014-05-12T05:43:20Z pranavrc joined #sbcl 2014-05-12T06:00:27Z Krystof joined #sbcl 2014-05-12T06:00:27Z ChanServ has set mode +o Krystof 2014-05-12T06:02:14Z Krystof left #sbcl 2014-05-12T06:02:17Z yacks joined #sbcl 2014-05-12T06:10:52Z c4h quit (Quit: quit) 2014-05-12T06:10:59Z c4h joined #sbcl 2014-05-12T06:16:41Z slyrus quit (Ping timeout: 252 seconds) 2014-05-12T06:25:52Z slyrus joined #sbcl 2014-05-12T06:30:22Z yacks quit (Remote host closed the connection) 2014-05-12T06:39:48Z mega1 joined #sbcl 2014-05-12T06:50:50Z pranavrc_ joined #sbcl 2014-05-12T06:51:50Z pranavrc quit (Ping timeout: 255 seconds) 2014-05-12T06:58:38Z drmeister quit (Remote host closed the connection) 2014-05-12T06:58:44Z zRecursive left #sbcl 2014-05-12T06:59:55Z Cymew joined #sbcl 2014-05-12T07:20:41Z prxq joined #sbcl 2014-05-12T07:32:37Z angavrilov joined #sbcl 2014-05-12T07:57:46Z ASau` quit (Ping timeout: 258 seconds) 2014-05-12T08:18:00Z jdz joined #sbcl 2014-05-12T08:18:29Z pranavrc joined #sbcl 2014-05-12T08:18:41Z pranavrc quit (Changing host) 2014-05-12T08:18:42Z pranavrc joined #sbcl 2014-05-12T08:20:33Z pranavrc_ quit (Ping timeout: 265 seconds) 2014-05-12T08:42:18Z Bike quit (Ping timeout: 265 seconds) 2014-05-12T08:47:10Z mega1 quit (Remote host closed the connection) 2014-05-12T08:47:15Z mega1` joined #sbcl 2014-05-12T08:52:09Z fridim_ joined #sbcl 2014-05-12T08:52:44Z Shinmera joined #sbcl 2014-05-12T08:59:37Z drmeister joined #sbcl 2014-05-12T09:01:49Z drmeister quit (Read error: Connection reset by peer) 2014-05-12T09:01:55Z drmeiste_ joined #sbcl 2014-05-12T09:07:11Z DGASAU` is now known as DGASAU 2014-05-12T09:10:51Z drmeister joined #sbcl 2014-05-12T09:11:00Z drmeiste_ quit (Read error: Connection reset by peer) 2014-05-12T09:21:24Z c4h quit (Quit: quit) 2014-05-12T09:26:48Z drmeiste_ joined #sbcl 2014-05-12T09:27:13Z drmeister quit (Read error: Connection reset by peer) 2014-05-12T09:37:42Z drmeiste_ quit (Read error: Connection reset by peer) 2014-05-12T09:37:49Z drmeister joined #sbcl 2014-05-12T09:44:00Z drmeister quit (Read error: Connection reset by peer) 2014-05-12T09:44:29Z drmeister joined #sbcl 2014-05-12T09:46:34Z drmeister quit (Read error: Connection reset by peer) 2014-05-12T09:46:39Z drmeiste_ joined #sbcl 2014-05-12T09:49:45Z drmeister joined #sbcl 2014-05-12T09:52:25Z drmeiste_ quit (Ping timeout: 276 seconds) 2014-05-12T09:55:07Z drmeister quit (Read error: Connection reset by peer) 2014-05-12T09:55:37Z drmeister joined #sbcl 2014-05-12T09:56:46Z drmeister quit (Read error: Connection reset by peer) 2014-05-12T09:57:24Z drmeister joined #sbcl 2014-05-12T10:00:52Z drmeiste_ joined #sbcl 2014-05-12T10:01:12Z drmeister quit (Read error: Connection reset by peer) 2014-05-12T10:08:01Z drmeister joined #sbcl 2014-05-12T10:08:38Z drmeiste_ quit (Read error: Connection reset by peer) 2014-05-12T10:11:11Z drmeister quit (Read error: Connection reset by peer) 2014-05-12T10:12:01Z drmeister joined #sbcl 2014-05-12T10:27:54Z attila_lendvai quit (Quit: Leaving.) 2014-05-12T10:34:46Z attila_lendvai joined #sbcl 2014-05-12T10:34:46Z attila_lendvai quit (Changing host) 2014-05-12T10:34:46Z attila_lendvai joined #sbcl 2014-05-12T10:36:13Z attila_lendvai quit (Client Quit) 2014-05-12T10:37:08Z drmeiste_ joined #sbcl 2014-05-12T10:38:19Z drmeister quit (Ping timeout: 240 seconds) 2014-05-12T10:44:01Z drmeister joined #sbcl 2014-05-12T10:44:30Z drmeiste_ quit (Read error: Connection reset by peer) 2014-05-12T10:49:24Z drmeister quit (Read error: Connection reset by peer) 2014-05-12T10:49:24Z drmeiste_ joined #sbcl 2014-05-12T10:54:20Z drmeiste_ quit (Read error: Connection reset by peer) 2014-05-12T10:54:56Z drmeister joined #sbcl 2014-05-12T10:57:31Z drmeister quit (Read error: Connection reset by peer) 2014-05-12T10:58:06Z drmeister joined #sbcl 2014-05-12T11:07:23Z drmeiste_ joined #sbcl 2014-05-12T11:09:07Z drmeister quit (Ping timeout: 276 seconds) 2014-05-12T11:12:40Z drmeiste_ quit (Read error: Connection reset by peer) 2014-05-12T11:12:46Z drmeister joined #sbcl 2014-05-12T11:14:58Z scymtym__ quit (Ping timeout: 240 seconds) 2014-05-12T11:16:19Z drmeiste_ joined #sbcl 2014-05-12T11:17:01Z drmeister quit (Read error: Connection reset by peer) 2014-05-12T11:19:17Z drmeiste_ quit (Read error: Connection reset by peer) 2014-05-12T11:19:55Z drmeister joined #sbcl 2014-05-12T11:21:45Z drmeister quit (Read error: Connection reset by peer) 2014-05-12T11:21:51Z drmeiste_ joined #sbcl 2014-05-12T11:24:32Z drmeiste_ quit (Read error: Connection reset by peer) 2014-05-12T11:25:18Z drmeister joined #sbcl 2014-05-12T12:02:31Z drmeister quit (Read error: Connection reset by peer) 2014-05-12T12:02:39Z drmeiste_ joined #sbcl 2014-05-12T12:25:51Z drmeister joined #sbcl 2014-05-12T12:27:07Z drmeiste_ quit (Ping timeout: 240 seconds) 2014-05-12T12:28:51Z drmeiste_ joined #sbcl 2014-05-12T12:29:55Z drmeister quit (Read error: Connection reset by peer) 2014-05-12T12:43:46Z prxq quit (Remote host closed the connection) 2014-05-12T12:44:06Z prxq joined #sbcl 2014-05-12T12:58:42Z psilord quit (Quit: Leaving.) 2014-05-12T13:15:06Z kanru` joined #sbcl 2014-05-12T13:16:29Z eudoxia joined #sbcl 2014-05-12T13:17:22Z pranavrc quit 2014-05-12T13:19:25Z drmeiste_ quit (Remote host closed the connection) 2014-05-12T13:25:08Z nyef joined #sbcl 2014-05-12T13:25:12Z oleo joined #sbcl 2014-05-12T13:26:17Z redline6561_ is now known as redline6561 2014-05-12T13:29:33Z nyef: G'morning all. 2014-05-12T13:33:54Z drmeister joined #sbcl 2014-05-12T13:34:48Z oleo: morning 2014-05-12T13:35:59Z drmeister quit (Read error: Connection reset by peer) 2014-05-12T13:38:27Z segv- joined #sbcl 2014-05-12T13:38:48Z drmeister joined #sbcl 2014-05-12T13:39:54Z kanru`: morning 2014-05-12T13:45:39Z ams: morning ... i think 2014-05-12T13:55:08Z kanru`: successfully built sbcl-arm with modified qemu \o/ 2014-05-12T13:55:38Z fridim__ joined #sbcl 2014-05-12T13:56:22Z kanru`: nyef: what linux kernel do you use on real hardware? 2014-05-12T13:56:57Z fridim_ quit (Ping timeout: 265 seconds) 2014-05-12T13:59:12Z nyef: kanru`: Linux raspberrypi 3.6.11+ #371 PREEMPT Thu Feb 7 16:31:35 GMT 2013 armv6l GNU/Linux 2014-05-12T14:00:28Z drmeister quit (Read error: Connection reset by peer) 2014-05-12T14:10:16Z drmeister joined #sbcl 2014-05-12T14:10:19Z kanru`: hmm, I wonder why 0xe7f001f0 is SIGTRAP instead of SIGILL.. couldn't find any reference in kernel 2014-05-12T14:11:35Z nyef: Finding references on ANY of this stuff isn't easy. 2014-05-12T14:11:55Z nyef: I got blindsided by the switch from OABI to EABI no longer stashing the syscall number in the SWI code. 2014-05-12T14:13:01Z nyef: I'd actually be a lot happier if I knew that the breakpoint trap was conditional, but I suspect that we'd be paying the kernel round-trip anyway because it's an undefined instruction, which doesn't do us much good. 2014-05-12T14:13:46Z Krystof joined #sbcl 2014-05-12T14:13:46Z ChanServ has set mode +o Krystof 2014-05-12T14:13:49Z nyef: (Conditional in-line trap with the ability to put parameters in there? Yes please.) 2014-05-12T14:14:43Z Krystof: stupid IRC client 2014-05-12T14:14:47Z Krystof: good afternoon 2014-05-12T14:18:10Z nyef: Hello Krystof. 2014-05-12T14:19:20Z drmeiste_ joined #sbcl 2014-05-12T14:22:28Z drmeister quit (Ping timeout: 245 seconds) 2014-05-12T14:25:15Z loke__ joined #sbcl 2014-05-12T14:30:29Z drmeiste_ quit (Remote host closed the connection) 2014-05-12T14:34:33Z drmeister joined #sbcl 2014-05-12T14:40:17Z kanru`: ahha, find it. It is defined in ptrace.c arm_break_hook. .instr_mask = 0x0fffffff, .instr_val = 0x07f001f0 2014-05-12T14:46:49Z slyrus quit (Ping timeout: 252 seconds) 2014-05-12T14:58:33Z drmeister quit (Read error: Connection reset by peer) 2014-05-12T14:58:49Z drmeister joined #sbcl 2014-05-12T15:04:21Z nyef: Interesting. So does it even fire off a trap if the condition is false? 2014-05-12T15:10:51Z kanru`: there are many other hooks, some just do nothing. if neither is matched it fires a SIGILL 2014-05-12T15:24:19Z eudoxia quit (Quit: leaving) 2014-05-12T15:27:36Z nyef: My question is, does the CPU even invoke the undefined-instruction trap if it's in that space and the condition is false? 2014-05-12T15:29:47Z jdz quit (Quit: Leaving...) 2014-05-12T15:43:20Z prxq quit (Remote host closed the connection) 2014-05-12T15:52:02Z pkhuong: there's a simple way to find out (: 2014-05-12T15:52:48Z kanru`: nyef: oh, do you mean the condition bits? Which I'm not sure. The kernel source code says any instruction that match the permanently undefined encoding: x7FxxxFx will trap. But most kernel code pass AL as I greped 2014-05-12T15:54:37Z nyef: That's only after the CPU itself traps, isn't it? So if the CPU evaluates the condition bits to determine if it should trap or not... 2014-05-12T15:54:58Z prxq joined #sbcl 2014-05-12T15:54:58Z prxq quit (Client Quit) 2014-05-12T15:59:16Z prxq joined #sbcl 2014-05-12T16:01:53Z prxq quit (Remote host closed the connection) 2014-05-12T16:02:30Z prxq joined #sbcl 2014-05-12T16:02:33Z prxq_ joined #sbcl 2014-05-12T16:02:33Z prxq quit (Remote host closed the connection) 2014-05-12T16:02:45Z prxq_ quit (Remote host closed the connection) 2014-05-12T16:07:29Z cmack``` is now known as cmack 2014-05-12T16:08:22Z eudoxia joined #sbcl 2014-05-12T16:10:17Z kanru`: so the ARM reference manual writes "If an UNDEFINED instruction fails a condition check in ARMv7-M, the instruction behaves as a NOP and does not cause an exception." 2014-05-12T16:11:30Z kanru`: I guess you could try it on real hardware (: 2014-05-12T16:17:38Z nyef: That sounds like it's specific to ARMv7-M. 2014-05-12T16:18:13Z nyef: I'm not seeing corresponding language in my (pre-v7) copy of the ARM ARM. 2014-05-12T16:18:36Z krzysz00 joined #sbcl 2014-05-12T16:20:56Z stassats joined #sbcl 2014-05-12T16:21:16Z stassats: arm dx-lists are in 2014-05-12T16:21:29Z Bike joined #sbcl 2014-05-12T16:25:37Z stassats: is armv5 the lowest target? 2014-05-12T16:27:28Z kanru`: The ARMv7-A-R ARM writes "The conditional execution rules described in Conditional execution on page A8-288 apply to all instructions. This includes undefined instructions and ot her instructions that would cause entry to the Undefined Instruction exception." 2014-05-12T16:35:02Z stassats wanted to use sign-extending instructions 2014-05-12T16:37:29Z krzysz00 quit (Ping timeout: 264 seconds) 2014-05-12T16:39:07Z krzysz00 joined #sbcl 2014-05-12T16:49:59Z stassats: and i get some contrib failures, didn't wait enough before committing, sigh 2014-05-12T16:50:07Z stassats: that's what slow targets are causing! 2014-05-12T16:56:00Z stassats: and they do not fail anymore, even worse 2014-05-12T16:56:58Z hlavaty quit (Read error: Connection reset by peer) 2014-05-12T16:57:10Z hlavaty joined #sbcl 2014-05-12T17:04:52Z hlavaty quit (Read error: Connection reset by peer) 2014-05-12T17:05:05Z hlavaty joined #sbcl 2014-05-12T17:08:01Z krzysz00 quit (Ping timeout: 250 seconds) 2014-05-12T17:09:04Z attila_lendvai joined #sbcl 2014-05-12T17:09:04Z attila_lendvai quit (Changing host) 2014-05-12T17:09:04Z attila_lendvai joined #sbcl 2014-05-12T17:09:47Z krzysz00 joined #sbcl 2014-05-12T17:14:27Z mega1`` joined #sbcl 2014-05-12T17:14:43Z _8hzp quit (Ping timeout: 240 seconds) 2014-05-12T17:16:26Z mega1` quit (Ping timeout: 255 seconds) 2014-05-12T17:19:37Z drmeiste_ joined #sbcl 2014-05-12T17:23:11Z drmeister quit (Ping timeout: 255 seconds) 2014-05-12T17:30:27Z eudoxia quit (Quit: leaving) 2014-05-12T17:33:53Z prxq joined #sbcl 2014-05-12T17:37:14Z attila_lendvai quit (Quit: Leaving.) 2014-05-12T17:39:02Z hzp joined #sbcl 2014-05-12T17:40:48Z oleo quit (Ping timeout: 245 seconds) 2014-05-12T17:41:08Z oleo joined #sbcl 2014-05-12T17:50:31Z stassats: ldb bactraces causing another memory fault, the worst kind of fault 2014-05-12T18:02:11Z nyef: stassats: Currently, the lowest target we have tested is ARMv6 with VFP (possibly VFPv2). We certainly seem to have the instruction definitions for ARMv6, and we might be using some non-ARMv5 instructions somewher.e 2014-05-12T18:04:57Z stassats: i have a memory fault and it's the same address as TRIGGER 2014-05-12T18:04:59Z stassats: what is trigger? 2014-05-12T18:05:11Z stassats: it's close to ALLOC, which, i assume is the allocation pointer 2014-05-12T18:07:56Z krzysz00: What's the Right Way (tm) to read one of the files in output/ into a global? (The obvious top-level `(with-open-file ... (defparameter ... (read ...)))` breaks the build) 2014-05-12T18:07:56Z minion: krzysz00, memo from Krystof: why do you say char-decomposition is never called? It's used in implementing normalization forms 2014-05-12T18:09:05Z stassats: (defparameter *x* (with-open-file ...)) would be better 2014-05-12T18:09:11Z nyef: trigger sounds like it might be the GC trigger. 2014-05-12T18:09:23Z krzysz00: Krystof: Must have somehow mentioned the wrong function. I meant that normalize-string is never called anywhere or exported to the user 2014-05-12T18:09:27Z stassats: nyef: it started happening after dxing lists 2014-05-12T18:09:41Z krzysz00: stassats: Thanks. I'll try that form after lunch 2014-05-12T18:10:25Z stassats: if it's dumpable during cross-compilation, (defparameter *x* #.(with-open-file ...)) would be even better 2014-05-12T18:11:53Z krzysz00: Both files are just alists of interesting exceptions. 2014-05-12T18:11:59Z nyef: Why did you change the definition of DYNAMIC-USAGE? 2014-05-12T18:12:09Z stassats: it was consing 2014-05-12T18:12:31Z nyef: Why was it consing? 2014-05-12T18:12:55Z stassats: calling generic- 2014-05-12T18:13:06Z nyef: For that matter, what does that have to do with stack-allocatable-lists? 2014-05-12T18:13:12Z stassats: TIME still conses, but now 32 bytes instead of 80 2014-05-12T18:13:26Z stassats: nyef: there is a test which tests that allocating dx lists does not cons 2014-05-12T18:13:33Z stassats: that did not fix that test, though 2014-05-12T18:13:58Z nyef: A number of the tests are semi-broken when it comes to D-X stuff. 2014-05-12T18:14:24Z stassats: can you see anything wrong the dx list vops? i'm at bit of a loss 2014-05-12T18:17:07Z nyef: What's this bit with a temp register in align-csp? 2014-05-12T18:17:23Z stassats: no reg_ZERO 2014-05-12T18:17:39Z nyef: You have reg_NULL, though. 2014-05-12T18:17:51Z stassats: would that stack like to be nil-filled? 2014-05-12T18:19:01Z stassats: i don't suppose it's causing my problems 2014-05-12T18:19:05Z nyef: The control stack? My best guess here is that it gets zeroed because it's an easy way to reduce conservatism by clearing a stack slot that's known to be dead. 2014-05-12T18:19:19Z nyef: No, it shouldn't be causing issues... 2014-05-12T18:19:40Z stassats: it mostly works, just not always 2014-05-12T18:20:49Z stassats: the c-stack grows upwards, doesn't it? 2014-05-12T18:20:58Z nyef: Have a look at listify-rest-args in call.lisp. 2014-05-12T18:21:33Z nyef: More the point, have a look at the delta, with a focus on things that changed, but probably shouldn't have. 2014-05-12T18:21:53Z nyef: Hrm, no, that might not be it... 2014-05-12T18:21:55Z stassats: move result dst? 2014-05-12T18:22:00Z nyef: C-stack grows downwards. 2014-05-12T18:22:13Z nyef: You switched result and dst? 2014-05-12T18:22:33Z stassats: well, i first switched it one leg, then it caused me problems, and i just switched it in the second leg 2014-05-12T18:22:45Z stassats: inadvertently the first time 2014-05-12T18:23:05Z stassats: instead of doing s/// 2014-05-12T18:23:29Z stassats: i meant control stack, not alien stack 2014-05-12T18:23:37Z nyef: Control stack grows upwards. 2014-05-12T18:24:10Z stassats: ok, it wouldn't be working it all if it were the opposite 2014-05-12T18:24:51Z stassats: i'll disable the stack-allocatable-lists feature and try again 2014-05-12T18:24:59Z nyef: You missed a trick in alloc.lisp: you're masking in the lowtag separately, but the alloc size is aligned, so you can cover it in the composite-immediate. 2014-05-12T18:25:01Z stassats: maybe the vops got broken for the non-dx case too 2014-05-12T18:25:34Z stassats: yeah, i noticed that, but didn't bother 2014-05-12T18:25:43Z nyef: Oh, my bad, two separate things. 2014-05-12T18:26:11Z stassats: ah, yes, that's why i didn't bother 2014-05-12T18:26:31Z stassats: the stack end doesn't need to be tagged 2014-05-12T18:26:40Z stassats: can't be tagged, rather 2014-05-12T18:27:59Z stassats: what about pa? does it play well with dx? 2014-05-12T18:28:19Z nyef: It should. 2014-05-12T18:28:21Z stassats loves incomprehensible for outsiders acronyms 2014-05-12T18:28:43Z stassats: i'm reusing pa-flag for the temporary? 2014-05-12T18:29:13Z nyef: Have a look at the implementation of P-A: It only needs the flag upon departure. 2014-05-12T18:29:45Z stassats: right 2014-05-12T18:32:33Z nyef: Wasn't there some bug with rest-arg processing? 2014-05-12T18:33:44Z stassats: you need a lot of values to trigger it 2014-05-12T18:33:59Z nyef: Hrm... Okay. 2014-05-12T18:34:00Z stassats: maybe it's less on arm 2014-05-12T18:34:13Z stassats: so much that it wasn't noticed for 10 (more?) years 2014-05-12T18:34:47Z nyef: We've had a few things like that where it happened infrequently enough that nobody dug into it. 2014-05-12T18:34:49Z stassats: i'll check anyway 2014-05-12T18:35:53Z stassats: it's only 9 on arm, but it would break non-dx cases too 2014-05-12T18:36:47Z stassats: it was 10 on x86-64 too 2014-05-12T18:36:58Z stassats: 18 on ppc 2014-05-12T18:38:05Z stassats: i don't even have a test-case 2014-05-12T18:38:33Z stassats: it files when compiling sb-concurrency, but no idea where 2014-05-12T18:38:50Z Hydan joined #sbcl 2014-05-12T18:40:44Z nyef: I'm not seeing anything obvious with the stack-allocatable-lists stuff, I'm afraid. 2014-05-12T18:41:04Z stassats: will be hunting for a test-case then 2014-05-12T18:41:16Z nyef: You're sure it's these changes, and not a random thing that only just started failing occasionally? 2014-05-12T18:41:38Z stassats: yes, it doesn't fail without dx-lists feature, just tested 2014-05-12T18:42:29Z stassats: the disassembler can't disassemble LDR/STR with register offsets 2014-05-12T18:43:55Z Intensity quit (Remote host closed the connection) 2014-05-12T18:44:42Z nyef: Did I miss that case outright, is it a bug in what I wrote, or is it something that broke in the forward-port? 2014-05-12T18:44:50Z nyef: I know that I didn't really complete the disassembler. 2014-05-12T18:45:17Z stassats: not sure, not looking for it now, though 2014-05-12T18:45:50Z nyef: Fair enough. 2014-05-12T18:47:38Z stassats: how is a gc triggered on cheneygc? 2014-05-12T18:49:02Z Intensity joined #sbcl 2014-05-12T18:49:34Z stassats: a write protected page? 2014-05-12T18:50:42Z pkhuong: stassats: yes. 2014-05-12T18:51:10Z stassats: that's what i get triggered, apparently 2014-05-12T18:51:27Z stassats: doesn't make much sense, though 2014-05-12T18:54:58Z stassats: the fault comes from memcpy, seemingly 2014-05-12T18:55:29Z psilord joined #sbcl 2014-05-12T18:55:55Z stassats: bad stack alignment? 2014-05-12T19:00:20Z Krystof: pkhuong: wow, the comments on your blog are odd 2014-05-12T19:03:43Z stassats: why would memcpy be close to the gc_trigger, though 2014-05-12T19:06:40Z pkhuong: Krystof: very :| 2014-05-12T19:22:35Z drmeiste_ quit (Remote host closed the connection) 2014-05-12T19:33:02Z Krystof: I was wondering whether I should wok out how to enable comments on my blog, but I think I've just got an answer 2014-05-12T19:33:44Z pkhuong: there's interesting stuff from time to time. bust mostly, they email. 2014-05-12T19:35:13Z drmeister joined #sbcl 2014-05-12T19:35:55Z scymtym_ joined #sbcl 2014-05-12T19:41:39Z mega1``` joined #sbcl 2014-05-12T19:43:27Z mega1`` quit (Ping timeout: 252 seconds) 2014-05-12T19:45:41Z scymtym_: does the result (or maybe the precision of the result) of SB-GMP:MPZ-REMOVE depend on the platform? 2014-05-12T19:51:23Z fridim__ quit (Ping timeout: 250 seconds) 2014-05-12T19:51:47Z stassats: the problem seems to be in %listify-rest-args 2014-05-12T19:53:41Z nyef: Determined how? 2014-05-12T19:54:08Z nyef: And are we entertaining the possibility that the problem is elsewhere, and merely tickled by what's going on in %listify-rest-args? 2014-05-12T19:54:32Z stassats: that is possible 2014-05-12T19:55:12Z scymtym_: the unexpected result from MPZ-REMOVE on x86 is in https://ci.cor-lab.org/job/sbcl-master/441/featureset=1,label=ubuntu_trusty_32bit/consoleFull 2014-05-12T19:55:43Z stassats: sb-gmp appears to be quite fragile 2014-05-12T19:57:55Z scymtym_: would it make sense to check whether a C program on that machine produces the same result? 2014-05-12T19:58:04Z nyef: And the fault is triggered by memcpy()? 2014-05-12T19:58:56Z nyef: ... which means that we're falling into that obnoxious hole in the trigger logic on cheneygc, to start with. 2014-05-12T19:59:21Z nyef: Is it a read fault or a write fault? 2014-05-12T19:59:27Z stassats: the penultimate digit has 5, looks like a copy of the last digit 2014-05-12T20:14:31Z scymtym_: a C program produces 25465851649641990661621093750 on that machine 2014-05-12T20:15:00Z fridim_ joined #sbcl 2014-05-12T20:16:06Z stassats: so, the expected and produced values have extra "5" words appended 2014-05-12T20:20:01Z stassats: i have a different value again 2014-05-12T20:20:38Z stassats: including an "error : munmap_chunk: invalid pointer: .." 2014-05-12T20:22:42Z angavrilov quit (Remote host closed the connection) 2014-05-12T20:23:43Z stassats: uisng with-gmp-mpz-results produces the C value above 2014-05-12T20:24:03Z stassats: i wonder what is the difference between with-gmp-mpz-results and with-mpz-results 2014-05-12T20:31:01Z stassats: scymtym_: i opened a ticket on sb-gmp, once sfrank fixes it, i'll pull it into sbcl 2014-05-12T20:35:14Z Bike quit (Ping timeout: 258 seconds) 2014-05-12T20:36:51Z Bike joined #sbcl 2014-05-12T20:40:19Z krzysz00 quit (Ping timeout: 240 seconds) 2014-05-12T20:42:26Z stassats: the output from sb-qshow seems to be corrupted 2014-05-12T20:42:28Z krzysz00 joined #sbcl 2014-05-12T20:45:39Z stassats: so, the memory fault is not during gc 2014-05-12T20:49:34Z stassats: so, it's during compilation, so probably it's coming from streams 2014-05-12T21:06:08Z scymtym_: stassats: thanks 2014-05-12T21:12:49Z Hydan quit (Quit: Textual IRC Client: www.textualapp.com) 2014-05-12T21:16:11Z stassats: why is the number stack called that way? 2014-05-12T21:16:44Z nyef: Called what way? 2014-05-12T21:16:57Z stassats: named 2014-05-12T21:17:09Z nyef: You mean "why is it called a NUMBER stack"? 2014-05-12T21:17:18Z stassats: i do 2014-05-12T21:17:29Z Krystof: it's because it has NUMBERs stacked up 2014-05-12T21:17:33Z Krystof: or down 2014-05-12T21:17:45Z Krystof: sideways? 2014-05-12T21:17:47Z stassats: what kind of numbers? 2014-05-12T21:18:01Z Krystof: (I don't really know) 2014-05-12T21:18:14Z mega1``` quit (Ping timeout: 240 seconds) 2014-05-12T21:18:45Z nyef: We're talking very far back in the history of CMUCL, possibly even before the advent of the new compiler (python). 2014-05-12T21:18:57Z stassats: anyway, i change +number-stack-allocation-granularity+ to 8 2014-05-12T21:19:00Z stassats: now waiting 2014-05-12T21:19:18Z stassats: how many stacks are there? number, control, alien? 2014-05-12T21:21:25Z stassats: and which are scanned? 2014-05-12T21:22:36Z stassats: that didn't help 2014-05-12T21:22:40Z nyef: Control, number/alien, binding. 2014-05-12T21:22:57Z nyef: I think that that's it, but I'm not completely certain. 2014-05-12T21:23:36Z stassats: maybe i need to align it properly too 2014-05-12T21:27:03Z stassats: stack allocation happens on the control stack, the number stack shouldn't matter 2014-05-12T21:29:30Z nyef: The number stack should really be doubleword aligned anyway, IIRC. 2014-05-12T21:33:49Z stassats: aligning didn't go past cold-init 2014-05-12T21:36:05Z drmeister quit (Remote host closed the connection) 2014-05-12T21:39:17Z Bike quit (Ping timeout: 264 seconds) 2014-05-12T21:41:02Z Bike joined #sbcl 2014-05-12T21:41:05Z fridim_ quit (Ping timeout: 264 seconds) 2014-05-12T21:45:21Z nyef quit (Quit: Back in an hour or so.) 2014-05-12T21:45:21Z drmeister joined #sbcl 2014-05-12T21:49:44Z stassats: i don't really know how to make it aligned 2014-05-12T21:59:54Z drmeister quit (Remote host closed the connection) 2014-05-12T22:03:37Z ASau joined #sbcl 2014-05-12T22:03:48Z psilord quit (Quit: Leaving.) 2014-05-12T22:14:05Z stassats: i can't just shave of the low bits, because deallocating won't restore them? 2014-05-12T22:14:13Z stassats: so it probably has to be always aligned 2014-05-12T22:14:59Z eudoxia joined #sbcl 2014-05-12T22:16:53Z nicdev` is now known as nicdev 2014-05-12T22:18:51Z drmeister joined #sbcl 2014-05-12T22:30:49Z Shinmera quit (Quit: ZzzZZzzZ) 2014-05-12T22:40:38Z krzysz00_ joined #sbcl 2014-05-12T22:41:19Z drmeister quit (Read error: Connection reset by peer) 2014-05-12T22:43:56Z krzysz00 quit (Ping timeout: 252 seconds) 2014-05-12T23:07:46Z ASau` joined #sbcl 2014-05-12T23:11:41Z ASau quit (Ping timeout: 264 seconds) 2014-05-12T23:14:19Z ASau` is now known as ASau 2014-05-12T23:19:02Z psilord joined #sbcl 2014-05-12T23:23:54Z drmeister joined #sbcl 2014-05-12T23:34:24Z drmeister quit (Remote host closed the connection) 2014-05-12T23:42:57Z zRecursive joined #sbcl 2014-05-12T23:46:51Z drmeister joined #sbcl 2014-05-12T23:49:12Z stassats: after properly aligning the stack, it still fails 2014-05-13T00:23:55Z LiamH joined #sbcl 2014-05-13T00:54:17Z kanru` quit (Ping timeout: 250 seconds) 2014-05-13T01:32:11Z prxq_ joined #sbcl 2014-05-13T01:35:46Z prxq quit (Ping timeout: 258 seconds) 2014-05-13T01:59:11Z drmeister quit (Ping timeout: 252 seconds) 2014-05-13T02:17:22Z kanru quit (Remote host closed the connection) 2014-05-13T02:18:50Z kanru joined #sbcl 2014-05-13T02:36:10Z eudoxia quit (Quit: leaving) 2014-05-13T02:39:20Z christoph_debian quit (Ping timeout: 252 seconds) 2014-05-13T02:39:42Z edgar-rft quit (Quit: mental process stopped because conversation closed) 2014-05-13T02:42:17Z stassats quit (Ping timeout: 264 seconds) 2014-05-13T02:51:59Z scymtym_ quit (Ping timeout: 255 seconds) 2014-05-13T02:52:13Z christoph_debian joined #sbcl 2014-05-13T02:57:22Z attila_lendvai joined #sbcl 2014-05-13T02:57:22Z attila_lendvai quit (Changing host) 2014-05-13T02:57:22Z attila_lendvai joined #sbcl 2014-05-13T02:59:41Z asedeno quit (Ping timeout: 252 seconds) 2014-05-13T03:02:01Z asedeno joined #sbcl 2014-05-13T03:04:54Z LiamH quit (Quit: Leaving.) 2014-05-13T03:49:29Z krzysz00_ quit (Ping timeout: 264 seconds) 2014-05-13T03:50:54Z krzysz00 joined #sbcl 2014-05-13T04:12:57Z yacks joined #sbcl 2014-05-13T04:19:31Z krzysz00 quit (Ping timeout: 240 seconds) 2014-05-13T04:21:30Z krzysz00 joined #sbcl 2014-05-13T04:27:53Z yacks quit (Ping timeout: 245 seconds) 2014-05-13T04:35:48Z michael_lee joined #sbcl 2014-05-13T05:05:03Z ltbarcly joined #sbcl 2014-05-13T05:06:45Z oleo quit (Quit: Leaving) 2014-05-13T05:09:19Z ltbarcly quit (Client Quit) 2014-05-13T05:21:54Z ltbarcly joined #sbcl 2014-05-13T05:52:19Z pranavrc joined #sbcl 2014-05-13T06:06:53Z tmh_ quit (Ping timeout: 264 seconds) 2014-05-13T06:07:28Z tmh_ joined #sbcl 2014-05-13T06:07:28Z tmh_ quit (Changing host) 2014-05-13T06:07:28Z tmh_ joined #sbcl 2014-05-13T06:11:33Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-13T06:14:36Z attila_lendvai quit (Quit: Leaving.) 2014-05-13T06:23:26Z ltbarcly joined #sbcl 2014-05-13T06:33:14Z drmeister joined #sbcl 2014-05-13T06:35:31Z yacks joined #sbcl 2014-05-13T06:37:45Z drmeister quit (Remote host closed the connection) 2014-05-13T06:47:07Z fridim_ joined #sbcl 2014-05-13T06:48:10Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-13T07:00:18Z zRecursive left #sbcl 2014-05-13T07:04:43Z PuercoPop quit (Ping timeout: 240 seconds) 2014-05-13T07:07:02Z PuercoPop joined #sbcl 2014-05-13T07:11:37Z angavrilov joined #sbcl 2014-05-13T07:14:48Z ltbarcly joined #sbcl 2014-05-13T07:18:50Z Bike quit (Ping timeout: 255 seconds) 2014-05-13T07:29:51Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-13T07:36:49Z yacks quit (Read error: Connection reset by peer) 2014-05-13T07:37:44Z yacks joined #sbcl 2014-05-13T07:44:14Z prxq_ quit (Remote host closed the connection) 2014-05-13T08:03:18Z ASau quit (Ping timeout: 245 seconds) 2014-05-13T08:07:31Z segv- quit (Ping timeout: 240 seconds) 2014-05-13T08:17:36Z prxq joined #sbcl 2014-05-13T08:26:39Z drmeister joined #sbcl 2014-05-13T08:31:13Z drmeister quit (Ping timeout: 245 seconds) 2014-05-13T08:44:33Z root_empire joined #sbcl 2014-05-13T09:21:54Z prxq quit (Ping timeout: 258 seconds) 2014-05-13T09:48:55Z ltbarcly joined #sbcl 2014-05-13T09:51:10Z mega1 joined #sbcl 2014-05-13T09:58:09Z root_empire quit (Remote host closed the connection) 2014-05-13T09:58:09Z michael_lee quit (Remote host closed the connection) 2014-05-13T09:59:44Z prxq joined #sbcl 2014-05-13T10:09:07Z Shinmera joined #sbcl 2014-05-13T10:55:18Z krzysz00 quit (Ping timeout: 240 seconds) 2014-05-13T10:56:12Z kanru` joined #sbcl 2014-05-13T10:57:22Z krzysz00 joined #sbcl 2014-05-13T11:08:38Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-13T11:26:44Z jdz joined #sbcl 2014-05-13T11:33:55Z hlavaty quit (Read error: Connection reset by peer) 2014-05-13T11:34:15Z hlavaty joined #sbcl 2014-05-13T11:35:53Z edgar-rft joined #sbcl 2014-05-13T12:01:20Z cmack quit (Remote host closed the connection) 2014-05-13T12:03:11Z eudoxia joined #sbcl 2014-05-13T12:03:28Z prxq quit (Ping timeout: 276 seconds) 2014-05-13T12:04:16Z drmeister joined #sbcl 2014-05-13T12:08:38Z drmeister quit (Ping timeout: 255 seconds) 2014-05-13T12:20:38Z krzysz00 quit (Ping timeout: 240 seconds) 2014-05-13T12:34:14Z drmeister joined #sbcl 2014-05-13T12:35:11Z jdz quit (Quit: Leaving...) 2014-05-13T12:37:03Z pranavrc quit 2014-05-13T12:53:11Z krzysz00 joined #sbcl 2014-05-13T12:53:16Z psilord quit (Quit: Leaving.) 2014-05-13T12:57:31Z ltbarcly joined #sbcl 2014-05-13T12:58:59Z stassats joined #sbcl 2014-05-13T13:16:06Z cmack joined #sbcl 2014-05-13T13:22:14Z loke__ quit (Remote host closed the connection) 2014-05-13T13:23:45Z nyef joined #sbcl 2014-05-13T13:24:00Z nyef: G'morning all. 2014-05-13T13:26:14Z drmeister quit (Remote host closed the connection) 2014-05-13T13:28:37Z krzysz00 quit (Ping timeout: 276 seconds) 2014-05-13T13:29:38Z prxq joined #sbcl 2014-05-13T13:29:56Z krzysz00 joined #sbcl 2014-05-13T13:36:06Z oleo joined #sbcl 2014-05-13T13:40:38Z loke__ joined #sbcl 2014-05-13T13:46:25Z ams quit (Remote host closed the connection) 2014-05-13T13:51:39Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-13T13:58:06Z segv- joined #sbcl 2014-05-13T14:09:36Z psilord joined #sbcl 2014-05-13T14:12:59Z stassats: still no idea with dx-lists 2014-05-13T14:13:02Z drmeister joined #sbcl 2014-05-13T14:13:59Z drmeiste_ joined #sbcl 2014-05-13T14:14:28Z drmeister quit (Read error: Connection reset by peer) 2014-05-13T14:19:15Z nyef: Okay, one basic question: Does it still break if you remove :stack-allocatable-lists from ltf? 2014-05-13T14:19:40Z stassats: it only breaks when stack allocating rest-lists is enabled 2014-05-13T14:20:00Z nyef: Hrm. 2014-05-13T14:20:35Z stassats: the stack looks like something around TRUENAME 2014-05-13T14:20:39Z stassats: or probe-file 2014-05-13T14:25:06Z drmeiste_ quit (Read error: Connection reset by peer) 2014-05-13T14:25:19Z stassats: trying with tracing query-file-system 2014-05-13T14:25:25Z drmeister joined #sbcl 2014-05-13T14:28:12Z stassats: it, of course, affect the system so it doesn't crash anymore 2014-05-13T14:28:20Z nyef: Typical, right? 2014-05-13T14:28:28Z stassats: i expected it 2014-05-13T14:28:33Z nyef: And we don't have :encapsulate nil, either, do we? 2014-05-13T14:28:53Z stassats: some tests pertaining to encapsulate fail, but i haven't looked 2014-05-13T14:29:23Z nyef: I might be able to make that go. I've certainly messed about with that part of the debugger before. 2014-05-13T14:30:04Z nyef: Okay, I have the ability to rsync to my RPi again. 2014-05-13T14:30:06Z stassats: there's a lot of calls to query-file-system after compiling a file 2014-05-13T14:31:16Z stassats: it fails reliably at the same place, after compiling both asdf and sb-concurrency's first file finished compiling 2014-05-13T14:31:23Z stassats: if asdf is already compiled, then it doesn't happen 2014-05-13T14:31:30Z stassats: so, it needs some consing 2014-05-13T14:32:19Z stassats: stack allocating lists reduces consing, so it may just push the failure state into failing 2014-05-13T14:32:46Z stassats: but, the gc, according to sb-qshow happens a bit earlier, not just before the failure 2014-05-13T14:36:49Z nyef: So, it survives target-2, but not target-contrib? 2014-05-13T14:36:58Z stassats: some target-contrib 2014-05-13T14:41:26Z rpg joined #sbcl 2014-05-13T14:41:29Z stassats: i just need a reduced test case, but no dice 2014-05-13T14:41:31Z yacks quit (Ping timeout: 250 seconds) 2014-05-13T14:45:33Z drmeister quit (Remote host closed the connection) 2014-05-13T14:48:09Z drmeister joined #sbcl 2014-05-13T14:48:12Z yacks joined #sbcl 2014-05-13T14:54:36Z stassats: but stat doesn't seem to be using memcpy 2014-05-13T14:55:30Z stassats: maybe in the kernel 2014-05-13T14:58:14Z drmeister quit (Remote host closed the connection) 2014-05-13T15:04:07Z eudoxia quit (Quit: leaving) 2014-05-13T15:04:36Z drmeister joined #sbcl 2014-05-13T15:06:05Z attila_lendvai joined #sbcl 2014-05-13T15:06:05Z attila_lendvai quit (Changing host) 2014-05-13T15:06:05Z attila_lendvai joined #sbcl 2014-05-13T15:19:05Z Bike joined #sbcl 2014-05-13T15:19:47Z krzysz00: Is sb-mpfr failing its tests on master for anyone else? 2014-05-13T15:20:22Z stassats: it's because you don't have the library 2014-05-13T15:20:28Z stassats: or the symlink to the library 2014-05-13T15:21:14Z drmeister quit (Remote host closed the connection) 2014-05-13T15:26:54Z krzysz00: That's odd. I have a /usr/lib/x86_64-linux-gnu/libmpfr.so.4 2014-05-13T15:28:15Z stassats: it doesn't like .4 2014-05-13T15:28:40Z nyef: What DOES it like? 2014-05-13T15:28:46Z stassats: .so 2014-05-13T15:29:07Z nyef: So... the development library package? 2014-05-13T15:29:12Z stassats: right 2014-05-13T15:29:17Z krzysz00: IIRC, it liked .4 yesterday ... 2014-05-13T15:29:29Z stassats: there was no sb-mpfr yesterday 2014-05-13T15:30:43Z krzysz00: Ah. 2014-05-13T15:30:58Z krzysz00: I didn't notice that. 2014-05-13T15:35:37Z attila_lendvai quit (Quit: Leaving.) 2014-05-13T15:36:28Z drmeister joined #sbcl 2014-05-13T15:37:38Z krzysz00: Is (char= c (name-char (char-name c)) an identity? If it is, I found a bug that comes up with U+1F514 (the character "BELL" 🔔) 2014-05-13T15:38:06Z krzysz00: I'm just lost on what the right thing to do about the name clash is 2014-05-13T15:38:17Z nyef: What does it collide with? 2014-05-13T15:38:53Z stassats: ASCII control code synonyms 2014-05-13T15:39:07Z nyef: ... but the ASCII code is BEL, not BELL, surely? 2014-05-13T15:40:31Z stassats: the true name, but BELL is a synonym 2014-05-13T15:40:36Z krzysz00: Yes, but we have "Bell" as a synonym for "Bel" in *base-char-name-alist* 2014-05-13T15:41:30Z nyef: Ah. 2014-05-13T15:41:36Z krzysz00: I figure that stripping Unicode "BELL" from the list of named characters as a special case would fix this, but I thought I should check on that solution first 2014-05-13T15:44:39Z cmack` joined #sbcl 2014-05-13T15:46:19Z cmack quit (Ping timeout: 240 seconds) 2014-05-13T15:47:43Z Krystof: I think it would be fine to remove #\Bell as a synonym for #\Bel and see who complains 2014-05-13T15:48:07Z stassats: (cl-unicode:character-named "BELL") => #\Bel 2014-05-13T15:48:43Z Krystof: 1f514 is probably an excitingly recent addition to the character set, though 2014-05-13T15:48:48Z Krystof: what version of unicode is cl-unicode? 2014-05-13T15:48:53Z stassats: cl-unicode uses some old unicode tables 2014-05-13T15:50:40Z stassats: i'll try to update it 2014-05-13T15:52:16Z stassats: the UnicodeData.txt does have BELL as a bell, probably it didn't generate the code from it 2014-05-13T15:53:37Z stassats: deleted the hash-tables.lisp file, and (cl-unicode:character-named "BELL") => #\BELL 2014-05-13T15:54:25Z stassats: so, the build system doesn't notice the updated unicode data files 2014-05-13T16:00:58Z krzysz00: Are the magic numbers in target-char.lisp dependent on how many codepoints there are? (I tried to drop in the 6.3 UnicodeData, added the four new BIDI classes, and the build flopped into ldb) 2014-05-13T16:03:30Z Krystof: right, that's what I meant by understanding the format 2014-05-13T16:03:48Z Krystof: there are some magic numbers in the various character predicates 2014-05-13T16:03:59Z Krystof: it's also possible to overflow the carefully designed field if we're unlucky 2014-05-13T16:04:31Z Krystof: there's some code at the end of ucd.lisp that allows you to check what's going on in the host -- I think some of it might have bit-rotted 2014-05-13T16:04:36Z Krystof: no-one said this was going to be easy :-) 2014-05-13T16:05:53Z stassats: i still don't get how can foreign code fault on dynamic space 2014-05-13T16:06:11Z krzysz00: I'm developing an urge to get out a piece of paper and start sketching out new database designs. 2014-05-13T16:06:48Z Krystof: understand this one first! 2014-05-13T16:06:54Z Krystof: then you won't make the same mistakes 2014-05-13T16:07:00Z Krystof: and the different mistakes will be entertaining 2014-05-13T16:07:58Z stassats: maybe foreign_function_call_active hasn't been cleared 2014-05-13T16:14:54Z krzysz00: Lesson 1: Try to leave more comments than my predecesor :) 2014-05-13T16:17:28Z christoph_debian quit (Ping timeout: 245 seconds) 2014-05-13T16:20:19Z cmack`` joined #sbcl 2014-05-13T16:20:26Z nyef: stassats: Just finished target-contrib on my RPi, failed sb-mpfr and sb-sprof, the latter from a signal 4 while running the tests. 2014-05-13T16:20:52Z stassats: that is with dx-lists? 2014-05-13T16:21:01Z nyef: That's HEAD as of when I started. 2014-05-13T16:21:13Z stassats: "yes" 2014-05-13T16:21:56Z stassats: i have softfp 2014-05-13T16:22:02Z cmack` quit (Ping timeout: 258 seconds) 2014-05-13T16:22:29Z stassats: it shouldn't affect anything 2014-05-13T16:23:57Z stassats: all the static symbols point that it hasn't returned from a call to c 2014-05-13T16:24:52Z nyef: Can you attach with gdb and get a backtrace? 2014-05-13T16:25:05Z stassats: that's the only thing i can do 2014-05-13T16:26:39Z nyef: Umm... And there's one interesting aspect of cheneygc, and that's that it won't claim heap WP violations from alien code, while gencgc will. 2014-05-13T16:27:05Z stassats: i see that, but why is there a violation in the first place? 2014-05-13T16:27:38Z stassats: make-alien should allocate someplace else than ds 2014-05-13T16:29:19Z nyef: Only thing that comes to mind is allocating an object of some sort, pinning it, taking its address, passing that address to an alien routine to initialize it, and somewhere in there being an &REST allocation. 2014-05-13T16:29:43Z stassats: i think &rest allocation is just a catalyst 2014-05-13T16:29:50Z nyef: Align everything just wrong, and it's the alien code that trips the allocation when the &REST list consing is elided. 2014-05-13T16:30:35Z stassats: well, probe-file passes strings 2014-05-13T16:30:39Z nyef: Yeah, that's what I'm thinking, there's some scenario where the reduced consing of &REST lists causes something to not happen... 2014-05-13T16:31:08Z stassats: as well as the structure for lstat 2014-05-13T16:31:46Z nyef: The lstat structure should be malloc()ed, shouldn't it? 2014-05-13T16:31:54Z nyef: Or stack-allocated, either wya. 2014-05-13T16:31:58Z nyef: Err... way. 2014-05-13T16:34:25Z nyef: Hrm. Nothing obvious, but I'm reminded that an awful lot more tests will work better with stack-allocatable-fixed-objects. 2014-05-13T16:34:45Z Krystof: krzysz00: heh. Just imagine what it was like _before_ I wrote the big long comment with ascii art 2014-05-13T16:35:10Z stassats: nyef: that was next, but this thing derailed 2014-05-13T16:36:21Z stassats: wait, it looks like c-strings are in dynamic-space 2014-05-13T16:36:31Z rpg quit (Quit: rpg) 2014-05-13T16:36:34Z nyef: Yup. 2014-05-13T16:37:00Z krzysz00: The big long comment with all the ASCII art is actually pretty helpful. 2014-05-13T16:37:03Z nyef: That'd be the obvious version of the scenario that I outlined. 2014-05-13T16:37:36Z stassats: it is obvious, but i only checked make-alien yesterday and it called malloc, or file streams, allocate-system-memory => mmap 2014-05-13T16:39:02Z stassats: but, it is filled with things, only leaving the trailing 0 byte, maybe the zero byte happens to fall onto the protected page? 2014-05-13T16:39:06Z drmeiste_ joined #sbcl 2014-05-13T16:39:20Z nyef: It'd have to be a string of a very careful length. 2014-05-13T16:39:24Z stassats: or maybe memcpy accesses more than it can chew 2014-05-13T16:39:32Z drmeister quit (Ping timeout: 255 seconds) 2014-05-13T16:39:39Z nyef: ... And is the protected page read-protected or just write-protected? 2014-05-13T16:39:48Z stassats: all protected 2014-05-13T16:40:34Z nyef: Oh, hell. I think I see it. 2014-05-13T16:41:01Z stassats: what about just touching the last byte in output-c-string-function? 2014-05-13T16:41:28Z nyef: No, compare the SPARC and ARM versions of ALLOCATE-VECTOR in src/assembly/target/array.lisp. 2014-05-13T16:41:48Z stassats: but, the scenario with 0 byte can happen, can't it? 2014-05-13T16:42:09Z nyef: Sure it can, but that's not where to fix it. 2014-05-13T16:44:09Z stassats: ok, but another scenario with user code, not touching the penultimate byte? 2014-05-13T16:44:34Z stassats: ok, i see, it straddles the same page 2014-05-13T16:45:50Z nyef: Also note what happens on PPC/cheneygc. There's a REASON why I want to start testing odd platform combinations regularly. (-: 2014-05-13T16:46:33Z stassats: what about just reading it, not writing? 2014-05-13T16:46:49Z stassats: do all arms have read-protection? 2014-05-13T16:47:45Z stassats: it is supposed to be zero-filled, so i supposed it doesn't matter if we write 2014-05-13T16:48:37Z nyef: We might need the write if the GC trigger page skimps on the access protection. 2014-05-13T16:49:00Z stassats: that's a weird bug to encounter 2014-05-13T16:49:27Z nyef: Also note that we have a bit of an issue if someone allocates a really huge (> page-size) vector and passes it to alien code. 2014-05-13T16:49:51Z stassats: gencgc has routines for allocation large objects, doesn't it? 2014-05-13T16:51:02Z nyef: Yes. 2014-05-13T16:51:36Z nyef: But one of the reasons that I did a cheneygc port first is to make sure that we had another popular, easily available cheneygc target. 2014-05-13T17:01:22Z stassats: should it be (storew 0 pa-flag -1) or (storew 0 pa-flag [0])? 2014-05-13T17:02:59Z stassats: i'm leaning towards the former 2014-05-13T17:07:05Z nyef: Yeah, the -1. 2014-05-13T17:07:25Z nyef: And you'll need a proper zero this time. 2014-05-13T17:07:35Z nyef: Not like with the control stack alignment. (-: 2014-05-13T17:07:45Z stassats: that didn't help 2014-05-13T17:08:58Z stassats: trying with the 0 offset 2014-05-13T17:14:15Z stassats: that didn't help either 2014-05-13T17:15:03Z nyef: Hrm. 2014-05-13T17:15:23Z stassats: wait 2014-05-13T17:15:29Z stassats: i did #-gencgc 2014-05-13T17:15:33Z stassats: not #! 2014-05-13T17:15:36Z nyef: Ahh. 2014-05-13T17:15:47Z nyef: So it may yet work? 2014-05-13T17:15:55Z stassats: third time is the charm 2014-05-13T17:16:05Z stassats: the host is gencgc 2014-05-13T17:21:31Z stassats: that did the trick 2014-05-13T17:21:41Z stassats: "yay" 2014-05-13T17:22:19Z christoph_debian joined #sbcl 2014-05-13T17:22:41Z nyef: So, on to more stack-allocatable-random-things? 2014-05-13T17:22:47Z stassats: yep 2014-05-13T17:23:01Z stassats: running the full contrib build first 2014-05-13T17:25:12Z stassats: that was a fun whodunit 2014-05-13T17:27:35Z drmeiste_ quit (Remote host closed the connection) 2014-05-13T17:28:41Z stassats: the C counterpart of foreign-stack-alignment test indicates that GCC word-aligns the stack 2014-05-13T17:29:57Z stassats: ok, no unexpected contrib failures 2014-05-13T17:33:14Z nyef: sb-sprof doesn't use the fun-end-breakpoint noise, does it? 2014-05-13T17:53:48Z krzysz00: Krystof: Since there's only ~2.1k characters in Unicode with any notion of case, would making a case hashtable similar to the composition hashtable be a bad idea in a potential database rewrite? 2014-05-13T17:55:03Z Krystof: I don't know. Upcasing is a fairly frequent operation, unlike composition 2014-05-13T17:55:29Z Krystof: probably not a significant one, but a fixed-size table might be good too 2014-05-13T17:55:46Z stassats: a perfect hashtable? 2014-05-13T17:57:19Z krzysz00: Is hashtable lookup relatively expensive in SBCL? 2014-05-13T17:58:14Z Krystof: hash tables have to be able to cope with arbitrary input, so hash functions are potentially expensive 2014-05-13T17:58:22Z Krystof: they also have to cope with collisions 2014-05-13T17:58:46Z Krystof: a perfect hash table would be appropriate 2014-05-13T17:59:35Z Krystof: assuming that the hash is not too expensive to compute 2014-05-13T17:59:50Z Krystof: what's the highest code point of a caseful character? 2014-05-13T18:03:12Z krzysz00: #x1044F 2014-05-13T18:03:27Z stassats: for now 2014-05-13T18:04:11Z krzysz00: True. 2014-05-13T18:07:26Z Krystof: so too high for just a straightforward array. Fine, well, think about it 2014-05-13T18:08:03Z Krystof: the way that sbcl used to collapse into ldb for me when I messed up upgrading the database was inconsistency between the database and things like lower-case-p 2014-05-13T18:11:40Z krzysz00: Right now it's O(3*aref) -> O(1) to upcase something, a hash table would be O(gethash) -> O(1+prayers) 2014-05-13T18:12:45Z Krystof: a perfect hash table would be computation + 1*aref 2014-05-13T18:13:19Z drmeister joined #sbcl 2014-05-13T18:13:21Z krzysz00: I could probably make uppercase-p fast by making cl-has-case and unicode-has-case flags in something like the current misc section. 2014-05-13T18:19:29Z Bike quit (Ping timeout: 264 seconds) 2014-05-13T18:21:14Z Bike joined #sbcl 2014-05-13T18:21:20Z stassats: looks like stack allocating complexes doesn't get triggered 2014-05-13T18:21:45Z nyef: They'd need to be allocated on the number-stack. 2014-05-13T18:21:52Z mega1` joined #sbcl 2014-05-13T18:21:55Z stassats: on x86-64 2014-05-13T18:22:01Z nyef: Ah. 2014-05-13T18:22:17Z stassats: (complex (the double-float c) c) doesn't (%make-complex (the double-float c) c) does 2014-05-13T18:22:55Z drmeister quit (Remote host closed the connection) 2014-05-13T18:22:57Z stassats: why the number stack? 2014-05-13T18:22:58Z nyef: Yeah,certain types (SAPs, numbers, and so on) get converted back and forth by the compiler so directly that there's no real way to deal with their allocation. 2014-05-13T18:23:17Z stassats: they have a wide-tag and all 2014-05-13T18:23:19Z nyef: I guess an unspecialized complex would go on the control stack. 2014-05-13T18:23:33Z mega1 quit (Ping timeout: 258 seconds) 2014-05-13T18:23:45Z nyef: Not allowed to have unboxed words on the control stack. 2014-05-13T18:24:06Z nyef: There's special logic for checking structures and arrays for stack-allocatability somewhere. 2014-05-13T18:24:09Z stassats: so, the %make-complex optimizer is wrong? 2014-05-13T18:24:18Z stassats: at the end of vm-ir2tran 2014-05-13T18:26:11Z nyef: No, that's fine, it's for the unspecialized complex. 2014-05-13T18:26:40Z stassats: is it? 2014-05-13T18:27:33Z nyef: Yeah, have a look in objdef. 2014-05-13T18:29:05Z stassats: i'm allowed to dx a single-float complex 2014-05-13T18:30:16Z stassats: maybe type-of is just lying 2014-05-13T18:31:09Z stassats: indeed 2014-05-13T18:31:22Z stassats: that goes back to our misimplementation of complex upgrading 2014-05-13T18:34:31Z stassats: ok, stack-allocatable-fixed-objects seem to work hot patched, now for a build 2014-05-13T18:37:13Z krzysz00: Dumb question, since my CS-fu is weak: I could make a perfect hash function for the casing characters by putting together an ordered alist ((cp0 . 0) (cp1 . 1) ...) and writing a nice assoc that knows the keys are in order to make lookup about O(|ASCII letters|) in many cases and O(|Caseful|) in the worst ones, right? 2014-05-13T18:42:03Z stassats: it wouldn't be _hashing_ 2014-05-13T18:43:28Z stassats: isn't the current unicode table using something clever? 2014-05-13T18:44:23Z stassats: nyef: and closures have to be allocated on the number stack, right? 2014-05-13T18:44:38Z nyef: ... why would they? 2014-05-13T18:45:01Z krzysz00: I'm still trying to wrap my brain around what the current Unicode table is doing, but it's certainly clever 2014-05-13T18:45:08Z nyef: Actually, there's a goodly chunk of logic involved in dx closures. 2014-05-13T18:45:31Z oleo quit (Ping timeout: 240 seconds) 2014-05-13T18:45:47Z nyef: And there are three parts to a closure. There's the closure itself, there's the closure-fun, and there's the value-cells. 2014-05-13T18:46:17Z nyef: The closure-fun is in the code-object, so no worries there. 2014-05-13T18:46:38Z nyef: The closure itself contains boxed references, so it needs to go on the control stack or the heap. 2014-05-13T18:46:42Z stassats: so, value-cells? 2014-05-13T18:46:46Z nyef: And the value cells, well, sometimes don't exist. 2014-05-13T18:47:16Z nyef: We have the VOPs for the elided value cells, though. 2014-05-13T18:48:22Z nyef: Basically, it's all either boxed data or frame pointers. And if it's frame pointers, they're aligned, so we can treat them as boxed data. 2014-05-13T18:48:27Z stassats: so, dx-vectors and closures are left 2014-05-13T18:49:21Z nyef: Now, VECTORS (and structs, which are fixed-objects) have special requirements, but that should all be in vm-ir2tran. 2014-05-13T18:49:34Z mega1`` joined #sbcl 2014-05-13T18:50:29Z nyef: ... There's a bug in a BUG form in (initialize-vector ir2-convert). 2014-05-13T18:50:47Z stassats: dxing all things should make things snappier 2014-05-13T18:51:33Z stassats: and implementing/enabling the rest of modarith vops too 2014-05-13T18:51:40Z mega1` quit (Ping timeout: 276 seconds) 2014-05-13T18:55:42Z stassats: i think i'll look into sb-sprof next, then disassembling register-offset load/stores 2014-05-13T18:57:40Z erikvarga joined #sbcl 2014-05-13T18:59:32Z cmack`` is now known as cmack 2014-05-13T19:00:32Z oleo joined #sbcl 2014-05-13T19:02:40Z stassats: even not doing anything in the sigprof handler causes a sigill 2014-05-13T19:03:08Z stassats: illegal instruction at #X8000268, that looks like a static function 2014-05-13T19:04:04Z nyef: That's early in dynamic-space-2, isn't it? 2014-05-13T19:05:51Z stassats: no, it's between static-space-start and end 2014-05-13T19:08:16Z stassats: that address doesn't make sense, there are symbols there 2014-05-13T19:08:21Z stassats: so, it goes into the wrong place 2014-05-13T19:09:31Z stassats: call_into_lisp being broken? 2014-05-13T19:13:31Z stassats: running tests at the time makes things sluggish 2014-05-13T19:14:19Z stassats: a perfect time for a break 2014-05-13T19:19:48Z stassats: a new failure cropped up 2014-05-13T19:20:10Z nyef: Oh? 2014-05-13T19:20:23Z stassats: Unhandled BOUNDING-INDICES-BAD-ERROR: The bounding indices 3 and 3 are bad for a sequence of length 0. 2014-05-13T19:20:24Z nyef: Some tests only start running as we add d-x support. 2014-05-13T19:21:47Z stassats: in (string-to-octets (make-array 5 :element-type nil) :start 3 :end 3 :external-format :utf-8) 2014-05-13T19:24:06Z stassats: (length (make-array 5 :element-type nil)) => 0 2014-05-13T19:24:38Z stassats: it should have been 0, not -1 2014-05-13T19:24:43Z stassats: for zero length vectors 2014-05-13T19:25:50Z stassats: or done before the length is written 2014-05-13T19:26:23Z drmeister joined #sbcl 2014-05-13T19:26:59Z ltbarcly joined #sbcl 2014-05-13T19:29:00Z stassats: i like the latter more 2014-05-13T19:29:40Z stassats: and zero space vectors with non-zero length 2014-05-13T19:29:41Z stassats: fun? 2014-05-13T19:30:21Z stassats: and the cause of (pprint (make-array 5 :element-type nil)) => "™X" 2014-05-13T19:34:08Z krzysz00 quit (Ping timeout: 245 seconds) 2014-05-13T19:35:50Z andreh joined #sbcl 2014-05-13T19:36:07Z krzysz00 joined #sbcl 2014-05-13T19:40:04Z fridim_ quit (Remote host closed the connection) 2014-05-13T20:02:30Z nyef: These cases are being caught by the test suite? 2014-05-13T20:03:15Z stassats: (pprint (make-array 5 :element-type nil)) isn't in the test suite 2014-05-13T20:03:19Z stassats: somebody reported it recently 2014-05-13T20:04:03Z nyef: Mmm. Ouch. (array nil) strikes again. 2014-05-13T20:04:05Z stassats: ok, no more new failures, back to sb-sprof 2014-05-13T20:04:30Z stassats: nil arrays just have a length field, which may be non-zero, but regardless of size, there's no more storage 2014-05-13T20:04:35Z stassats: so it prints adjacent garbage 2014-05-13T20:09:32Z Krystof: I swear I have fixed that several times 2014-05-13T20:09:51Z nyef: They pretty much have to be printed as # or a #.(make-array ...) form, don't they? 2014-05-13T20:10:04Z nyef: If you keep having to fix it, perhaps it needs to be in the test suite? 2014-05-13T20:11:07Z stassats: they are being printed that way in write-sequence too 2014-05-13T20:11:30Z Krystof: well, it's possible that I have only fixed it in my imagination 2014-05-13T20:11:49Z erikvarga left #sbcl 2014-05-13T20:11:55Z Krystof: but I think what happens is that the underlying simple array accessors lose their error-checking behaviour because someone sticks a (safety 0) when they've proved that type safety is OK 2014-05-13T20:12:00Z stassats: The value 0 is not of type (MOD 4611686018427387901). is interesting 2014-05-13T20:12:16Z Krystof: forgetting that (safety 0) also implies catching NIL returns and similar 2014-05-13T20:13:00Z stassats: that's from (replace (make-array 5) (make-array 5 :element-type nil)) 2014-05-13T20:14:11Z andreh quit (Quit: Quitte) 2014-05-13T20:14:30Z stassats: or just (aref (make-array 5 :element-type nil) 0) 2014-05-13T20:14:43Z nyef: Okay, /that's/ not right. 2014-05-13T20:14:56Z nyef: There's a special nil-array-accessed-error, isn't there? 2014-05-13T20:15:33Z stassats: i'm just getting sidetracked with nil-array nonsense 2014-05-13T20:15:57Z stassats: i need to figure out how PC ends up in statick _symbols_ 2014-05-13T20:20:30Z ltbarcly quit (Read error: Connection reset by peer) 2014-05-13T20:21:10Z ltbarcly joined #sbcl 2014-05-13T20:21:21Z stassats: on the last call LRA is NIL 2014-05-13T20:22:18Z stassats: does that mean it just doesn't call anything? 2014-05-13T20:22:34Z nyef: Which "last call"? 2014-05-13T20:22:43Z nyef: Which LRA? 2014-05-13T20:22:44Z stassats: before the crash 2014-05-13T20:22:49Z stassats: don't know! 2014-05-13T20:22:59Z stassats: the last call to the sigprof-handler 2014-05-13T20:23:06Z stassats: see in sprof 2014-05-13T20:23:55Z stassats: last two calls, pc and lra: #.(INT-SAP #X053C4094) #.(INT-SAP #X673258DF) ; #.(INT-SAP #X67325978) #.(INT-SAP #X0800000B) 2014-05-13T20:24:10Z stassats: and in gdb backtrace it's #16 0x08000148 in ?? () #17 0x053c407e in ?? () 2014-05-13T20:24:25Z nyef: So, (- (+ NIL N-WORD-BYTES) OTHER-POINTER-LOWTAG)...? 2014-05-13T20:24:49Z nyef: Might I just say "ouch"? 2014-05-13T20:26:27Z stassats: some "LRA" are quite far from PC 2014-05-13T20:27:25Z nyef: compute-lra should be good to a 24-bit displacement. 2014-05-13T20:29:42Z nyef: Still, an LRA of NIL means something went really wrong. 2014-05-13T20:29:59Z nyef: It's not a tail-call-multiple, is it? 2014-05-13T20:30:11Z nyef: Or do I mean tail-call-variable... One of those two. 2014-05-13T20:32:11Z angavrilov quit (Remote host closed the connection) 2014-05-13T20:32:17Z stassats: i don't quite understand the add pc, pc, reg_NL3 line in arm-assem.S 2014-05-13T20:32:25Z stassats: #94 2014-05-13T20:33:23Z stassats: i do now 2014-05-13T20:33:37Z stassats: it jumps over the number of instructions depending on the number of arguments 2014-05-13T20:33:39Z nyef: Yeah, the 8 in the RSB compensates for the PC read displacement. 2014-05-13T20:33:45Z stassats: that's too clever.. 2014-05-13T20:33:49Z nyef: And it's an RSB of NARGS, so... 2014-05-13T20:34:06Z nyef: Yeah, I was rather proud of it, myself, but it IS disgustingly clever. (-: 2014-05-13T20:34:44Z nyef: Wait, IS that right? 2014-05-13T20:35:03Z nyef: That... might not be right. 2014-05-13T20:35:23Z krzysz00 quit (Ping timeout: 245 seconds) 2014-05-13T20:35:31Z nyef: Oh, the current instruction counts. Yeah, that's right. 2014-05-13T20:35:56Z stassats: i wouldn't expect it to get that far if it weren't 2014-05-13T20:36:33Z nyef: Mmm. Computed GOTO. Almost as much fun as computed COME-FROM. 2014-05-13T20:37:14Z ltbarcly quit (Read error: Connection reset by peer) 2014-05-13T20:37:18Z krzysz00 joined #sbcl 2014-05-13T20:37:57Z ltbarcly joined #sbcl 2014-05-13T20:38:52Z nyef: Oh, hell. (:debugger :source 1) fails. 2014-05-13T20:39:23Z mega1`` quit (Ping timeout: 255 seconds) 2014-05-13T20:40:36Z nyef: Ah. "unknown location: using block start". 2014-05-13T20:41:23Z nyef: So it's not like the last time I had this test fail. 2014-05-13T20:43:58Z drmeister quit (Remote host closed the connection) 2014-05-13T20:44:34Z drmeister joined #sbcl 2014-05-13T20:48:25Z ltbarcly_ joined #sbcl 2014-05-13T20:49:43Z stassats: if i do not cal static functions, it doesn't seem to fail 2014-05-13T20:50:42Z ltbarcly quit (Ping timeout: 240 seconds) 2014-05-13T20:51:11Z Poenikatu joined #sbcl 2014-05-13T20:51:20Z stassats: and paste.lisp is filled with nonsense again 2014-05-13T20:52:53Z stassats: http://paste.lisp.org/display/142536 2014-05-13T20:53:32Z stassats: it's calling lisp-level handler, but there's nothing printed 2014-05-13T20:53:46Z stassats: (and yes, sb-qshow output includes garbage) 2014-05-13T20:55:15Z nyef: Lovely. 2014-05-13T20:58:49Z ltbarcly_ quit (Read error: Connection reset by peer) 2014-05-13T20:58:52Z stassats: so, maybe the signal is not masked when the signal handler is called? 2014-05-13T20:59:09Z ltbarcly joined #sbcl 2014-05-13T20:59:13Z nyef: Signal mask problems? 2014-05-13T20:59:21Z stassats: but it shouldn't steer the cpu into the static symbol area 2014-05-13T20:59:56Z nyef: Attempting to return to NIL as an LRA should, but I'd've expected it to fail sooner. 2014-05-13T21:02:32Z drmeister quit (Remote host closed the connection) 2014-05-13T21:05:02Z yacks quit (Ping timeout: 265 seconds) 2014-05-13T21:05:03Z stassats: sigprof may be hit during sigprof handling, but it doesn't happen if i don't call generic+/< in the profiling function 2014-05-13T21:06:45Z ASau joined #sbcl 2014-05-13T21:08:46Z stassats: what's causing the garbage in qshow? 2014-05-13T21:09:49Z stassats: and there's a lot more calling/returning pairs then what is printed 2014-05-13T21:10:03Z stassats: maybe because sigprof-handler is under without-interrupts? 2014-05-13T21:12:41Z kanru quit (Ping timeout: 255 seconds) 2014-05-13T21:13:45Z nyef: Did you define qshow-signal-safe, whatever it's called? 2014-05-13T21:14:53Z stassats: it borks even without signals 2014-05-13T21:15:47Z stassats: well, it's not important now 2014-05-13T21:19:02Z stassats: when loading the core, it seems to be printing the same thing all over 2014-05-13T21:20:00Z ltbarcly_ joined #sbcl 2014-05-13T21:20:48Z stassats: i think i see, it does not zero fill the buffer 2014-05-13T21:21:23Z stassats: i don't quite get how it works 2014-05-13T21:21:52Z stassats: i get now, it fails without sb_threads 2014-05-13T21:22:42Z ltbarcly quit (Ping timeout: 240 seconds) 2014-05-13T21:22:45Z nyef: Heh. So it's actually something that affects an awful lot of targets? 2014-05-13T21:22:59Z stassats: it does 2014-05-13T21:23:48Z nyef: Bloody x86oid-centrism. 2014-05-13T21:23:50Z stassats: there's like 5 people who use sb-qshow 2014-05-13T21:26:11Z stassats: so, all the previous sb-qshow output is total bunk 2014-05-13T21:29:19Z prxq quit (Ping timeout: 252 seconds) 2014-05-13T21:29:44Z ltbarcly_ quit (Read error: Connection reset by peer) 2014-05-13T21:30:13Z ltbarcly joined #sbcl 2014-05-13T21:30:30Z stassats: that's more like it 2014-05-13T21:32:06Z stassats: bloody hell, lisppaste is overrun with spam 2014-05-13T21:32:34Z oleo quit (Ping timeout: 240 seconds) 2014-05-13T21:32:39Z stassats: is how the output should have looked like: http://paste.lisp.org/display/142536#1 2014-05-13T21:33:13Z nyef: That's a bit more like it, yes. 2014-05-13T21:33:37Z stassats doesn't have time to add a "delete" button to lisppaste, what with the sprof failures 2014-05-13T21:33:46Z nyef: Heh. 2014-05-13T21:33:59Z nyef: Isn't there a delete thing in the admin interface, or am I mixing it up with something else? 2014-05-13T21:34:00Z stassats: first, i would need to write a proper index for pastes 2014-05-13T21:34:16Z stassats: there is, but it uses araneida and looks awful, i don't want to touch it 2014-05-13T21:34:30Z stassats: i just disabled it during the transition to hunchentoot 2014-05-13T21:34:37Z nyef: Good point, what with what happens to anyone who tries to maintain araneida. 2014-05-13T21:35:36Z stassats: so, the signal handler doesn't return to the right place? 2014-05-13T21:35:49Z nyef: Hrm. 2014-05-13T21:35:52Z stassats: can it? 2014-05-13T21:36:16Z stassats: the ABI is different from C 2014-05-13T21:36:37Z stassats: the kernel shouldn't care, i guess 2014-05-13T21:36:56Z nyef: Yeah, that shouldn't be an issue, really. 2014-05-13T21:37:34Z stassats: maybe the fake foreign function calls? 2014-05-13T21:39:45Z nyef: Ugh. Right there, in build_fake_control_stack_frames(). Looks like something is trying to return "normally" through a fake frame. 2014-05-13T21:41:48Z stassats: else is split? 2014-05-13T21:42:22Z stassats: i guess it doesn't matter 2014-05-13T21:42:38Z stassats: but i hate those kind of preprocessor tricks 2014-05-13T21:46:57Z nyef: It's not the else that is split, it's the if that is split. 2014-05-13T21:47:58Z nyef: Ugh. SB-GMP tests take a while to run. /-: 2014-05-13T21:48:09Z nyef: And I'm getting interesting errors from them, too. 2014-05-13T21:48:15Z stassats: there's so much ifdef around fake_foreign_function_call, i can't tell tails or heads 2014-05-13T21:48:33Z nyef: We might need to be more careful with floating-point-modes. 2014-05-13T21:49:20Z stassats: so, what's the problem? 2014-05-13T21:49:26Z stassats: i don't see it 2014-05-13T21:50:43Z nyef: build_fake_control_stack_frames() sets up a frame with NIL in the LRA slot. If we attempt to RETURN using that frame instead of NLXing over it or letting the runtime deal with it, *boom*. 2014-05-13T21:51:28Z nyef: Puts the program counter smack at the start of static space. 2014-05-13T21:51:43Z stassats: ok, so, what to do? 2014-05-13T21:52:31Z cmack is now known as tsuru 2014-05-13T21:52:37Z eudoxia joined #sbcl 2014-05-13T21:52:41Z nyef: Figure out if this is actually what's going on, by changing the NIL to something useless like 0 and seeing if the fault address changes. 2014-05-13T21:53:06Z nyef: And figure out how we'd get to a point where we'd be trying to return on a fake frame. 2014-05-13T21:53:43Z nyef: The NIL is important to the backtrace, IIRC, for indicating an escaped frame. 2014-05-13T21:54:37Z stassats: i don't quite understand the layout, it builds tow frames? 2014-05-13T21:54:39Z stassats: two 2014-05-13T21:54:46Z stassats: sometimes 2014-05-13T21:55:14Z tsuru is now known as cmack 2014-05-13T21:55:38Z nyef: Yeah, there's some confusing bits in there. 2014-05-13T21:56:32Z ltbarcly quit (Read error: Connection reset by peer) 2014-05-13T21:56:42Z stassats: and i'm missing sb-dynamic-core 2014-05-13T21:56:47Z ltbarcly joined #sbcl 2014-05-13T21:57:30Z stassats: but i can avoid recompiling target-2 2014-05-13T21:57:33Z nyef: Oh, right, the moving-trampolines-to-read-only-space thing. 2014-05-13T21:58:29Z stassats: ok, Memory fault at fffffffc 2014-05-13T21:59:11Z stassats: that's with 0, so, it does cause it 2014-05-13T21:59:31Z krzysz00: Krystof: Would you be willing to remove the "BELL" -> #\Bel mapping, since you have commit access and I don't? 2014-05-13T21:59:55Z stassats: but only sometimes? 2014-05-13T21:59:56Z nyef: krzysz00: Why not just do it on your own branch for now? 2014-05-13T22:00:28Z nyef: stassats: So, now that we know where the NIL comes from, the question is how it is that we try to return through it. 2014-05-13T22:00:33Z krzysz00: I'd push the branch up on to github, right? 2014-05-13T22:01:42Z nyef: stassats: Are we in an arrange_return_to... situation? 2014-05-13T22:02:40Z stassats: i don't imagine 2014-05-13T22:03:09Z nyef: Ugh. I bet we are. 2014-05-13T22:03:31Z stassats: well, it would show on the qshow log, but it doesn't 2014-05-13T22:03:41Z nyef: Fair point. 2014-05-13T22:03:54Z irsol quit (Ping timeout: 240 seconds) 2014-05-13T22:04:40Z stassats: it does so only on errors 2014-05-13T22:05:27Z stassats: otherwise the kernel should return no its own, and i guess during faults it can't really return, hence arrangement 2014-05-13T22:05:56Z drmeister joined #sbcl 2014-05-13T22:08:11Z ltbarcly quit (Ping timeout: 252 seconds) 2014-05-13T22:09:18Z krzysz00: Patch at https://github.com/krzysz00/sbcl/compare/BELL-bug.patch for what I'm calling the BELL bug. 2014-05-13T22:09:24Z krzysz00: Should I file in Launchpad? 2014-05-13T22:10:22Z stassats: adding a commentary would be nice too 2014-05-13T22:10:42Z stassats: like ;; Bell would clash with a unicode symbol of the same name 2014-05-13T22:13:30Z stassats: i can understand it crashing always, but for some code NIL does work? 2014-05-13T22:14:25Z nyef: Most of the time we call_into_lisp() normally, and it either returns normally or NLXes, and if it returns normally we restore the old stack depth and register context and simply continue. 2014-05-13T22:15:25Z stassats: i mean it works for some iterations of the sigprof interrupt 2014-05-13T22:15:34Z stassats: it does fake frames all the time, doesn't it? 2014-05-13T22:15:45Z stassats: unless the code is already in C 2014-05-13T22:15:50Z nyef: Hrm. 2014-05-13T22:15:58Z nyef: Yeah, if we're in C there's no need for a fake frame. 2014-05-13T22:16:07Z nyef: And you're on a periodic interrupt, so there's inherent randomness. 2014-05-13T22:16:58Z stassats: it calls the same functions 2014-05-13T22:17:33Z nyef: It could be as simple as the stack pointer not being updated soon enough during some frame allocation sequence. 2014-05-13T22:18:05Z stassats: but it still needs to return from that fake frame, so how is it supposed to even work? 2014-05-13T22:18:29Z nyef: Because it returns to the runtime, which deallocates the frame? 2014-05-13T22:18:36Z nyef: Yeah, there's some hole in my logic there. 2014-05-13T22:19:04Z stassats: well, what's the point i a fake frame then? 2014-05-13T22:19:36Z nyef: So that the debugger knows to check for an escaped frame? 2014-05-13T22:19:54Z stassats: i like /* This cannot happen in sane circumstances. */ 2014-05-13T22:21:19Z stassats: but, it actually shows "/returning from interrupt_handle_now" 2014-05-13T22:21:25Z stassats: so it went past the fake frame, didn't it? 2014-05-13T22:21:48Z stassats: maybe it scrubbed over the kernel's idea where to return? 2014-05-13T22:22:04Z nyef: Which goes back to my theory about the CSP not being written back before the frame was initialized. 2014-05-13T22:23:13Z nyef: Hrm. Managed to fix *ONE* out of six debug.impure.lisp failures. Lovely. I was hoping for four. /-: 2014-05-13T22:24:07Z stassats: should the kernel care about CSP? 2014-05-13T22:24:23Z nyef: Not for us, but the runtime does. 2014-05-13T22:24:53Z stassats: ok, i can see it, it's in a static variable after all 2014-05-13T22:25:10Z stassats: but why the return to gods know where? 2014-05-13T22:25:16Z segv- quit (Ping timeout: 265 seconds) 2014-05-13T22:26:58Z nyef: That, I've got nothing on at this point. 2014-05-13T22:27:14Z nyef: My bad... 2014-05-13T22:27:17Z nyef: Just found it. 2014-05-13T22:27:28Z stassats: that was fast 2014-05-13T22:27:40Z nyef: Yeah, it's in static-fn.lisp. 2014-05-13T22:28:01Z stassats: yes, calling static function was one of the requirements 2014-05-13T22:28:08Z nyef: Look between load-csp and store-csp in that file. 2014-05-13T22:28:39Z stassats: it stores the same thing? 2014-05-13T22:28:53Z irsol joined #sbcl 2014-05-13T22:29:01Z irsol quit (Read error: Connection reset by peer) 2014-05-13T22:29:05Z nyef: An interrupt happens after the store of LIP but before the store of CSP, and *boom*. 2014-05-13T22:29:18Z nyef: But the stores are done post-index, so you'll have to change that. 2014-05-13T22:30:25Z stassats: ok, post-index makes it not the same thing, but i still don't get it 2014-05-13T22:30:46Z nyef: You need to store the updated CSP before writing anything into the frame. 2014-05-13T22:30:57Z stassats: need to store the stack.. what you said 2014-05-13T22:31:52Z nyef: And I need to get going if I'm going to eat before nine tonight. Good luck! 2014-05-13T22:31:57Z nyef quit (Quit: G'night all.) 2014-05-13T22:31:59Z stassats: what about my use align-csp? 2014-05-13T22:33:35Z davazp joined #sbcl 2014-05-13T22:41:10Z stassats: that does it 2014-05-13T22:41:43Z Shinmera quit (Quit: ZzZzzzz) 2014-05-13T22:44:20Z psilord quit (Quit: Leaving.) 2014-05-13T22:56:39Z stassats: the first sb-sprof doesn't fail anymore, but the second one doesn't want to complete 2014-05-13T23:01:10Z stassats: back to a another failure 2014-05-13T23:13:11Z davazp` joined #sbcl 2014-05-13T23:15:17Z davazp quit (Ping timeout: 264 seconds) 2014-05-13T23:21:05Z DGASAU quit (Ping timeout: 250 seconds) 2014-05-13T23:24:27Z stassats: wait what, i can't compile (defun foo () (sb-ext:get-time-of-day)) 2014-05-13T23:25:28Z stassats: ; # doesn't have a slot named SB-UNIX:TV-SEC 2014-05-13T23:25:37Z davazp` quit (Ping timeout: 258 seconds) 2014-05-13T23:26:35Z DGASAU joined #sbcl 2014-05-13T23:37:02Z stassats: (sb-int:info :alien-type :struct 'sb-unix:timeval) => NIL 2014-05-13T23:38:24Z stassats: (sb-int:info :alien-type :struct 'sb-unix:timezone) => alien-recored-type... 2014-05-13T23:44:17Z stassats: i'll write it off as slam.sh lossage 2014-05-13T23:44:55Z leo2007 quit (Ping timeout: 250 seconds) 2014-05-13T23:51:55Z eudoxia quit (Quit: leaving) 2014-05-13T23:56:29Z psilord joined #sbcl 2014-05-14T00:03:04Z zRecursive joined #sbcl 2014-05-14T00:03:41Z Intensity quit (Ping timeout: 255 seconds) 2014-05-14T00:09:08Z krzysz00 quit (Ping timeout: 245 seconds) 2014-05-14T00:11:00Z krzysz00 joined #sbcl 2014-05-14T00:11:54Z stassats: did anybody test the pseudo-atomic thing on arm actually working? 2014-05-14T00:17:58Z leo2007 joined #sbcl 2014-05-14T00:31:25Z stassats: swi 0 is a syscal 2014-05-14T00:34:43Z Hydan joined #sbcl 2014-05-14T00:38:02Z stassats: i see the problem 2014-05-14T00:38:11Z stassats: lsl instead of lsr 2014-05-14T00:38:27Z stassats: (goddamn!) 2014-05-14T00:56:12Z ASau` joined #sbcl 2014-05-14T00:59:56Z ASau quit (Ping timeout: 265 seconds) 2014-05-14T01:10:13Z Bike_ joined #sbcl 2014-05-14T01:10:37Z kanru` quit (Ping timeout: 276 seconds) 2014-05-14T01:10:53Z michael_lee joined #sbcl 2014-05-14T01:11:55Z Bike quit (Ping timeout: 276 seconds) 2014-05-14T01:13:00Z Bike joined #sbcl 2014-05-14T01:14:49Z Bike_ quit (Ping timeout: 252 seconds) 2014-05-14T01:15:58Z trumae joined #sbcl 2014-05-14T01:17:41Z leo2007 quit (Ping timeout: 264 seconds) 2014-05-14T01:33:26Z ASau` is now known as ASau 2014-05-14T01:33:54Z leo2007 joined #sbcl 2014-05-14T01:41:45Z andreh joined #sbcl 2014-05-14T01:50:48Z leo2007 quit (Quit: rcirc on GNU Emacs 24.4.50.1) 2014-05-14T02:19:15Z kanru joined #sbcl 2014-05-14T02:21:52Z leo2007 joined #sbcl 2014-05-14T02:23:06Z andreh quit (Quit: Quitte) 2014-05-14T02:35:07Z leo2007 quit (Ping timeout: 252 seconds) 2014-05-14T02:39:01Z christoph_debian quit (Ping timeout: 265 seconds) 2014-05-14T02:41:59Z krzysz00 quit (Ping timeout: 252 seconds) 2014-05-14T02:43:41Z krzysz00 joined #sbcl 2014-05-14T02:52:08Z christoph_debian joined #sbcl 2014-05-14T03:00:23Z trumae quit (Ping timeout: 245 seconds) 2014-05-14T03:10:20Z zRecursi` joined #sbcl 2014-05-14T03:11:43Z zRecursive quit (Ping timeout: 240 seconds) 2014-05-14T03:12:48Z krzysz00 quit (Ping timeout: 276 seconds) 2014-05-14T03:14:20Z krzysz00 joined #sbcl 2014-05-14T03:37:53Z yacks joined #sbcl 2014-05-14T03:47:47Z michael_lee quit (Remote host closed the connection) 2014-05-14T04:11:57Z phf quit (Ping timeout: 276 seconds) 2014-05-14T04:12:48Z leo2007 joined #sbcl 2014-05-14T04:25:11Z phf joined #sbcl 2014-05-14T04:37:52Z attila_lendvai joined #sbcl 2014-05-14T04:37:52Z attila_lendvai quit (Changing host) 2014-05-14T04:37:52Z attila_lendvai joined #sbcl 2014-05-14T04:43:54Z krzysz00 quit (Ping timeout: 240 seconds) 2014-05-14T04:46:01Z krzysz00 joined #sbcl 2014-05-14T04:53:56Z stassats quit (Ping timeout: 255 seconds) 2014-05-14T04:57:40Z phf quit (Ping timeout: 258 seconds) 2014-05-14T05:00:45Z phf joined #sbcl 2014-05-14T05:05:34Z ltbarcly joined #sbcl 2014-05-14T05:16:26Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-14T05:20:33Z pranavrc joined #sbcl 2014-05-14T05:20:33Z pranavrc quit (Changing host) 2014-05-14T05:20:33Z pranavrc joined #sbcl 2014-05-14T05:44:39Z ltbarcly joined #sbcl 2014-05-14T05:49:25Z ltbarcly quit (Client Quit) 2014-05-14T05:49:38Z michael_lee joined #sbcl 2014-05-14T06:13:39Z mega1`` joined #sbcl 2014-05-14T06:19:21Z Bike quit (Ping timeout: 276 seconds) 2014-05-14T06:58:21Z angavrilov joined #sbcl 2014-05-14T07:05:54Z c4h joined #sbcl 2014-05-14T07:06:05Z ltbarcly joined #sbcl 2014-05-14T07:09:42Z zRecursi` left #sbcl 2014-05-14T07:12:13Z prxq joined #sbcl 2014-05-14T07:13:14Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-14T07:16:38Z krzysz00 quit (Ping timeout: 240 seconds) 2014-05-14T07:18:40Z krzysz00 joined #sbcl 2014-05-14T07:19:27Z fridim_ joined #sbcl 2014-05-14T07:29:00Z ehaliewicz joined #sbcl 2014-05-14T07:31:36Z pranavrc_ joined #sbcl 2014-05-14T07:33:57Z pranavrc quit (Ping timeout: 252 seconds) 2014-05-14T07:44:30Z prxq quit (Remote host closed the connection) 2014-05-14T07:50:58Z Shinmera joined #sbcl 2014-05-14T08:15:17Z ASau quit (Ping timeout: 252 seconds) 2014-05-14T08:24:31Z ltbarcly joined #sbcl 2014-05-14T08:28:51Z pranavrc_ quit (Read error: Connection reset by peer) 2014-05-14T08:28:59Z ams joined #sbcl 2014-05-14T08:29:55Z pranavrc joined #sbcl 2014-05-14T08:31:55Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-14T08:41:06Z ams quit (Remote host closed the connection) 2014-05-14T08:41:24Z ams joined #sbcl 2014-05-14T08:42:11Z ltbarcly joined #sbcl 2014-05-14T08:53:51Z pranavrc_ joined #sbcl 2014-05-14T08:54:54Z pranavrc quit (Ping timeout: 240 seconds) 2014-05-14T08:55:52Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-14T09:35:31Z cmack` joined #sbcl 2014-05-14T09:37:26Z cmack quit (Ping timeout: 255 seconds) 2014-05-14T09:47:15Z cmack`` joined #sbcl 2014-05-14T09:47:21Z pranavrc_ quit (Read error: Connection reset by peer) 2014-05-14T09:48:53Z cmack` quit (Ping timeout: 264 seconds) 2014-05-14T09:49:27Z pranavrc joined #sbcl 2014-05-14T10:00:21Z cmack``` joined #sbcl 2014-05-14T10:01:44Z cmack`` quit (Ping timeout: 255 seconds) 2014-05-14T10:08:37Z cmack```` joined #sbcl 2014-05-14T10:10:27Z cmack``` quit (Ping timeout: 265 seconds) 2014-05-14T10:19:14Z trumae joined #sbcl 2014-05-14T10:20:11Z krzysz00 quit (Ping timeout: 255 seconds) 2014-05-14T10:21:53Z krzysz00 joined #sbcl 2014-05-14T10:21:59Z cmack```` quit (Ping timeout: 255 seconds) 2014-05-14T10:43:50Z pranavrc_ joined #sbcl 2014-05-14T10:46:05Z pranavrc quit (Ping timeout: 252 seconds) 2014-05-14T10:48:38Z ehaliewicz quit (Ping timeout: 240 seconds) 2014-05-14T10:59:16Z trumae quit (Ping timeout: 265 seconds) 2014-05-14T11:08:26Z ltbarcly joined #sbcl 2014-05-14T11:11:08Z ltbarcly quit (Client Quit) 2014-05-14T12:07:23Z trumae joined #sbcl 2014-05-14T12:12:14Z c4h quit (Quit: quit) 2014-05-14T12:51:21Z nyef joined #sbcl 2014-05-14T12:51:31Z nyef: G'morning all. 2014-05-14T12:51:36Z ams: morning 2014-05-14T13:04:09Z nyef: I managed to nail all of the test failures in debug.impure EXCEPT the two that I was actually planning to try and fix. 2014-05-14T13:04:52Z attila_lendvai quit (Quit: Leaving.) 2014-05-14T13:06:24Z kanru` joined #sbcl 2014-05-14T13:07:50Z eudoxia joined #sbcl 2014-05-14T13:12:58Z pranavrc_ quit 2014-05-14T13:16:25Z stassats joined #sbcl 2014-05-14T13:17:06Z nyef: Hello stassats. 2014-05-14T13:18:15Z stassats: sprof still fails 2014-05-14T13:19:51Z stassats: only if i call valid_lisp_pointer_p from the handler and only when i have function calls in the code 2014-05-14T13:20:08Z stassats: it starts to have the same PC and make no progress 2014-05-14T13:20:15Z stassats: so, a loop of some sort 2014-05-14T13:22:17Z nyef: sprof doesn't use breakpoints or trace :encapsulate nil, does it? 2014-05-14T13:22:30Z stassats: don't think so 2014-05-14T13:22:56Z nyef: Okay, because the latter relies on the former, and the former is stubbed out. 2014-05-14T13:25:38Z stassats: so i get a lot of the same pc: 672EB27C, fp: 403237D8, lra: 6730F53F 2014-05-14T13:25:59Z stassats: 672EB27C is at STR OCFP, [NULL, #+1033] 2014-05-14T13:28:16Z nyef: There's a condition code on that, isn't there? 2014-05-14T13:28:35Z nyef: Looks like a single-value return site to me. 2014-05-14T13:28:54Z stassats: that's in XEP 2014-05-14T13:28:57Z nyef: Oh, that's the PC, not the intruction word. 2014-05-14T13:29:10Z drmeister quit (Remote host closed the connection) 2014-05-14T13:30:38Z stassats: and this store the new CSP back 2014-05-14T13:33:01Z oleo joined #sbcl 2014-05-14T13:35:35Z nyef: Why do you need to call valid_lisp_pointer_p? 2014-05-14T13:35:45Z stassats: to crash it 2014-05-14T13:35:50Z stassats: and, beats me 2014-05-14T13:39:07Z pkhuong: mm... microbenchmark tells me that getting a new allocation region for the nursery is ~20k cycles on this x86-64 2014-05-14T13:39:13Z pkhuong: that's on the slow side :| 2014-05-14T13:39:27Z stassats: this sb-sprof thing is really good at weeding out interrupt safety 2014-05-14T13:44:12Z nyef: Asynchronous-interrupt-heavy things usually are. 2014-05-14T13:45:26Z nyef: I found massive holes in how we handled function calling and registers of the interior-pointer nature generally when I cranked up the asynchronous interrupts on PPC and arranged for a GC to happen within the handlers. (-: 2014-05-14T13:48:55Z michael_lee quit (Quit: Ex-Chat) 2014-05-14T13:52:56Z ltbarcly joined #sbcl 2014-05-14T13:53:30Z krzysz00 quit (Ping timeout: 240 seconds) 2014-05-14T13:53:59Z stassats: can it make LRA point the same function and it never returns? 2014-05-14T13:54:23Z yacks quit (Ping timeout: 255 seconds) 2014-05-14T13:54:51Z stassats: and it interrupts the same thing because it's easier to interrupt memory access instructions (i guess) 2014-05-14T13:55:33Z krzysz00 joined #sbcl 2014-05-14T13:56:27Z reb quit (Remote host closed the connection) 2014-05-14T13:56:41Z stassats: but 6730F53F is in the parent function 2014-05-14T13:57:52Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-14T13:58:13Z drmeister joined #sbcl 2014-05-14T14:02:59Z segv- joined #sbcl 2014-05-14T14:05:11Z tmh_ quit (Ping timeout: 255 seconds) 2014-05-14T14:06:59Z tmh_ joined #sbcl 2014-05-14T14:07:17Z yacks joined #sbcl 2014-05-14T14:11:17Z drmeister quit (Read error: Connection reset by peer) 2014-05-14T14:13:22Z Bike joined #sbcl 2014-05-14T14:22:54Z drmeister joined #sbcl 2014-05-14T14:27:35Z yacks quit (Ping timeout: 265 seconds) 2014-05-14T14:33:58Z drmeister quit (Ping timeout: 240 seconds) 2014-05-14T14:49:09Z drmeister joined #sbcl 2014-05-14T14:55:27Z drmeiste_ joined #sbcl 2014-05-14T14:58:18Z drmeister quit (Ping timeout: 245 seconds) 2014-05-14T15:08:13Z ltbarcly joined #sbcl 2014-05-14T15:16:40Z brown` joined #sbcl 2014-05-14T15:17:30Z drmeiste_ quit (Read error: Connection reset by peer) 2014-05-14T15:18:53Z Bike quit (Ping timeout: 264 seconds) 2014-05-14T15:19:39Z ltbarcly quit (Read error: Connection reset by peer) 2014-05-14T15:20:24Z ltbarcly joined #sbcl 2014-05-14T15:20:37Z Intensity joined #sbcl 2014-05-14T15:24:38Z ltbarcly quit (Ping timeout: 240 seconds) 2014-05-14T15:25:52Z Cymew quit (Read error: Connection reset by peer) 2014-05-14T15:26:48Z ltbarcly joined #sbcl 2014-05-14T15:40:54Z ltbarcly quit (Read error: Connection reset by peer) 2014-05-14T15:41:07Z eudoxia quit (Quit: leaving) 2014-05-14T15:41:15Z ltbarcly joined #sbcl 2014-05-14T15:43:19Z michael_lee joined #sbcl 2014-05-14T15:48:56Z stassats: can't see an angle to attack 2014-05-14T15:50:25Z nyef: Move on, and come back to it later, assuming that nobody else gets to it first? 2014-05-14T15:51:16Z stassats: i don't have anything else interesting 2014-05-14T15:51:34Z stassats: do sb-sprof tests finish for you? 2014-05-14T15:52:27Z Bike joined #sbcl 2014-05-14T15:55:11Z stassats: just spinning in the same function doesn't cause any problems 2014-05-14T15:55:19Z stassats: calling is important 2014-05-14T15:55:34Z krzysz00 quit (Ping timeout: 240 seconds) 2014-05-14T15:55:56Z stassats: so, there's a window where LRA is overwritten 2014-05-14T15:57:45Z krzysz00 joined #sbcl 2014-05-14T16:00:09Z krzysz00: Krystof: Is the last cond clause in primary-composition (five-way and) for LV + T compositions? I can't think what else it might be. 2014-05-14T16:03:19Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-14T16:23:54Z Bike quit (Ping timeout: 240 seconds) 2014-05-14T16:31:09Z pkhuong: I like the solution of only having a tiny C handler for sigprof 2014-05-14T16:31:53Z stassats: could the problem be that the handler is doing too much work, and is protect with without-interrupts, so when it exists, sigprof just hits the same place? 2014-05-14T16:31:58Z stassats: hence no progress 2014-05-14T16:32:41Z stassats: i'll try to construct a delay loop to check that 2014-05-14T16:33:46Z stassats: pkhuong: it can't be tiny, at least the way it works now, it needs to find out to which code component PC belongs 2014-05-14T16:33:58Z stassats: and it can't delay that, since it can get moved 2014-05-14T16:35:40Z stassats: i had an idea with threads and safepoints, where a profiling thread periodically raises a safepoint, examines the stacks, and continues 2014-05-14T16:35:46Z stassats: but that needs threads and safepoints 2014-05-14T16:37:32Z pkhuong: stassats: C-side pre-gc hook? 2014-05-14T16:38:12Z stassats: but having sigprof work with signals is important for overall interrupt safety anyway 2014-05-14T16:40:10Z stassats: ok, the delay loop does the job 2014-05-14T16:40:32Z stassats: so, calling valid_lisp_pointer_p was just doing too much work, and that it's in C is not important 2014-05-14T16:42:00Z drmeister joined #sbcl 2014-05-14T16:42:29Z nyef: Yeah, doesn't it do a heap-walk? 2014-05-14T16:42:39Z stassats: it does 2014-05-14T16:42:53Z nyef: So, again, why were you calling it? 2014-05-14T16:43:12Z stassats: to induce a failure 2014-05-14T16:43:28Z nyef: But apparently not a failure that needed inducing? 2014-05-14T16:43:53Z stassats: finding the code component does the same thing 2014-05-14T16:44:17Z stassats: component-ptr-from-pc 2014-05-14T16:44:40Z nyef: Mmm. But you shouldn't even need that much on a non-x86 system. 2014-05-14T16:44:54Z stassats: so, if my hypothesis is true, i.e., it bombards with a signal before it can move on, i can't see how to resolve this 2014-05-14T16:45:15Z nyef: Because you know that the PC is either not in heap space, or is an interior-pointer to one of the values in the register set. 2014-05-14T16:45:59Z stassats: even during frame allocations? 2014-05-14T16:46:01Z nyef: Bounds-check against the heap, and then find the largest boxed register that contains a pointer and is smaller than the program counter. 2014-05-14T16:46:15Z nyef: You mean XEP-allocate? 2014-05-14T16:46:37Z stassats: whichever may be problematic 2014-05-14T16:47:01Z nyef: Well, XEP-allocate-frame starts off with a COMPUTE-CODE, using an unboxed temp reg. 2014-05-14T16:47:22Z nyef: The FUNCTION that was called is in a boxed register somewhere, and doesn't get overwritten until CODE is computed. 2014-05-14T16:47:31Z stassats: but it may still fail on slower targets 2014-05-14T16:48:29Z nyef: At the point where you don't have time to pair a single interior pointer you're already sunk. 2014-05-14T16:49:26Z stassats: but i'm not yet sure that this is what happens 2014-05-14T16:49:34Z stassats: but it seems likely 2014-05-14T16:50:11Z drmeiste_ joined #sbcl 2014-05-14T16:50:16Z nyef: And PC being backed by a boxed register while it's in heap space is a GC invariant, so if it DOES cause problems then there's something deeper that needs fixing. 2014-05-14T16:50:20Z Bike joined #sbcl 2014-05-14T16:50:53Z stassats: doing less work will solve the observed problem 2014-05-14T16:51:11Z stassats: but solving what's being observed doesn't always lead to good things 2014-05-14T16:51:38Z stassats: i need to fetch the kernel sources 2014-05-14T16:51:45Z nyef: True, but in this case it's a reasonably sane thing to do anyway, surely? 2014-05-14T16:51:59Z stassats: it sure is 2014-05-14T16:53:02Z nyef: You will, of course, have to convert from LRA or SIMPLE-FUN back to a CODE-OBJECT in certain cases, but that should be easy enough to deal with. 2014-05-14T16:53:29Z drmeister quit (Ping timeout: 255 seconds) 2014-05-14T16:54:53Z Bike quit (Ping timeout: 264 seconds) 2014-05-14T16:54:57Z stassats: the default interval for sigprof does work too 2014-05-14T16:55:41Z stassats: until i increase the amount of work 2014-05-14T16:58:38Z stassats: "arm_timer" identifier is a bit misleading 2014-05-14T17:02:05Z brown`: The sb-gmp test called remove-2 is failing for me on 64-bit x86 Ubuntu. 2014-05-14T17:03:39Z stassats: brown`: this is known 2014-05-14T17:04:49Z brown`: OK thanks ... just figured I'd mention it in case no one else has seen it. 2014-05-14T17:05:54Z stassats: that's appreciated 2014-05-14T17:06:35Z attila_lendvai joined #sbcl 2014-05-14T17:06:35Z attila_lendvai quit (Changing host) 2014-05-14T17:06:35Z attila_lendvai joined #sbcl 2014-05-14T17:10:07Z stassats: i guess i'll just reduce profiling latency and hope for the best 2014-05-14T17:11:34Z Poenikatu quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2014-05-14T17:16:00Z stassats: and it has to be a busy loop, just SLEEP doesn't do 2014-05-14T17:22:11Z stassats: i can actually reproduce the problem on X86-64 2014-05-14T17:22:58Z stassats: i guess that settlesit 2014-05-14T18:01:12Z sdemarre joined #sbcl 2014-05-14T18:01:16Z drmeiste_ quit (Remote host closed the connection) 2014-05-14T18:03:53Z drmeister joined #sbcl 2014-05-14T18:05:23Z sdemarre quit (Ping timeout: 245 seconds) 2014-05-14T18:18:03Z cmack joined #sbcl 2014-05-14T18:19:51Z erikvarga joined #sbcl 2014-05-14T18:22:20Z stassats: can i just use reg_CODE? 2014-05-14T18:22:47Z nyef: No, because if you just called or just returned then it will point to the wrong function. 2014-05-14T18:23:08Z nyef: Same reason we can't just use reg_CODE for this in the GC. 2014-05-14T18:23:15Z stassats: it's a statistical profiler, would it matter that much? 2014-05-14T18:23:43Z nyef: That I couldn't tell you. 2014-05-14T18:24:05Z sdemarre joined #sbcl 2014-05-14T18:24:39Z stassats: the function that in reg_CODE was executing 2014-05-14T18:24:48Z stassats: non-x86oids do not walk the whole stack 2014-05-14T18:25:51Z stassats: it records only PC and LRA 2014-05-14T18:25:56Z nyef: reg_CODE is either the current function, the calling function, or the just-returned function. 2014-05-14T18:26:54Z stassats: seems good enough to me 2014-05-14T18:27:24Z nyef: Your call, then. 2014-05-14T18:27:24Z Shinmera quit (Quit: 鍬形) 2014-05-14T18:27:33Z stassats: it's a start, at least 2014-05-14T18:27:47Z stassats: ideally, walking the whole stack 2014-05-14T18:28:19Z nyef: You'll only need to figure out the "true" reg_CODE for escaped frames anyway. 2014-05-14T18:29:19Z prxq joined #sbcl 2014-05-14T18:30:13Z stassats: component-ptr-from-pc seems to be only used on x86oids in the debugger 2014-05-14T18:31:54Z attila_lendvai quit (Ping timeout: 276 seconds) 2014-05-14T18:32:23Z nyef: Not surprising, but the debugger isn't used as much from random locations in a component. 2014-05-14T18:32:38Z stassats: C-c C-c? 2014-05-14T18:33:01Z nyef: Okay, that's fair. 2014-05-14T18:41:44Z stassats: and what would entail recording the whole stack? 2014-05-14T18:45:06Z stassats: writing a fix is more boring than figuring out what needs to be fixed 2014-05-14T18:48:43Z fridim_ quit (Ping timeout: 245 seconds) 2014-05-14T19:06:52Z drmeister quit (Remote host closed the connection) 2014-05-14T19:08:31Z Bike joined #sbcl 2014-05-14T19:09:52Z drmeister joined #sbcl 2014-05-14T19:10:56Z stassats: and how to turn LRA into the component? 2014-05-14T19:11:34Z nyef: There's a debug-int or kernel function for it. It's translated in compiler/arm/debug.lisp. 2014-05-14T19:12:18Z nyef: There's CODE-FROM-FUN and CODE-FROM-LRA. 2014-05-14T19:12:22Z nyef: Both in SB!DI. 2014-05-14T19:12:32Z nyef: Sorry, those are the VOP names. 2014-05-14T19:12:40Z nyef: LRA-CODE-HEADER and FUN-CODE-HEADER. 2014-05-14T19:14:10Z angavrilov quit (Remote host closed the connection) 2014-05-14T19:14:22Z stassats: ok, so i need to determine if PC is inside a lisp function, only then LRA would make sense 2014-05-14T19:14:59Z trumae quit (Quit: Leaving) 2014-05-14T19:15:08Z nyef: Again, just bounds-check against the heap and then pair the register the way the GC does. 2014-05-14T19:15:13Z michael_lee quit (Quit: Ex-Chat) 2014-05-14T19:17:47Z stassats: why does pseudo-atomic-atomic has "atomic" twice? 2014-05-14T19:18:07Z nyef: Because there are two bits of information involved in P-A. 2014-05-14T19:18:26Z nyef: One says "we need to be atomic", the other says "someone tried to butt in". 2014-05-14T19:18:53Z stassats: why two static variabless? 2014-05-14T19:19:19Z drmeister quit (Ping timeout: 258 seconds) 2014-05-14T19:21:23Z nyef: Register pressure, for starters. 2014-05-14T19:21:52Z stassats: i meant, why not one 2014-05-14T19:22:56Z drmeister joined #sbcl 2014-05-14T19:24:30Z nyef: Hrm. 2014-05-14T19:25:13Z nyef: Not coming up with a reason off the top of my head, but messing with that logic gets tricky fast. 2014-05-14T19:27:15Z stassats: does pair_interior_pointer produce some side effect? 2014-05-14T19:29:31Z nyef: Only on the saved_offset and register_pair parameters. 2014-05-14T19:31:00Z stassats: where's cpp-expand? 2014-05-14T19:31:24Z stassats: i now see the variable delcarations are coming from a macros 2014-05-14T19:34:13Z stassats: it's only used for fixing up values 2014-05-14T19:34:39Z oleo quit (Ping timeout: 258 seconds) 2014-05-14T19:35:06Z oleo joined #sbcl 2014-05-14T19:35:35Z drmeister quit (Read error: Connection reset by peer) 2014-05-14T19:35:56Z drmeister joined #sbcl 2014-05-14T19:38:33Z Krystof: minion: memo for krzysz00: yes, I think that's what it is, a precomposed LV + T 2014-05-14T19:38:33Z minion: Remembered. I'll tell krzysz00 when he/she/it next speaks. 2014-05-14T19:38:56Z krzysz00: Is minion a bot? 2014-05-14T19:38:56Z minion: krzysz00, memo from Krystof: yes, I think that's what it is, a precomposed LV + T 2014-05-14T19:38:59Z stassats: load-value + time? 2014-05-14T19:39:06Z Krystof: huh, why didn't you tab complete 2014-05-14T19:39:09Z Krystof: I thought you weren't here 2014-05-14T19:39:22Z krzysz00: I actually have been asking my client the same question lately. 2014-05-14T19:39:56Z Krystof: stassats: hangul 2014-05-14T19:40:36Z fikusz quit (Quit: Leaving) 2014-05-14T19:42:47Z samskull1 quit (Ping timeout: 252 seconds) 2014-05-14T19:43:01Z krzysz00: Krystof: I started poking around SpecialCasing (which will be part of the Wonderful New Database (tm)), and it turns out that the current inclusion of the prosegrammeni in both-case-p isn't really correct. 2014-05-14T19:43:16Z fikusz joined #sbcl 2014-05-14T19:44:36Z krzysz00: That will simplify upper/lower-case-p to a flag check and gc = Lu/LL 2014-05-14T19:45:23Z Krystof: wait 2014-05-14T19:45:39Z Krystof: I spent a lot of time this time last year getting prosegrammeni "right" 2014-05-14T19:45:53Z Krystof: prosegegrammini 2014-05-14T19:45:56Z Krystof: whatever 2014-05-14T19:46:17Z Krystof: see the commit log for f44f6d1adbaaa7057f1948369299c0b2a08bcd6e 2014-05-14T19:46:57Z stassats: is that a misspelling of "programming"? 2014-05-14T19:47:01Z Krystof: sadly not 2014-05-14T19:49:27Z krzysz00: SpecialCasing.txt (the one that, IIRTSC, overrides casings in UnicodeData.txt) gives the uppercases of the prosegrammeni as "[somenhing] 0399" 2014-05-14T19:49:44Z Krystof: right, but you can't do that with the one-to-one mapping that CL makes you have 2014-05-14T19:50:44Z Krystof: the CL invariants, based on character = codepoint aren't compatible with the Unicode data fully 2014-05-14T19:51:02Z Krystof: there can be a sb-unicode:both-case-p which gives a different answer (and understands titlecase a bit better) 2014-05-14T19:52:17Z krzysz00: My understanding was that the cl case conversion functions were the subsets of the Unicode case conversions that matched the CL identities. 2014-05-14T19:53:46Z Krystof: I don't think that has been formally stated (yet) 2014-05-14T19:53:55Z Krystof: describes where I was coming from 2014-05-14T19:54:00Z Krystof: I'm willing to hear a different plan 2014-05-14T19:55:30Z stassats: maybe walking the whole stack during sigprof problematic due to too-much work 2014-05-14T19:56:00Z stassats: maybe there's a way to detect that sigprof is going in circles and to switch off expensive parts 2014-05-14T19:56:36Z stassats: something like if PC was the same last ten calls 2014-05-14T19:58:54Z krzysz00 quit (Ping timeout: 240 seconds) 2014-05-14T20:00:58Z krzysz00 joined #sbcl 2014-05-14T20:03:18Z sdemarre quit (Ping timeout: 245 seconds) 2014-05-14T20:20:20Z erikvarga left #sbcl 2014-05-14T20:21:49Z krzysz00: I looked at that document. 4.5 and 4.6 there say that unfortunately the Unicode standard goes, and I think it would be very unusual for the cl casing functions to not be subsets of the sb-unicode ones. 2014-05-14T20:26:07Z samskulls joined #sbcl 2014-05-14T20:27:38Z mega1`` quit (Remote host closed the connection) 2014-05-14T20:27:50Z mega1`` joined #sbcl 2014-05-14T20:29:11Z krzysz00_ joined #sbcl 2014-05-14T20:29:30Z krzysz00 quit (Ping timeout: 240 seconds) 2014-05-14T20:30:16Z krzysz00_: Did my last message go through? 2014-05-14T20:30:47Z stassats: how would we know? 2014-05-14T20:32:18Z krzysz00_ is now known as krzysz00 2014-05-14T20:33:03Z krzysz00: It mentioned sections 4.5 and 4.6 of the document Krystof linked. 2014-05-14T20:33:23Z stassats: that one did go through 2014-05-14T20:34:23Z krzysz00: Great, thanks! 2014-05-14T20:34:42Z mega1`` quit (Ping timeout: 240 seconds) 2014-05-14T21:07:22Z eudoxia joined #sbcl 2014-05-14T21:17:30Z prxq quit (Read error: Connection reset by peer) 2014-05-14T21:26:54Z Bike quit (Ping timeout: 240 seconds) 2014-05-14T21:29:01Z Bike joined #sbcl 2014-05-14T21:43:29Z stassats quit (Ping timeout: 264 seconds) 2014-05-14T21:47:28Z drmeister quit (Read error: Connection reset by peer) 2014-05-14T21:47:50Z drmeister joined #sbcl 2014-05-14T21:53:58Z drmeister quit (Remote host closed the connection) 2014-05-14T21:54:22Z Hydan quit (Quit: Textual IRC Client: www.textualapp.com) 2014-05-14T22:03:07Z nyef quit (Quit: G'night all.) 2014-05-14T22:05:30Z drmeister joined #sbcl 2014-05-14T22:17:19Z eudoxia quit (Quit: Lost terminal) 2014-05-14T22:29:35Z stassats joined #sbcl 2014-05-14T22:36:18Z drmeister quit (Ping timeout: 276 seconds) 2014-05-14T22:37:02Z drmeister joined #sbcl 2014-05-14T22:45:07Z irsol joined #sbcl 2014-05-14T22:47:54Z segv- quit (Ping timeout: 240 seconds) 2014-05-14T23:33:18Z krzysz00 quit (Ping timeout: 240 seconds) 2014-05-14T23:35:18Z ASau joined #sbcl 2014-05-14T23:35:25Z krzysz00 joined #sbcl 2014-05-14T23:37:02Z drmeister quit (Remote host closed the connection) 2014-05-14T23:41:24Z drmeister joined #sbcl 2014-05-14T23:42:52Z pkhuong: stassats: in c6fe7400a2a0bc1859b41058bf88c698d7ab3393, + (let ((delta (- n-word-bits (print width)))) 2014-05-14T23:43:29Z stassats: thanks 2014-05-14T23:46:35Z stassats: value cells are the ones coming from load-time-value? 2014-05-14T23:46:46Z pkhuong: that's one source 2014-05-14T23:46:52Z pkhuong: others are just closed over mutable bindings 2014-05-14T23:48:37Z stassats: that's what i thought, but i can't induce it that way 2014-05-14T23:50:25Z stassats: there's some confusion, there's a VOP make-value cell, and a define-primitive-object :alloc-trans make-value-cell 2014-05-14T23:54:57Z stassats: pkhuong: can you make an example where it will be used? 2014-05-14T23:56:30Z pkhuong: stassats: (lambda (x) (lambda () (incf x))) / (funcall * 0) /(sb-kernel:%closure-index-ref * 0) => # 2014-05-14T23:58:42Z stassats: ok, i was trying with DX allocation 2014-05-14T23:59:10Z stassats: make-value-cell can be dx allocated, but i don't see it when the closure is DXed 2014-05-14T23:59:13Z pkhuong: we don't have DX calue cells. 2014-05-14T23:59:32Z pkhuong: instead we use nyef's reference to stack frame hack 2014-05-15T00:00:20Z stassats: but should enable it on arm or not? it is on x86-64 2014-05-15T00:00:35Z stassats: well, it's just a keyword parameter away 2014-05-15T00:10:02Z stassats: only two dynamic-extent.impure failures now 2014-05-15T00:13:12Z stassats: and due to dx vectors not being yet implemented 2014-05-15T00:17:18Z ltbarcly joined #sbcl 2014-05-15T00:19:53Z stassats: and compiler.pure.lisp now passes, except for copy-more-arg 2014-05-15T00:20:02Z stassats: (time 1) still conses 32 bytes 2014-05-15T00:26:12Z samskull1 joined #sbcl 2014-05-15T00:27:23Z stassats: inside PA, i can have bad things inside descriptor-regs? 2014-05-15T00:28:22Z samskulls quit (Ping timeout: 265 seconds) 2014-05-15T00:29:35Z drmeister quit (Remote host closed the connection) 2014-05-15T00:30:26Z pkhuong: stassats: I think so. 2014-05-15T00:38:36Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-15T00:38:59Z minion quit (Remote host closed the connection) 2014-05-15T00:39:06Z minion joined #sbcl 2014-05-15T00:41:25Z zRecursive joined #sbcl 2014-05-15T00:50:29Z specbot quit (Remote host closed the connection) 2014-05-15T00:50:35Z specbot joined #sbcl 2014-05-15T00:55:39Z kanru` quit (Ping timeout: 252 seconds) 2014-05-15T01:03:58Z krzysz00 quit (Ping timeout: 240 seconds) 2014-05-15T01:06:02Z krzysz00 joined #sbcl 2014-05-15T01:07:54Z samskull1 quit (Ping timeout: 240 seconds) 2014-05-15T01:10:02Z samskulls joined #sbcl 2014-05-15T01:10:53Z drmeister joined #sbcl 2014-05-15T01:18:38Z Bike quit (Ping timeout: 265 seconds) 2014-05-15T01:18:44Z Bike_ joined #sbcl 2014-05-15T01:35:02Z samskulls quit (Ping timeout: 255 seconds) 2014-05-15T01:39:03Z Bike_ is now known as Bike 2014-05-15T01:50:15Z stassats: dynamic-extent.impure now fully pass 2014-05-15T02:08:53Z pkhuong: well, arm is now a stronger port than sparc ;) 2014-05-15T02:15:41Z stassats: i blame sparc for not having easily available hardware 2014-05-15T02:19:04Z zRecursive quit (Remote host closed the connection) 2014-05-15T02:19:09Z stassats: i need to look more carefully at callbacks, to be able to run commonqt 2014-05-15T02:21:25Z stassats: i can try running mcclim 2014-05-15T02:23:31Z pkhuong: otoh, sparc only comes in so many variations 2014-05-15T02:23:52Z pkhuong: I feel like we'd need a dozen arm machines to cover the cross product of features we would likely use 2014-05-15T02:23:55Z pkhuong: + OSes 2014-05-15T02:24:22Z stassats: i think some slower targets can be disregarded 2014-05-15T02:34:24Z Bike quit (Ping timeout: 258 seconds) 2014-05-15T02:36:16Z Bike joined #sbcl 2014-05-15T02:38:45Z christoph_debian quit (Ping timeout: 276 seconds) 2014-05-15T02:47:28Z zRecursive joined #sbcl 2014-05-15T02:49:41Z Bike quit (Ping timeout: 252 seconds) 2014-05-15T02:51:40Z Bike joined #sbcl 2014-05-15T02:51:40Z christoph_debian joined #sbcl 2014-05-15T02:53:39Z stassats: dxing things exposed some more immediate/load-store-offset problems, those appear to be endless 2014-05-15T03:01:49Z stassats: i can run clim-listener 2014-05-15T03:04:28Z stassats: http://i.imgur.com/BTV9Wf0.png 2014-05-15T03:04:34Z stassats: it's unimaginably slow 2014-05-15T03:08:42Z krzysz00: I filed a bug report in Launchpad for the BELL <=> #\Bel issue. 2014-05-15T03:08:56Z stassats: yeah, everybody got a mail 2014-05-15T03:10:36Z krzysz00: I didn't know that. Do I need to get in on a list to get new bug mails, if I want them? 2014-05-15T03:10:51Z stassats: you can subscribe at launchpad 2014-05-15T03:11:03Z stassats: somehow 2014-05-15T03:15:22Z attila_lendvai joined #sbcl 2014-05-15T03:28:48Z stassats: can also run hunchentoot, 69 requests per second 2014-05-15T03:29:35Z Bike: you could run a video camera, to one user! 2014-05-15T03:30:29Z stassats: "is that a web-server in your pocket?" 2014-05-15T03:30:41Z kanru quit (Remote host closed the connection) 2014-05-15T03:31:02Z stassats: compiling things is really slow 2014-05-15T03:31:22Z kanru joined #sbcl 2014-05-15T03:31:52Z zRecursive: stassats: Is it Android OS ? 2014-05-15T03:32:02Z stassats: debian on top of android 2014-05-15T03:33:33Z zRecursive: Isnot android using linux kernel itself ? 2014-05-15T03:33:39Z stassats: loading more things, a cannot-encode-immediate-operand, yay 2014-05-15T03:34:19Z pkhuong: stassats: at least we detect it at compile time instead of silently emitting bad machine code 2014-05-15T03:34:39Z stassats: that's why i'm loading things with quicklisp 2014-05-15T04:01:19Z stassats: maybe a new sc, truly-immediate 2014-05-15T04:22:54Z angavrilov joined #sbcl 2014-05-15T04:36:53Z stassats: loaded ironclad fine, i need to fine some constant-heave code 2014-05-15T04:57:31Z kanru quit (Remote host closed the connection) 2014-05-15T04:58:19Z kanru joined #sbcl 2014-05-15T05:07:14Z oleo quit (Quit: Leaving) 2014-05-15T05:31:57Z sdemarre joined #sbcl 2014-05-15T05:40:05Z pkhuong quit (Ping timeout: 252 seconds) 2014-05-15T05:41:04Z pkhuong joined #sbcl 2014-05-15T05:49:51Z sdemarre quit (Ping timeout: 276 seconds) 2014-05-15T05:54:47Z pranavrc joined #sbcl 2014-05-15T05:55:46Z stassats: floating point exceptions seem to be broken 2014-05-15T05:56:51Z mega1`` joined #sbcl 2014-05-15T05:57:38Z stassats: "VFPv3U, an implementation of VFPv3 that can trap floating-point exceptions. It requires software support code." 2014-05-15T05:57:42Z stassats: " VFPv3 is backwards compatible with VFPv2, except that it cannot trap floating point exceptions. " 2014-05-15T05:57:43Z stassats: joy 2014-05-15T06:34:23Z attila_lendvai quit (Quit: Leaving.) 2014-05-15T06:40:24Z leo2007 quit (Quit: rcirc on GNU Emacs 24.4.50.1) 2014-05-15T06:45:51Z zRecursive left #sbcl 2014-05-15T06:51:04Z Krystof: mcclim on arm, for that authentic lisp machine feeling 2014-05-15T06:51:20Z Krystof: when is aarch64 hardware generally available? 2014-05-15T06:51:41Z stassats: next year, probably 2014-05-15T06:51:49Z stassats: unless you count iphone 2014-05-15T06:52:29Z Krystof: and qemu? 2014-05-15T06:54:50Z stassats: i just built maxima 2014-05-15T06:55:17Z kanru: I was able to build the arm port with qemu. Yes qemu supports aarch64 2014-05-15T06:55:57Z Krystof: very good. Next project! 2014-05-15T07:02:45Z stassats: it looks like maxima test suite just likes to fail 2014-05-15T07:03:47Z stassats: it's written by mathematicians, after all 2014-05-15T07:06:16Z stassats: trying to think up what to load next 2014-05-15T07:09:54Z stassats: lparallel is broken on non-x86oids 2014-05-15T07:10:03Z stassats: (deftype counter-value () '(unsigned-byte #+x86-64 64 #+x86 32 #-(or x86-64 x86) sb-ext:word)) 2014-05-15T07:10:23Z krzysz00 quit (Ping timeout: 252 seconds) 2014-05-15T07:10:33Z stassats: a weird way to do it 2014-05-15T07:11:10Z stassats: ah, the comment is ";; try to avoid using sb-ext:word since it is newish" 2014-05-15T07:12:12Z krzysz00 joined #sbcl 2014-05-15T07:24:31Z pranavrc quit (Ping timeout: 265 seconds) 2014-05-15T07:26:38Z Bike quit (Ping timeout: 245 seconds) 2014-05-15T07:28:50Z fridim_ joined #sbcl 2014-05-15T07:31:41Z pranavrc joined #sbcl 2014-05-15T07:36:27Z pranavrc quit (Ping timeout: 276 seconds) 2014-05-15T07:55:33Z pranavrc joined #sbcl 2014-05-15T07:55:33Z pranavrc quit (Changing host) 2014-05-15T07:55:33Z pranavrc joined #sbcl 2014-05-15T08:04:52Z erikvarga joined #sbcl 2014-05-15T08:12:23Z attila_lendvai joined #sbcl 2014-05-15T08:12:23Z attila_lendvai quit (Changing host) 2014-05-15T08:12:23Z attila_lendvai joined #sbcl 2014-05-15T08:14:47Z ASau quit (Ping timeout: 265 seconds) 2014-05-15T08:15:10Z leo2007 joined #sbcl 2014-05-15T08:32:11Z stassats quit (Ping timeout: 255 seconds) 2014-05-15T08:34:18Z attila_lendvai quit (Ping timeout: 240 seconds) 2014-05-15T08:38:21Z ltbarcly joined #sbcl 2014-05-15T08:45:54Z ltbarcly quit (Read error: Connection reset by peer) 2014-05-15T08:46:02Z ltbarcly_ joined #sbcl 2014-05-15T08:48:20Z attila_lendvai joined #sbcl 2014-05-15T08:48:20Z attila_lendvai quit (Changing host) 2014-05-15T08:48:20Z attila_lendvai joined #sbcl 2014-05-15T09:11:07Z ltbarcly_ quit (Quit: Computer has gone to sleep.) 2014-05-15T09:14:03Z DGASAU quit (Remote host closed the connection) 2014-05-15T09:15:04Z DGASAU joined #sbcl 2014-05-15T09:27:32Z pranavrc quit (Read error: Connection reset by peer) 2014-05-15T09:28:23Z pranavrc joined #sbcl 2014-05-15T09:42:50Z krzysz00 quit (Ping timeout: 255 seconds) 2014-05-15T09:44:54Z krzysz00 joined #sbcl 2014-05-15T09:58:15Z ltbarcly joined #sbcl 2014-05-15T10:10:13Z prxq joined #sbcl 2014-05-15T10:21:12Z ltbarcly quit (Read error: Connection reset by peer) 2014-05-15T10:21:49Z ltbarcly joined #sbcl 2014-05-15T10:26:10Z ltbarcly_ joined #sbcl 2014-05-15T10:26:17Z ltbarcly quit (Ping timeout: 258 seconds) 2014-05-15T10:44:08Z krzysz00 quit (Ping timeout: 245 seconds) 2014-05-15T10:46:04Z krzysz00 joined #sbcl 2014-05-15T10:54:40Z attila_lendvai quit (Quit: Leaving.) 2014-05-15T10:54:59Z attila_lendvai joined #sbcl 2014-05-15T11:02:38Z ltbarcly_ quit (Quit: Computer has gone to sleep.) 2014-05-15T11:45:04Z erikvarga left #sbcl 2014-05-15T11:52:38Z attila_lendvai quit (Quit: Leaving.) 2014-05-15T11:54:06Z davazp joined #sbcl 2014-05-15T11:55:05Z Hydan joined #sbcl 2014-05-15T12:14:14Z yacks joined #sbcl 2014-05-15T12:26:20Z Poenikatu joined #sbcl 2014-05-15T12:31:42Z mega1``` joined #sbcl 2014-05-15T12:33:51Z mega1`` quit (Ping timeout: 265 seconds) 2014-05-15T12:35:11Z attila_lendvai joined #sbcl 2014-05-15T12:35:11Z attila_lendvai quit (Changing host) 2014-05-15T12:35:11Z attila_lendvai joined #sbcl 2014-05-15T12:42:43Z nyef joined #sbcl 2014-05-15T12:43:00Z nyef: G'morning all. 2014-05-15T12:46:16Z mega1```` joined #sbcl 2014-05-15T12:47:54Z mega1``` quit (Ping timeout: 240 seconds) 2014-05-15T12:55:41Z psilord quit (Quit: Leaving.) 2014-05-15T13:00:09Z brown`: Good morning! 2014-05-15T13:03:02Z krzysz00: Morning! 2014-05-15T13:15:06Z pranavrc quit (Ping timeout: 240 seconds) 2014-05-15T13:19:06Z Poenikatu quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2014-05-15T13:23:20Z eudoxia joined #sbcl 2014-05-15T13:25:15Z drmeister quit (Remote host closed the connection) 2014-05-15T13:27:16Z stassats joined #sbcl 2014-05-15T13:40:42Z drmeister joined #sbcl 2014-05-15T13:43:33Z nyef: Hello stassats. 2014-05-15T13:44:15Z stassats: so, there are only two test failures left, encapsulate nil? 2014-05-15T13:44:48Z stassats: gc tests are just bogus on #-gencgc, float tests depend on the trapping fpu, which VFPv3 isn't 2014-05-15T13:44:51Z nyef: Which I'm working on, slowly. 2014-05-15T13:44:55Z pkhuong: great. arm/linux > x86/darwin. Threaded cheneygc next? ;) 2014-05-15T13:45:02Z nyef: Wait, VFPv3 doesn't trap? 2014-05-15T13:45:14Z stassats: nope 2014-05-15T13:45:14Z pkhuong: [01:57] < stassats> "VFPv3U, an implementation of VFPv3 that can trap floating-point exceptions. It requires software support code." 2014-05-15T13:45:17Z pkhuong: [01:57] < stassats> " VFPv3 is backwards compatible with VFPv2, except that it cannot trap floating point exceptions. " 2014-05-15T13:45:20Z pkhuong: awesome, right? 2014-05-15T13:45:22Z nyef: Ouch. 2014-05-15T13:45:43Z nyef: Does it at least accumulate the exceptions in its status word? 2014-05-15T13:45:47Z pkhuong: guess we'll have a fwait pseudo instruction? 2014-05-15T13:46:00Z nyef: If so, we can implement an equiv... yeah, FWAIT. 2014-05-15T13:46:06Z stassats: nyef: doesn't appear 2014-05-15T13:46:28Z stassats: i may not have tested that 2014-05-15T13:47:17Z stassats: it does do that 2014-05-15T13:47:48Z nyef: Okay, so we can implement FLOAT-WAIT. 2014-05-15T13:52:07Z oleo joined #sbcl 2014-05-15T13:53:32Z stassats: it would need 4 instructions and a register 2014-05-15T13:54:51Z pkhuong: how much of that can go in elsewhere? 2014-05-15T13:56:15Z nyef: Why would it need to? 2014-05-15T13:56:56Z nyef: Okay, the trap itself would probably want to be in elsewhere, unless you get clever like I did with P-A. 2014-05-15T14:02:13Z segv- joined #sbcl 2014-05-15T14:02:23Z stassats: but can't invalid instructions be conditionally executed? 2014-05-15T14:04:11Z drmeister quit (Read error: Connection reset by peer) 2014-05-15T14:05:52Z davazp` joined #sbcl 2014-05-15T14:07:44Z davazp quit (Ping timeout: 252 seconds) 2014-05-15T14:13:16Z krzysz00: Is it portable/standards-compliant to write to or read from a stream of type '(unsigned-byte 24)? 2014-05-15T14:13:46Z stassats: think endianness 2014-05-15T14:15:24Z krzysz00: Right. 2014-05-15T14:17:24Z drmeister joined #sbcl 2014-05-15T14:17:25Z eudoxia quit (Quit: leaving) 2014-05-15T14:19:56Z Bike joined #sbcl 2014-05-15T14:20:52Z nyef: stassats: There's indication that *SOME* CPUs conditionally trap on invalid instructions, but that was a relatively recent addition to the spec. It was mentioned for a specific CPU type in the v7 reference, but not mentioned at all in the v6 reference. 2014-05-15T14:21:10Z stassats: well, if it has vfpv3, it is recent? 2014-05-15T14:21:23Z nyef: I don't know. 2014-05-15T14:21:37Z nyef: And it might be an orthogonal build option. 2014-05-15T14:22:39Z stassats: "VFPv3 is an optional extension to the ARM, Thumb® and ThumbEE instruction sets in the ARMv7-A and ARMv7-R profiles." 2014-05-15T14:27:01Z psilord joined #sbcl 2014-05-15T14:29:55Z nyef: 2014-05-12T16:10:17Z kanru`: so the ARM reference manual writes "If an UNDEFINED instruction fails a condition check in ARMv7-M, the instruction behaves as a NOP and does not cause an exception." 2014-05-15T14:33:01Z nyef: And then there's apparently similar wording for the ARMv7-A and ARMv7-R profiles. 2014-05-15T14:33:24Z nyef: But I haven't found any such text in the version of the ARM that I have, which only goes up to v6. 2014-05-15T14:35:58Z john3213 joined #sbcl 2014-05-15T14:41:01Z john3213 left #sbcl 2014-05-15T14:46:13Z prxq quit (Remote host closed the connection) 2014-05-15T14:51:47Z prxq joined #sbcl 2014-05-15T14:52:46Z prxq quit (Remote host closed the connection) 2014-05-15T14:57:54Z davazp` quit (Remote host closed the connection) 2014-05-15T15:04:18Z ltbarcly joined #sbcl 2014-05-15T15:04:42Z stassats: are there any CISC cpus left? 2014-05-15T15:05:13Z stassats: let's port to ibm z 2014-05-15T15:05:46Z ltbarcly quit (Read error: Connection reset by peer) 2014-05-15T15:06:19Z ltbarcly joined #sbcl 2014-05-15T15:06:27Z hlavaty: bad place for a wild pathname (WILD-PATHNAME-P #P"/tmp/[foo].bar" :name) -> T on sbcl, NIL on allegro and ccl 2014-05-15T15:06:53Z hlavaty: is that a bug? 2014-05-15T15:07:02Z stassats: no 2014-05-15T15:07:29Z hlavaty: hmm, ok 2014-05-15T15:07:33Z stassats: they are telling you the truth 2014-05-15T15:08:00Z stassats: you need (sb-ext:parse-native-namestring "/tmp/[foo].bar") 2014-05-15T15:08:25Z stassats: or (uiop:parse-native-namestring "/tmp/[foo].bar"), if you're into that kind of thing 2014-05-15T15:09:34Z hlavaty: (ENSURE-DIRECTORIES-EXIST #p"/tmp/[foo].bar") 2014-05-15T15:09:40Z hlavaty: that was the original call 2014-05-15T15:11:17Z hlavaty: is [ and ] somewhere specified to mean wild pathname? 2014-05-15T15:11:23Z hlavaty: cant find it 2014-05-15T15:11:30Z ltbarcly quit (Ping timeout: 240 seconds) 2014-05-15T15:12:47Z nyef: stassats: My current plans involve getting some of the RISC backends up to scratch, and then looking at something EPIC. 2014-05-15T15:12:49Z hlavaty: ah, maybe: namestring syntax that is implementation-independent 2014-05-15T15:14:31Z hlavaty: it's annoying that sbcl treats [ ] as wild 2014-05-15T15:15:54Z foom: Well, mainly, it's annoying that wild pathnames are a thing at all. 2014-05-15T15:16:03Z ltbarcly joined #sbcl 2014-05-15T15:16:10Z hlavaty: true 2014-05-15T15:16:14Z stassats: just always use parse-native-namestring 2014-05-15T15:16:38Z foom: Quite plainly that was a terrible idea. 2014-05-15T15:16:55Z ltbarcly quit (Read error: Connection reset by peer) 2014-05-15T15:17:00Z stassats: you mean, pathnames was a terrible idea? 2014-05-15T15:17:32Z ltbarcly joined #sbcl 2014-05-15T15:17:53Z nyef: Pathnames were an idea perfectly suited to their time... Which happened to be about thirty years ago. 2014-05-15T15:19:48Z stassats: system/z has 32-bit immediates 2014-05-15T15:20:00Z ltbarcly quit (Client Quit) 2014-05-15T15:20:46Z michael_lee joined #sbcl 2014-05-15T15:20:51Z hlavaty: what does [ ] actually mean that makes it wild-pathname-p? 2014-05-15T15:22:01Z michael_lee quit (Remote host closed the connection) 2014-05-15T15:22:45Z Bike: http://www.sbcl.org/1.0/manual/Lisp-Pathnames.html haha, thanks 2014-05-15T15:22:58Z stassats: that's a bad link 2014-05-15T15:23:23Z stassats: http://www.sbcl.org/manual/#Lisp-Pathnames 2014-05-15T15:24:16Z hlavaty: yeah i found those, i still dont see why is it acceptable for sbcl to think #P"/tmp/[foo].bar" is wild-pathname-p 2014-05-15T15:25:28Z stassats: why isn't it? 2014-05-15T15:25:55Z crixus joined #sbcl 2014-05-15T15:26:10Z hlavaty: Logical pathnames have the following format:... also doesnt say [ ] makes wild pathname 2014-05-15T15:26:16Z hlavaty: in sbcl sources 2014-05-15T15:26:33Z Bike: the manual doesn't say it but it's fine for sbcl to define pathnames however it likes 2014-05-15T15:28:47Z nyef: It might not be fine not to document it correctly, however. 2014-05-15T15:29:04Z foom: [] presumably means the same thing it means to /bin/sh. 2014-05-15T15:30:25Z hlavaty: this seems interesting http://www.lispworks.com/documentation/lw60/CLHS/Issues/iss267_w.htm ok thanks for help 2014-05-15T15:36:38Z hlavaty: found it, it is meant to change :character-set, amazing 2014-05-15T15:36:45Z hlavaty: and not documented 2014-05-15T15:36:54Z foom: oh really? Hah. 2014-05-15T15:37:07Z stassats: what? 2014-05-15T15:37:22Z stassats: it's just a set of characters which will be matched, like in regexes 2014-05-15T15:37:39Z stassats: you could save you time finding things by doing (describe #p"/tmp/[abc].bar") 2014-05-15T15:37:41Z hlavaty: are you sure? 2014-05-15T15:38:14Z hlavaty: if i inspect that pathname, i see Name: # 2014-05-15T15:38:16Z stassats: no, i would be pulling your leg 2014-05-15T15:38:32Z hlavaty: ah understand :-D 2014-05-15T15:38:35Z hlavaty: haha 2014-05-15T15:38:52Z hlavaty: different character set 2014-05-15T15:39:04Z stassats: what? 2014-05-15T15:39:15Z stassats: you are pulling your own leg, ok 2014-05-15T15:39:27Z hlavaty: no 2014-05-15T15:39:39Z hlavaty: i thought charset, not set of characters 2014-05-15T15:39:46Z hlavaty: anyway 2014-05-15T15:40:07Z stassats: a different charset wouldn't make any sense 2014-05-15T15:40:33Z hlavaty: dont know 2014-05-15T15:40:43Z hlavaty: i thought it might e.g. on windows 2014-05-15T15:40:59Z hlavaty: but that's why i found it amazing 2014-05-15T15:41:00Z hlavaty: :-D 2014-05-15T15:41:00Z michael_lee joined #sbcl 2014-05-15T15:43:19Z crixus quit (Ping timeout: 265 seconds) 2014-05-15T15:43:26Z nyef: Amazing that... SBCL can handle unix glob formats? 2014-05-15T15:43:49Z stassats: it can't handle [0-9] 2014-05-15T15:44:35Z hlavaty: yeah, i didnt expect that at all somehow ;-) 2014-05-15T15:44:41Z nyef: Quick! Open a bug! (assuming that there isn't one open already.) 2014-05-15T15:46:06Z hlavaty: shame one cant easily turn that wild stuff off 2014-05-15T15:46:18Z stassats: just use the bloody parse-native-namestring 2014-05-15T15:47:25Z hlavaty: hmm 2014-05-15T15:49:14Z stassats: [!...] isn't handled either 2014-05-15T15:49:48Z krzysz00 quit (Ping timeout: 276 seconds) 2014-05-15T15:51:14Z krzysz00 joined #sbcl 2014-05-15T15:54:30Z loke__: I'm reading the sbcl dev mailing list re. the discussions about GC conservatism 2014-05-15T15:54:56Z loke__: I thought the SBCL GC was already exact, and only the stack was GC'ed in a conservative manner? 2014-05-15T15:55:14Z loke__: I mean, pointers from the stack are the only pointers that are treated conservatively. 2014-05-15T15:55:21Z loke__: Isn't this true? 2014-05-15T15:55:40Z stassats: registers are too 2014-05-15T15:55:54Z stassats: on x86oids 2014-05-15T15:56:02Z nyef: And this applies to x86oids only, yes. 2014-05-15T15:56:03Z loke__: Right. I was thinking of the registers are being part of the "stack state" so to speak. 2014-05-15T15:56:20Z nyef: They are part of the "thread state", if that's what you're trying to get at. 2014-05-15T15:56:25Z stassats: i think safepoints can alleviate register pressure for the precise gc 2014-05-15T15:56:37Z stassats: registers just need to be alright during safepoints 2014-05-15T15:57:19Z loke__: So does the conservativity of the values on the stack pose a big problem? It's a very small part of the total amount of space. 2014-05-15T15:57:41Z nyef: The problem is that it pins the pages, and EVERY object on those pages is considered to be live. 2014-05-15T15:57:58Z loke__: Ooooh 2014-05-15T15:58:06Z loke__: What's the page size? 2014-05-15T15:58:08Z nyef: And then it goes on to not compact those pages. 2014-05-15T15:58:21Z nyef: Have a look. GENCGC_PAGE_SIZE, I believe. 2014-05-15T15:58:28Z loke__: Also, why is it doing that? For performance reasons? 2014-05-15T15:58:51Z crixus joined #sbcl 2014-05-15T15:59:02Z nyef: It's simpler than trying to set up markbits for the page so that we have explicit lifetime information. 2014-05-15T15:59:51Z loke__: There is a define called PAGE_SIZE, and another called THREAD_CSP_PAGE_SIZE 2014-05-15T16:09:30Z kanru quit (Ping timeout: 240 seconds) 2014-05-15T16:12:45Z nyef: The other thing is that the control stack has holes in it. Stack frames aren't completely initialized, so old data can remain in them indefinitely. 2014-05-15T16:14:06Z nyef: There's a function that scrubs out the space beyond the current stack pointer that is called by the toplevel REPL and by GC when it does a collection, which helps to mitigate some of it (plus it's absolutely required if we have precise GC). 2014-05-15T16:16:41Z loke__: So given this, how would a precise GC be implemented? 2014-05-15T16:18:14Z stassats: two stacks, two register partitions? 2014-05-15T16:18:34Z crixus quit (Ping timeout: 258 seconds) 2014-05-15T16:19:06Z loke__: stassats: But still, how does the GC know what is a pointer and what is random data? 2014-05-15T16:19:24Z stassats: pointers are only in pointer stack/registers 2014-05-15T16:19:32Z stassats: random data only on random data stack/registers 2014-05-15T16:20:44Z loke__: stassats: ooh. So the different stacks are used to store different things? Wouldn't that make frame allocations more costly though? You need to manipulate both stack pointers. 2014-05-15T16:21:11Z stassats: only if you use both 2014-05-15T16:21:18Z crixus joined #sbcl 2014-05-15T16:21:52Z loke__: stassats: It seems to me that that would be the common case, but I could be talking out of my arse of course. 2014-05-15T16:35:25Z notori0us quit (Ping timeout: 252 seconds) 2014-05-15T16:37:13Z notori0us joined #sbcl 2014-05-15T16:38:27Z pkhuong: loke__: not really that common 2014-05-15T16:50:27Z krzysz00 quit (Ping timeout: 252 seconds) 2014-05-15T16:52:22Z krzysz00 joined #sbcl 2014-05-15T16:57:30Z psilord quit (Ping timeout: 240 seconds) 2014-05-15T16:58:07Z psilord joined #sbcl 2014-05-15T17:04:59Z erikvarga joined #sbcl 2014-05-15T17:10:45Z prxq joined #sbcl 2014-05-15T17:17:25Z hlavaty quit (Remote host closed the connection) 2014-05-15T17:20:23Z stassats quit (Ping timeout: 245 seconds) 2014-05-15T17:24:15Z krzysz00: What's the usual way to clear a specific bit? 2014-05-15T17:24:21Z hlavaty joined #sbcl 2014-05-15T17:26:54Z nyef: There are a number of options, depending on what you're doing. 2014-05-15T17:27:08Z nyef: LOGANDC2 might be helpful. 2014-05-15T17:27:27Z nyef: Or using DPB to set a zero in place... 2014-05-15T17:30:26Z nyef: If you're working in terms of a place, there's (SETF LOGBITP). 2014-05-15T17:30:34Z nyef: Well, maybe not that last. 2014-05-15T17:30:44Z krzysz00: There's a (setf logbitp)? Must have missed it. 2014-05-15T17:30:46Z nyef: But if there isn't, it should be easy enough to implement. 2014-05-15T17:31:28Z nyef: Yeah, okay, no (setf logbitp) by default. 2014-05-15T17:31:36Z krzysz00: It'd be in terms of logandc2, logior and ash. 2014-05-15T17:32:02Z sdemarre joined #sbcl 2014-05-15T17:32:37Z nyef: Ooh. There's DEPOSIT-FIELD. 2014-05-15T17:33:17Z nyef: I bet the compiler can optimize that nicely for constant newbyte and bytespec. 2014-05-15T17:35:48Z krzysz00: Thanks for all the pointers. 2014-05-15T17:36:46Z krzysz00: I'm working on a re-write of the Unicode database, and I decided to be clever by cramming a bunch of boolean attributes into a single flags byte so I can just logbitp them on the other side. 2014-05-15T17:38:29Z sdemarre quit (Ping timeout: 252 seconds) 2014-05-15T17:41:41Z psilord quit (Ping timeout: 252 seconds) 2014-05-15T17:42:26Z psilord joined #sbcl 2014-05-15T17:54:02Z drmeiste_ joined #sbcl 2014-05-15T17:56:42Z drmeister quit (Ping timeout: 240 seconds) 2014-05-15T17:56:50Z sdemarre joined #sbcl 2014-05-15T17:58:12Z |3b|: CL doesn't have (setf logbitp), but sbcl implements it 2014-05-15T18:01:56Z michael_lee quit (Quit: Ex-Chat) 2014-05-15T18:21:38Z attila_lendvai quit (Quit: Leaving.) 2014-05-15T18:28:00Z attila_lendvai joined #sbcl 2014-05-15T18:44:49Z eudoxia joined #sbcl 2014-05-15T18:48:54Z crixus quit (Ping timeout: 240 seconds) 2014-05-15T18:51:18Z crixus joined #sbcl 2014-05-15T18:55:42Z stassats joined #sbcl 2014-05-15T19:02:45Z eudoxia quit (Quit: leaving) 2014-05-15T19:23:20Z krzysz00 quit (Ping timeout: 255 seconds) 2014-05-15T19:24:12Z crixus quit (Ping timeout: 265 seconds) 2014-05-15T19:25:04Z krzysz00 joined #sbcl 2014-05-15T19:27:13Z attila_lendvai quit (Quit: Leaving.) 2014-05-15T19:32:48Z crixus joined #sbcl 2014-05-15T19:46:50Z erikvarga left #sbcl 2014-05-15T19:47:14Z gingerale joined #sbcl 2014-05-15T20:01:22Z scymtym_ joined #sbcl 2014-05-15T20:11:42Z irsol quit (Remote host closed the connection) 2014-05-15T20:15:47Z nyef quit (Ping timeout: 252 seconds) 2014-05-15T20:21:46Z nyef joined #sbcl 2014-05-15T20:24:58Z sdemarre quit (Ping timeout: 245 seconds) 2014-05-15T20:32:46Z angavrilov quit (Remote host closed the connection) 2014-05-15T20:36:13Z oleo quit (Ping timeout: 265 seconds) 2014-05-15T20:37:02Z oleo joined #sbcl 2014-05-15T20:42:29Z irsol joined #sbcl 2014-05-15T20:45:22Z mega1```` quit (Ping timeout: 258 seconds) 2014-05-15T20:49:30Z krzysz00: Once I'm in target, is there a way to explain to read-sequence that my bytes are big-endian? 2014-05-15T20:50:21Z stassats: nope 2014-05-15T20:50:45Z nyef: Perhaps you shouldn't be using such a large element-type? 2014-05-15T20:51:11Z nyef: Or perhaps you need to start worrying about :external-format support for element-types larger than an octet? 2014-05-15T20:53:31Z krzysz00: Sorry, I'm just trying to see if there's any way to avoid manually writing `read-codepoint`. 2014-05-15T20:55:01Z fridim_ quit (Ping timeout: 252 seconds) 2014-05-15T20:55:07Z krzysz00: Looks like the answer is no. 2014-05-15T20:57:29Z fridim_ joined #sbcl 2014-05-15T21:00:36Z stassats: i guess i need to add --load option to make-target-2 2014-05-15T21:00:47Z stassats: to skip the compilation phase 2014-05-15T21:01:02Z stassats: commenting it in and out gets old quickly 2014-05-15T21:01:23Z nyef: Wha...? I just copied out the load-and-dump invocation and run that manually. 2014-05-15T21:01:52Z stassats: copying things back and forth is tiring too 2014-05-15T21:02:15Z nyef: If you're going to be hacking the build machinery anyway, though, please make genesis-2 source build-config, so that we can run it directly without having to source build-config first. 2014-05-15T21:02:30Z stassats: and i think i fixed LDR/STR disassembly 2014-05-15T21:02:46Z stassats: i hate dealing with disassembly due to the full rebuild requirement 2014-05-15T21:03:24Z nyef: Wasn't that partially fixed at some point? 2014-05-15T21:03:31Z stassats: apparently not 2014-05-15T21:03:58Z nyef: Hunh. I know that it's at least not doing that crazy eval-at-macroexpand-time bit anymore. At least, I don't *THINK* it's still doing that. 2014-05-15T21:04:01Z stassats: i redefined the definitions and it still showed old output 2014-05-15T21:04:11Z nyef: Ugh. 2014-05-15T21:05:09Z nyef: You might need to reload target-disassem as well. 2014-05-15T21:05:40Z nyef: Or even just nuke *disassem-inst-space*. 2014-05-15T21:05:45Z stassats: [R1-OCFP, LSL #2] looks confusing 2014-05-15T21:05:56Z stassats: maybe [R1, -OCFP, LSL #2] instead? 2014-05-15T21:06:38Z nyef: Yeah, the latter is correct per my copy of the ARM ARM. 2014-05-15T21:07:15Z nyef: Did I not do memory addressing modes, or did I not do them correctly or something? 2014-05-15T21:07:23Z nyef: Or was it that I missed a case? 2014-05-15T21:07:31Z stassats: incorrectly, i think 2014-05-15T21:07:38Z nyef: Ah, okay. 2014-05-15T21:07:45Z stassats: now i can't figure the difference between pre-indexing and post 2014-05-15T21:08:23Z nyef: Pre-indexed uses the !, post-indexed puts the close-bracket before the offset. 2014-05-15T21:09:24Z nyef: Seriously, try loading your changed definitions and then (setf sb-disassem:*disassem-inst-space* nil), and see if that works. 2014-05-15T21:09:33Z stassats: ok, right 2014-05-15T21:09:46Z stassats: all cases seem to work 2014-05-15T21:10:13Z nyef: Ugh. Is it too much to ask that there be a way for arch_do_displaced_inst() to say "not gonna do that" without just calling lose()? 2014-05-15T21:10:19Z stassats: is it necessary to print the + sign? 2014-05-15T21:10:26Z nyef: Yes, it is. 2014-05-15T21:12:27Z stassats: the arm-arm doc doesn't 2014-05-15T21:12:56Z nyef: ... Mine does. 2014-05-15T21:13:00Z nyef: Either way, then. 2014-05-15T21:13:19Z stassats: it says +/-, but in examples, there is no sign 2014-05-15T21:14:34Z stassats: R1+OCFP makes sense, but when it is R1, OCFP, it looks better without 2014-05-15T21:14:56Z stassats: i'm for omitting 2014-05-15T21:17:49Z stassats: and that's what i did 2014-05-15T21:17:55Z stassats: now, to add static symbols annotation 2014-05-15T21:18:10Z nyef: And then static-funs? 2014-05-15T21:18:25Z stassats: i implied both 2014-05-15T21:18:39Z nyef: No you didn't. d-: 2014-05-15T21:18:55Z stassats: and then i can get back to seeing where TIME conses 2014-05-15T21:19:03Z stassats: so that i can see what's being called 2014-05-15T21:20:12Z drmeiste_ quit (Quit: Leaving...) 2014-05-15T21:23:12Z krzysz00: Kryzsof: What's the purpose of !character-database-cold-init ? 2014-05-15T21:24:45Z stassats: it's called during the first at start up on the target 2014-05-15T21:25:09Z stassats: the first start, which is called the cold init 2014-05-15T21:25:15Z stassats: cold, because it doesn't have clos yet 2014-05-15T21:27:25Z nyef: Cold, in fact, because when it first kicks off almost nothing actually WORKS. Not even packages. 2014-05-15T21:27:28Z krzysz00: Ah. I was just wondering why the work of reading/properly initializing the database was split between a macro and that function, so I could put the new stuff in the right place. 2014-05-15T21:30:54Z nyef: Now, if you can arrange to dump a properly-initialized database into the fasl at cross-compile time, so much the better. 2014-05-15T21:31:04Z nyef: Hacking genesis to do the work is kindof iffy, though. 2014-05-15T21:32:53Z fridim_ quit (Ping timeout: 245 seconds) 2014-05-15T21:34:12Z krzysz00: The file where all this happens is :not-host. Doesn't that mean I don't have to worry about cross-compilation? (Or am I misreading the build process again?) 2014-05-15T21:36:39Z davazp joined #sbcl 2014-05-15T21:38:46Z nyef: It means that it's not processed by the host compiler when building the cross-compiler. 2014-05-15T21:39:04Z nyef: It IS processed by the cross-compiler when building the cold-core. 2014-05-15T21:39:40Z krzysz00: What sorts of things am I not allowed to do before cold-init? 2014-05-15T21:39:56Z nyef: Almost everything. 2014-05-15T21:40:36Z nyef: Seriously, have a look through !cold-init to see what's involved in bringing a cold-core up to the point of being able to run the toplevel forms from all of the fasls produced by the cross-compiler. 2014-05-15T21:45:06Z krzysz00: Unicode stuff is pretty close to the top. 2014-05-15T21:46:14Z nyef: Anything mentioned lower down is off-limits, then. d-: 2014-05-15T21:47:40Z eudoxia joined #sbcl 2014-05-15T21:50:25Z krzysz00: And I have to stick my new clever casing system in there (perfect hashtable). 2014-05-15T21:54:38Z prxq quit (Remote host closed the connection) 2014-05-15T21:55:41Z nyef: At this point I shall wish you luck and bid you good evening. 2014-05-15T21:55:44Z nyef quit (Quit: G'night all.) 2014-05-15T21:59:03Z krzysz00: I think at this point I'll call it a day and try to figure this out tomorrow. 2014-05-15T22:01:10Z davazp quit (Remote host closed the connection) 2014-05-15T22:10:57Z Hydan quit (Quit: Textual IRC Client: www.textualapp.com) 2014-05-15T22:19:39Z ASau joined #sbcl 2014-05-15T22:20:07Z karswell joined #sbcl 2014-05-15T22:30:24Z segv- quit (Ping timeout: 258 seconds) 2014-05-15T22:36:24Z kdoug joined #sbcl 2014-05-15T22:43:15Z kdoug quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) 2014-05-15T22:44:43Z psilord quit (Quit: Leaving.) 2014-05-15T22:49:26Z stassats quit (Ping timeout: 255 seconds) 2014-05-15T23:11:04Z stassats joined #sbcl 2014-05-15T23:38:38Z crixus quit (Ping timeout: 240 seconds) 2014-05-15T23:39:01Z eudoxia quit (Quit: leaving) 2014-05-15T23:43:26Z stassats quit (Ping timeout: 255 seconds) 2014-05-15T23:55:07Z edgar-rft quit (Quit: connection ended by mental disaster) 2014-05-15T23:57:53Z krzysz00 quit (Ping timeout: 245 seconds) 2014-05-15T23:59:47Z krzysz00 joined #sbcl 2014-05-16T00:08:55Z crixus joined #sbcl 2014-05-16T00:17:27Z zRecursive joined #sbcl 2014-05-16T00:58:08Z krzysz00 quit (Ping timeout: 255 seconds) 2014-05-16T00:59:57Z krzysz00 joined #sbcl 2014-05-16T01:18:11Z Bike quit (Ping timeout: 252 seconds) 2014-05-16T01:19:58Z Bike joined #sbcl 2014-05-16T01:37:05Z kanru joined #sbcl 2014-05-16T01:56:49Z psilord joined #sbcl 2014-05-16T02:01:34Z DGASAU quit (Remote host closed the connection) 2014-05-16T02:03:24Z DGASAU joined #sbcl 2014-05-16T02:38:06Z kanru quit (Read error: Connection reset by peer) 2014-05-16T02:38:43Z yacks quit (Ping timeout: 265 seconds) 2014-05-16T02:39:41Z christoph_debian quit (Ping timeout: 265 seconds) 2014-05-16T02:51:00Z kanru joined #sbcl 2014-05-16T02:57:45Z yacks joined #sbcl 2014-05-16T02:57:50Z christoph_debian joined #sbcl 2014-05-16T02:59:58Z Bike quit (Ping timeout: 245 seconds) 2014-05-16T03:00:02Z Bike_ joined #sbcl 2014-05-16T03:07:47Z Bike_ is now known as Bike 2014-05-16T03:35:01Z Poenikatu joined #sbcl 2014-05-16T03:37:00Z Poenikatu: Hello. Just to let you know that I have produced the Debian packages for sbcl 1.1.18: sbcl, sbcl-doc and sbcl-source. These are not official, but can be obtained from my web-site: http://www.poenikatu.co.uk/src/ 2014-05-16T03:37:47Z attila_lendvai joined #sbcl 2014-05-16T03:37:47Z attila_lendvai quit (Changing host) 2014-05-16T03:37:47Z attila_lendvai joined #sbcl 2014-05-16T03:41:49Z edgar-rft joined #sbcl 2014-05-16T03:46:39Z momo-reina joined #sbcl 2014-05-16T04:00:41Z gingerale quit (Ping timeout: 240 seconds) 2014-05-16T04:00:54Z krzysz00 quit (Ping timeout: 240 seconds) 2014-05-16T04:02:57Z krzysz00 joined #sbcl 2014-05-16T04:31:33Z momo-reina quit (Remote host closed the connection) 2014-05-16T04:35:57Z Hydan joined #sbcl 2014-05-16T04:52:36Z scymtym_ quit (Ping timeout: 265 seconds) 2014-05-16T05:03:37Z oleo quit (Quit: Leaving) 2014-05-16T05:33:12Z krzysz00 quit (Ping timeout: 265 seconds) 2014-05-16T05:34:39Z krzysz00 joined #sbcl 2014-05-16T05:37:37Z sdemarre joined #sbcl 2014-05-16T05:49:44Z pranavrc joined #sbcl 2014-05-16T05:49:44Z pranavrc quit (Changing host) 2014-05-16T05:49:44Z pranavrc joined #sbcl 2014-05-16T06:03:53Z krzysz00 quit (Ping timeout: 276 seconds) 2014-05-16T06:05:17Z krzysz00 joined #sbcl 2014-05-16T06:08:06Z sdemarre quit (Ping timeout: 258 seconds) 2014-05-16T06:28:35Z Bike quit (Ping timeout: 276 seconds) 2014-05-16T06:53:34Z attila_lendvai quit (Quit: Leaving.) 2014-05-16T07:04:09Z angavrilov joined #sbcl 2014-05-16T07:09:29Z crixus quit (Ping timeout: 240 seconds) 2014-05-16T07:26:50Z Poenikatu quit (Remote host closed the connection) 2014-05-16T07:27:59Z zRecursive quit (Remote host closed the connection) 2014-05-16T07:31:47Z mega1```` joined #sbcl 2014-05-16T07:33:30Z leo2007 quit (Quit: rcirc on GNU Emacs 24.4.50.1) 2014-05-16T07:37:16Z mega1```` is now known as mega1 2014-05-16T07:38:27Z leo2007 joined #sbcl 2014-05-16T07:41:07Z fridim_ joined #sbcl 2014-05-16T07:41:14Z ASau quit (Ping timeout: 240 seconds) 2014-05-16T08:05:44Z krzysz00 quit (Ping timeout: 252 seconds) 2014-05-16T08:06:25Z yacks quit (Ping timeout: 265 seconds) 2014-05-16T08:07:28Z krzysz00 joined #sbcl 2014-05-16T08:07:44Z yacks joined #sbcl 2014-05-16T08:37:02Z yacks quit (Ping timeout: 240 seconds) 2014-05-16T08:44:25Z yacks joined #sbcl 2014-05-16T08:46:19Z kanru` joined #sbcl 2014-05-16T08:51:46Z ltbarcly joined #sbcl 2014-05-16T09:03:17Z davazp joined #sbcl 2014-05-16T09:03:22Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-16T09:16:47Z fridim_ quit (Ping timeout: 252 seconds) 2014-05-16T09:36:15Z fridim_ joined #sbcl 2014-05-16T10:02:54Z kanru` quit (Ping timeout: 265 seconds) 2014-05-16T10:20:45Z stassats joined #sbcl 2014-05-16T10:43:41Z fridim_ quit (Ping timeout: 252 seconds) 2014-05-16T10:50:55Z attila_lendvai joined #sbcl 2014-05-16T10:50:55Z attila_lendvai quit (Changing host) 2014-05-16T10:50:55Z attila_lendvai joined #sbcl 2014-05-16T11:19:08Z segv- joined #sbcl 2014-05-16T11:26:11Z pillton: Is someone funding the ARM port of SBCL? 2014-05-16T11:46:34Z Krystof: no. (Would you like to? :) 2014-05-16T11:53:59Z attila_lendvai quit (Quit: Leaving.) 2014-05-16T11:56:04Z pillton: I bought a shirt and a cup. 2014-05-16T11:56:20Z pillton: :) 2014-05-16T12:12:20Z erikvarga joined #sbcl 2014-05-16T12:13:51Z LiamH joined #sbcl 2014-05-16T12:40:24Z pkhuong: Krystof: we're probably not typical, but it's rarely the ability to code in any specific language that makes me go "no no" on a job candidate. 2014-05-16T12:40:50Z oleo joined #sbcl 2014-05-16T12:41:27Z prxq joined #sbcl 2014-05-16T12:42:38Z pkhuong: granted, the kind of knowledge we're looking for is strongly associated with knowing C, but C++ arcana wouldn't be useful (except as a signal that one *thinks* they know C++ ;) 2014-05-16T12:46:00Z Krystof: heh 2014-05-16T12:46:19Z Krystof: but you, forgive me, are probably not the median employer 2014-05-16T12:46:31Z Krystof: and you personally are not the median programmer :-) 2014-05-16T12:47:39Z pkhuong: we'd probably skew average salaries upward though ;) 2014-05-16T12:49:16Z Krystof: so for most real jobs I think domain knowledge trumps programming skill (though obviously the employer hopes for both) 2014-05-16T12:49:26Z Krystof: certainly programming-in-a-particular-language skill 2014-05-16T12:49:44Z Krystof: for entry-level graduate jobs, though, programming-in-a-particular-language is all the students have, really 2014-05-16T12:49:53Z Krystof: and so that's what they get assessed on 2014-05-16T12:50:46Z pkhuong: so, my alma mater is renowned for not teaching to code, but also for giving people (who come out with a >= B average) really strong fundamentals 2014-05-16T12:50:48Z jsnell_: then I don't think C++ would probably not be the right choice for the final leg on your tripod. it's a pretty small niche 2014-05-16T12:51:06Z pkhuong: yeah, for employability, Java, JS or Python seem like better choices. 2014-05-16T12:51:45Z jsnell_: (and of course remove one negative from that awkwardly constructed sentence, oops) 2014-05-16T12:52:23Z jsnell_: those three sound about right, yes 2014-05-16T12:52:54Z Krystof: hm, then I probably need the Lisp dialect to be CL, which I was trying to avoid 2014-05-16T12:53:01Z Krystof: (so that there's *something* that goes to machine code) 2014-05-16T12:53:15Z pkhuong: but even those who didn't go through a trade school or work on stuff on their own quickly managed to get jobs. They're just expected to learn how to use git and real tools extra quickly. 2014-05-16T12:53:19Z jsnell_: you already had ARM assembler there! :-) 2014-05-16T12:53:35Z Krystof: ... but you know what I mean :) 2014-05-16T12:54:22Z Krystof: Python is probably the one I would hate least, but its tooling feels pretty poor. 2014-05-16T12:54:51Z Krystof: pkhuong: there's also the question about the quality of the intake 2014-05-16T12:54:53Z pkhuong: i hear it's a lot better. 2014-05-16T12:55:27Z prxq: jsnell_: C++ is a niche? 2014-05-16T12:55:29Z pkhuong: Krystof: I doubt there's an intake quality... attrition, otoh ;) 2014-05-16T12:55:34Z Krystof: things I am probably not allowed to say on even my personal blog include reflections on the general cognitive ability and desire to apply themselves of our students 2014-05-16T12:55:39Z pkhuong: prxq: for entry-level jobs? I would say so. 2014-05-16T12:55:57Z Krystof: I might get away with it about our staff ;-) 2014-05-16T12:56:10Z Krystof: right, we're not really allowed to fail our intake, whereas I hear it's a bit different over the pond 2014-05-16T12:56:22Z Krystof: I'm probably not allowed to say that either 2014-05-16T12:56:43Z prxq: Krystof: you mean new students have to pass? 2014-05-16T12:56:50Z prxq is confused 2014-05-16T12:57:46Z Krystof: if we accept a student, it is because we expect them to be able to pass their degree 2014-05-16T12:58:33Z pkhuong: well, I sometimes wonder how much better classes would be if profs couldn't get away with failing 30% of students. There's a bunch of papers about how we don't know how to teach CS (end of term success strongly correlates with results on a multiple choice test on the first day); I sometimes wonder if we just don't feel like it ;) 2014-05-16T12:58:43Z Krystof: right 2014-05-16T12:58:54Z jsnell_: prxq: places where it'd be expected, especially for new grads, must be pretty niche. AAA games studios. maybe finance. 2014-05-16T12:59:09Z Krystof: it's not that it's expected 2014-05-16T12:59:16Z Krystof: it's that standardized testing can cope with it 2014-05-16T13:00:41Z Krystof: while I have some attention here: I am proposing to the CLF (who are happy to handle donations for the SBCL project) a 2-of-3 signatories protocol for doing stuff with the money 2014-05-16T13:00:42Z Krystof: thoughts? 2014-05-16T13:00:51Z pkhuong: it's a good idea (:L 2014-05-16T13:00:55Z prxq: The problem is that it is hard to teach people to think. Those that do with ease are good at the beginning and at the end of a course. 2014-05-16T13:03:41Z Krystof: conveniently, we have three sf-project admins who talk to each other on IRC 2014-05-16T13:03:59Z Krystof: in terms of bootstrapping an organization of sorts, that seems like a simple way 2014-05-16T13:04:02Z prxq: Krystof: have you checked if there is an officially approved (wrt relevant government institutions) policy with regards to that? 2014-05-16T13:04:12Z Krystof: but, open to the channel: thoughts? 2014-05-16T13:04:20Z Krystof: prxq: wait, with respect to what? 2014-05-16T13:04:21Z prxq: usually, these kind of tasks have a high level of standarization. 2014-05-16T13:04:27Z pranavrc quit 2014-05-16T13:04:32Z Krystof: oh, testing of programming 2014-05-16T13:04:37Z Krystof: we don't do government tests in the UK 2014-05-16T13:04:43Z Krystof: that would be meddling 2014-05-16T13:05:15Z prxq: no, I mean accounting and taxing 2014-05-16T13:06:01Z Krystof: ah 2014-05-16T13:06:18Z Krystof: the CLF is a legal umbrella non-profit, and are happy that SBCL fits with their aims 2014-05-16T13:06:39Z prxq: of course! 2014-05-16T13:06:49Z hlavaty: is CLF this http://www.cl-foundation.org/ ? 2014-05-16T13:06:53Z Krystof: going through them saves SBCL itself from having to form an organization 2014-05-16T13:06:55Z Krystof: hlavaty: yes 2014-05-16T13:07:10Z hlavaty: i thought you were in the uk 2014-05-16T13:07:15Z Krystof: I am 2014-05-16T13:08:06Z Krystof: I don't think anyone is planning to draw any actual money from our vast sums 2014-05-16T13:08:24Z hlavaty: is that a new project? a linked text file mentions 4/2014 2014-05-16T13:08:56Z Krystof: what, the clf? Fairly new, but they were active this time last year (they handled all the finances for the ECLM in Madrid) 2014-05-16T13:09:39Z jsnell_: dual signatory seems like a good idea. if it's "out of 3" then it's best to be very careful about making sure there's always a quorum available. unfortunately people do occasionally disappear from the sbcl world for long amounts of time 2014-05-16T13:11:22Z prxq: I think it is better to ask whoever is responsible for the money, as he/she might have a clear idea of what is needed formally to hand out money 2014-05-16T13:11:30Z prxq: and sorry for being such a drag :-) 2014-05-16T13:11:46Z hlavaty: but the funding doesnt seem to go toward sbcl, is there something like that for sbcl now nikodemus closed his business? 2014-05-16T13:12:03Z nyef joined #sbcl 2014-05-16T13:12:11Z nyef: G'morning all. 2014-05-16T13:12:13Z Krystof: hlavaty, prxq: I have had discussions with the CLF board, and they already provide this service for other projects 2014-05-16T13:12:22Z Krystof: and the treasurer is responsible for the CLF's money 2014-05-16T13:12:39Z Krystof: you can think of that as SBCL having a "bank account" with the CLF 2014-05-16T13:13:08Z Krystof: so if someone donates to SBCL, it goes into the CLF's real bank account, but SBCL can draw (effectively) 95% of it 2014-05-16T13:13:50Z Krystof: and, no, there is nothing SBCL-dedicated other than the CLF 2014-05-16T13:15:20Z eudoxia joined #sbcl 2014-05-16T13:16:00Z Krystof: hm, I should query SBCL's (lack of) balance in the 2013 statement 2014-05-16T13:16:22Z hlavaty: i would like to steer my work into contributing to sbcl somehow, but it would have to be more related to what we need rather than what CLF chooses 2014-05-16T13:16:36Z Krystof: I'm clearly not communicating 2014-05-16T13:16:39Z Krystof: CLF does not choose anything 2014-05-16T13:16:58Z Krystof: "SBCL" might choose something, but SBCL does not exist as a legal entity 2014-05-16T13:17:28Z hlavaty: understand 2014-05-16T13:20:45Z prxq: my personal experience with these things is that, if something were to happen, there might be a default type of organization under which current activities would be conceinved by law. 2014-05-16T13:21:12Z erikvarga left #sbcl 2014-05-16T13:22:44Z Krystof: I don't understand what that means 2014-05-16T13:24:50Z prxq: it means that someday a judge might decided that the developers form an organization of a type X, and apply corresponding rules to duties and rights. That sounds worse than it is, but is the way it is germany, at least. 2014-05-16T13:24:59Z prxq: s/decided/decide/ 2014-05-16T13:25:14Z Krystof: right 2014-05-16T13:25:30Z Krystof: I'm sure in the event of a real dispute with actual lawyers all sorts of things might get complicated 2014-05-16T13:25:44Z Krystof: but in the meantime what I expect CLF to do for us is something like 2014-05-16T13:26:45Z prxq: that looks like these guys have it figured out. 2014-05-16T13:30:01Z prxq: and I think that is what the CLF has in mind. 2014-05-16T13:30:46Z crixus joined #sbcl 2014-05-16T13:34:19Z prxq: and all I am saying wrt the 2-of-3 rule is that for the CLF conservacy to be effective, it probably needs certain formal steps to release money, and 2-of-3 might or might not make sense. 2014-05-16T13:34:36Z prxq: and I'll stop now because I really dont want to annoy anyone :-/ 2014-05-16T13:36:02Z Krystof: thanks! I brought this up with Erik (CLF treasurer) when I had a meeting with him on Monday, and he said he would take it to the board 2014-05-16T13:36:10Z Krystof: so hopefully there will be such a formal process 2014-05-16T13:45:54Z asedeno quit (*.net *.split) 2014-05-16T13:45:54Z hzp quit (*.net *.split) 2014-05-16T13:45:56Z jaimef quit (*.net *.split) 2014-05-16T13:46:08Z asedeno joined #sbcl 2014-05-16T13:46:13Z hzp joined #sbcl 2014-05-16T13:48:13Z jaimef joined #sbcl 2014-05-16T13:48:52Z davazp quit (Remote host closed the connection) 2014-05-16T13:49:06Z davazp joined #sbcl 2014-05-16T13:56:13Z crixus quit (Ping timeout: 245 seconds) 2014-05-16T13:59:18Z LiamH quit (Quit: Leaving.) 2014-05-16T13:59:28Z krzysz00: Krystof: This might be a very dumb question, but why is the setting of the character database and things like that done twice, once at macroexpand time for target-char.lisp and again in cold init? 2014-05-16T14:12:38Z krzysz00: minion: memo for Krystof: This might be a very dumb question, but why is the setting of the character database and things like that done twice, once at macroexpand time for target-char.lisp and again in cold init? 2014-05-16T14:12:38Z minion: Remembered. I'll tell Krystof when he/she/it next speaks. 2014-05-16T14:13:29Z davazp quit (Remote host closed the connection) 2014-05-16T14:24:21Z gingerale joined #sbcl 2014-05-16T14:38:25Z Krystof: minion: forget my memos 2014-05-16T14:38:26Z minion: OK, I threw it out. 2014-05-16T14:39:26Z Krystof: krzysz00: it's not a completely dumb question :-) 2014-05-16T14:39:45Z Krystof: defglobal has two effects. One is to proclaim the symbol as global and always bound; the other is to set its value 2014-05-16T14:40:31Z Krystof: in order to compile the rest of target-char.lisp, the global proclamation needs to take effect 2014-05-16T14:40:57Z Krystof: in order for other bits of cold-init to progress, the character database needs to have its value 2014-05-16T14:41:58Z Krystof: what happens during the build phases: in make-host-2.sh, the cross-compiler cross-builds all the target files, producing fasls which make-genesis-2 knows how to link into cold-sbcl.core 2014-05-16T14:42:30Z Krystof: however, because genesis-2 is still executing on the host lisp, it can't execute the top-level forms in the fasls -- it can only arrange for those top-level forms to be run later 2014-05-16T14:43:08Z Krystof: but you can only run the top-level forms once enough of the infrastructure is set up to run them -- in other words, that cold-init has run far enough that the lisp runtime is basically working 2014-05-16T14:44:23Z Krystof: ok, all that said, the reason why your question is not completely dumb is that the defglobals in the `(progn ... ) expansion could probably be declaim always-bound instead 2014-05-16T14:45:30Z Krystof: or global, or whatever it is 2014-05-16T14:48:37Z Krystof: also, can someone please look at %compiler-defglobal and tell me that there is or is not a bug in it? 2014-05-16T14:48:55Z Krystof: oh, no, false alert 2014-05-16T14:55:31Z nyef: Hrm. 16 high-importance bugs. 3 fix-committed. 2 external-format-newline-policy. 1 a duplicate of a low-priority bug. 1 partly a consequence of the CL spec. 2 thread-safety issues... 2014-05-16T14:55:54Z nyef: 1 specific to solaris. 2014-05-16T14:56:55Z nyef: 4 actually possibly interesting. 2014-05-16T15:02:37Z scymtym_ joined #sbcl 2014-05-16T15:06:46Z krzysz00: Thanks Krystof. 2014-05-16T15:06:50Z drmeister joined #sbcl 2014-05-16T15:07:51Z krzysz00: So basically, anything actually needed for cl functions to work needs to also be set in cold-init, while stuff like the decompositions array can just go once in the defglobal? 2014-05-16T15:09:33Z nyef: The constraint isn't "for CL functions to work" so much as "for any top-level form that would be evaluated earlier to work", and I have no idea about the decompositions array, but basically, yeah. 2014-05-16T15:09:53Z Krystof: right, that's the general idea 2014-05-16T15:10:04Z krzysz00_ joined #sbcl 2014-05-16T15:12:13Z nyef: Is https://bugs.launchpad.net/sbcl/+bug/485231 still valid? ISTR having trouble with something to do with more transparent TYPEP and array type unification recently... 2014-05-16T15:12:49Z krzysz00 quit (Ping timeout: 252 seconds) 2014-05-16T15:14:35Z Krystof: I think it's probably still valid in general 2014-05-16T15:16:59Z nyef: Okay, fair enough. 2014-05-16T15:18:36Z sdemarre joined #sbcl 2014-05-16T15:21:22Z attila_lendvai joined #sbcl 2014-05-16T15:21:22Z attila_lendvai quit (Changing host) 2014-05-16T15:21:22Z attila_lendvai joined #sbcl 2014-05-16T15:22:33Z nyef: Can we close https://bugs.launchpad.net/sbcl/+bug/310221 as fixed, since M-A-O now uses the same logic that the GC does when walking the heap? 2014-05-16T15:29:23Z krzysz00_: Krystof: What's lower-case-p mean currently? Is it general-category = Ll? Or is it that (lower-case-p x) => (char/= x (char-upcase x))? 2014-05-16T15:31:04Z krzysz00_ is now known as krzysz00 2014-05-16T15:32:13Z eudoxia quit (Quit: Lost terminal) 2014-05-16T15:34:31Z nyef: Hunh. All of the damage around reporting memory fault addresses is due to the x86oid altstack. 2014-05-16T15:35:59Z Krystof: krzysz00: the latter 2014-05-16T15:36:40Z Krystof: CLHS 13.1.4.3: "Every character with case is in one-to-one correspondence with some other character with the opposite case." 2014-05-16T15:37:04Z Krystof: (and 13.1.4.3.4) 2014-05-16T15:37:59Z nyef: Would it make sense to define common-lisp case as separate from unicode case for the most part? 2014-05-16T15:38:17Z Bike joined #sbcl 2014-05-16T15:38:43Z krzysz00: Thanks. Some repl-ification revealed that (now that we're accounting for the not very 1-to-1 prosgegrammeni mappings) upper-case-p === (and both-case-p (gc = Lu)) 2014-05-16T15:39:08Z Krystof: nyef: it would to me 2014-05-16T15:43:38Z krzysz00 quit (Ping timeout: 240 seconds) 2014-05-16T15:43:53Z krzysz00 joined #sbcl 2014-05-16T15:45:58Z sdemarre quit (Ping timeout: 240 seconds) 2014-05-16T15:47:40Z kanru` joined #sbcl 2014-05-16T15:51:19Z ASau joined #sbcl 2014-05-16T16:02:07Z sdemarre joined #sbcl 2014-05-16T16:03:03Z hlavaty quit (Remote host closed the connection) 2014-05-16T16:05:10Z Poenikatu joined #sbcl 2014-05-16T16:13:35Z kanru` quit (Ping timeout: 276 seconds) 2014-05-16T16:13:43Z krzysz00 quit (Ping timeout: 245 seconds) 2014-05-16T16:13:53Z Bike quit (Ping timeout: 240 seconds) 2014-05-16T16:15:36Z krzysz00 joined #sbcl 2014-05-16T16:22:08Z krzysz00: I can't dump arrays of 16 or 24-bit values to fasls? Shame. 2014-05-16T16:23:16Z nyef: Shame, but that's portability for you. 2014-05-16T16:23:31Z nyef: As is the ridiculously low maximum array size. 2014-05-16T16:25:30Z krzysz00: I can't dump vectors of fixnums either, can I? 2014-05-16T16:25:48Z nyef: Umm... I don't know if that works, TBH. 2014-05-16T16:27:13Z nyef: Wait, what? 16 should work. 2014-05-16T16:27:31Z nyef: Have a look at DUMP-SPECIALIZED-VECTOR in SYS:SRC;COMPILER;DUMP.LISP. 2014-05-16T16:27:50Z krzysz00: "; Objects of type (SIMPLE-ARRAY (UNSIGNED-BYTE 16) (58368)) can't be dumped into fasl files. 2014-05-16T16:27:53Z krzysz00: " 2014-05-16T16:30:46Z nyef: Interesting. That's from MAYBE-EMIT-MAKE-LOAD-FORMS in SYS:SRC;COMPILER;IR1TRAN.LISP. You might be able to just add a couple more types to TRIVIALP and have it work. 2014-05-16T16:31:36Z Krystof: in general that's a bad idea 2014-05-16T16:31:48Z Krystof: because you can't know when you're running on the host that your array is in fact specialized 2014-05-16T16:32:04Z Krystof: plenty of CL implementations don't have a specialized (unsigned-byte 16) representation 2014-05-16T16:32:19Z Krystof: so there is literally no way of making one 2014-05-16T16:32:25Z nyef: Joy. But we have logic to dump one if we have it. /-: 2014-05-16T16:32:51Z Krystof: true 2014-05-16T16:33:13Z Krystof: I wonder if we ever need it. I hope not 2014-05-16T16:33:28Z Krystof: oh, we do for debug info something something 2014-05-16T16:33:35Z nyef: Eesh. 2014-05-16T16:33:40Z krzysz00: Krystof, what happens if the character database is essentially broken until cold-init? 2014-05-16T16:33:50Z Krystof: until when in cold-init? 2014-05-16T16:34:16Z Krystof: I can't remember exactly when you start needing to down/upcase things 2014-05-16T16:34:47Z krzysz00: About the top (!character-database-cold-init) 2014-05-16T16:35:18Z mega1: stassats: I upgraded sbcl and now loading cl-pattern fails with: 2014-05-16T16:35:19Z mega1: Reader macro conflict while trying to merge the macro character #\# from # into #. 2014-05-16T16:35:37Z Krystof: krzysz00: it doesn't matter, because nothing needs it until then 2014-05-16T16:36:03Z krzysz00: At which point I can transform apparently transform arrays of bytes (not what I want) to arrays of codepoints or 16-bit indexes (what I actually want). 2014-05-16T16:39:21Z erikvarga joined #sbcl 2014-05-16T16:42:08Z irsol quit (Ping timeout: 265 seconds) 2014-05-16T16:44:01Z mega1: stassats: I misremembered, it wasn't you who broke it. 2014-05-16T16:44:14Z krzysz00 quit (Ping timeout: 240 seconds) 2014-05-16T16:46:15Z krzysz00 joined #sbcl 2014-05-16T16:46:38Z cmack quit (Ping timeout: 240 seconds) 2014-05-16T16:47:18Z stassats: phew 2014-05-16T16:52:00Z mega1: performing bisection with a strong prior 2014-05-16T16:53:43Z Poenikatu left #sbcl 2014-05-16T17:01:04Z irsol joined #sbcl 2014-05-16T17:11:40Z mega1: douglas katzman is not here, right? 2014-05-16T17:11:55Z stassats: right 2014-05-16T17:15:06Z krzysz00 quit (Ping timeout: 258 seconds) 2014-05-16T17:16:54Z krzysz00 joined #sbcl 2014-05-16T18:14:18Z krzysz00: Yay, ldb again 2014-05-16T18:14:40Z nyef: LDB. Love it or loathe it, you can't ignore it. 2014-05-16T18:15:15Z nyef: Though I must say, while I used to regard LDB as largely useless, it's been VERY good for me over the past about two months. 2014-05-16T18:22:58Z cmack joined #sbcl 2014-05-16T18:25:19Z krzysz00: What can you do in LDB, anyhow? 2014-05-16T18:29:31Z Krystof: backtrace 2014-05-16T18:29:36Z Krystof: attach a gdb 2014-05-16T18:29:43Z Krystof: think very hard 2014-05-16T18:29:48Z Krystof: if you're lucky, print things 2014-05-16T18:29:50Z stassats: printing things, dumping memory 2014-05-16T18:29:56Z krzysz00: You can attach a GDB? 2014-05-16T18:29:57Z stassats: examining registers 2014-05-16T18:30:10Z Krystof: you can. gdb -p src/runtime/sbcl 2014-05-16T18:30:30Z krzysz00: I think that the character database gets initialized before "printing things", sadly 2014-05-16T18:30:49Z stassats: %print is always there 2014-05-16T18:31:38Z stassats: or what's its name 2014-05-16T18:32:02Z Krystof: ldb's print is implemented in C 2014-05-16T18:32:10Z stassats: (%primitive print "string") 2014-05-16T18:32:18Z krzysz00: I didn't know about that one. 2014-05-16T18:32:47Z krzysz00: Can I call it from cold-init functions for debugging purposes? 2014-05-16T18:32:57Z Krystof: you might want to build with :sb-show enabled 2014-05-16T18:33:04Z Krystof: it will print lots and lots of information 2014-05-16T18:33:32Z stassats: with sb-show, you can also use /show0 and /hexstr 2014-05-16T18:34:04Z stassats: what is even the point of /noshow0? 2014-05-16T18:34:52Z Krystof: easy to find and replace 2014-05-16T18:36:59Z yacks quit (Ping timeout: 255 seconds) 2014-05-16T18:53:56Z prxq quit (Remote host closed the connection) 2014-05-16T19:18:08Z krzysz00: Cat /show0 print the value of something? 2014-05-16T19:19:01Z stassats: /hexstr 2014-05-16T19:20:29Z krzysz00: So I can call (/hexstr n) inside a function to find out what n was? 2014-05-16T19:20:36Z stassats: right 2014-05-16T19:20:57Z krzysz00: Cool, thanks for all the help! 2014-05-16T19:33:37Z edgar-rft quit (Quit: end of life during parsing) 2014-05-16T19:37:03Z krzysz00: Is type mismatch an ldb-able offense during cold init? 2014-05-16T19:37:17Z Krystof: yes 2014-05-16T19:37:30Z Krystof: any error is an ldb-able offence before the lisp debugger works :) 2014-05-16T19:38:11Z drmeister quit (Ping timeout: 252 seconds) 2014-05-16T19:42:24Z krzysz00: Mostly because some things get declaimed to be (unsigned-byte 8) arrays before cold init, and then become (unsigned-byte something-else) in !character-database-cold-init. Could that be the issue? Do I need to re-declaim my globals with the right type? 2014-05-16T19:47:00Z attila_lendvai quit (Quit: Leaving.) 2014-05-16T19:47:34Z krzysz00 quit (Ping timeout: 240 seconds) 2014-05-16T19:49:35Z krzysz00 joined #sbcl 2014-05-16T19:50:18Z angavrilov quit (Remote host closed the connection) 2014-05-16T19:55:18Z drmeister joined #sbcl 2014-05-16T19:57:53Z nyef: You're trying to make specialized arrays in cold-init? Isn't there an issue about the type system or SAETP not being set up causing problems? 2014-05-16T20:00:39Z nyef: Yeah, there's a whole comment about it "Various toplevel forms call MAKE-ARRAY, which calls SUBTYPEP". 2014-05-16T20:01:06Z nyef: I think that some special cases might work before then, though. 2014-05-16T20:01:14Z stassats: ub8 should work 2014-05-16T20:01:37Z nyef: Worst-case scenario, I guess, is to work directly in terms of the actual low-level allocator... 2014-05-16T20:02:06Z erikvarga left #sbcl 2014-05-16T20:02:18Z stassats: and make-array is now better when it's used with a known element-type 2014-05-16T20:02:34Z stassats: no more subtypes 2014-05-16T20:02:58Z nyef: Does *THAT* require cold-init magic? 2014-05-16T20:03:13Z stassats: it's done at compile time 2014-05-16T20:03:35Z nyef: Fair enough. 2014-05-16T20:07:05Z tmh_ quit (Ping timeout: 240 seconds) 2014-05-16T20:14:32Z rpg joined #sbcl 2014-05-16T20:17:29Z eudoxia joined #sbcl 2014-05-16T20:28:26Z Bike joined #sbcl 2014-05-16T20:30:53Z krzysz00: I just commented out all the declarations, and the type error stoped being an issue. Now I have to figure out what else is going on. 2014-05-16T20:45:10Z sdemarre quit (Ping timeout: 258 seconds) 2014-05-16T20:45:46Z krzysz00_ joined #sbcl 2014-05-16T20:48:34Z krzysz00 quit (Ping timeout: 240 seconds) 2014-05-16T20:49:56Z Hydan quit (Quit: Textual IRC Client: www.textualapp.com) 2014-05-16T20:51:06Z tmh_ joined #sbcl 2014-05-16T20:57:25Z edgar-rft joined #sbcl 2014-05-16T21:02:20Z oleo quit (Ping timeout: 252 seconds) 2014-05-16T21:06:17Z stassats: looks like non-x86oids can't save sap on the stack? 2014-05-16T21:08:24Z stassats: it doesn't look like it even needs to be saved 2014-05-16T21:09:24Z stassats: maybe no appropriate move funs 2014-05-16T21:09:59Z nyef: SAPs should go on the number stack. 2014-05-16T21:10:37Z stassats: i don't think the stack is involved here 2014-05-16T21:11:11Z stassats: i think it just can't move sap into a descriptor reg 2014-05-16T21:11:47Z stassats: or some other combination of registers 2014-05-16T21:12:07Z nyef: ARM still? 2014-05-16T21:12:12Z stassats: ppc too 2014-05-16T21:12:43Z stassats: i see, move-from-sap move-to-sap VOPs back to back 2014-05-16T21:12:46Z stassats: "what?" 2014-05-16T21:13:05Z nyef: That does seem a bit odd, yes. 2014-05-16T21:13:29Z stassats: and it's nargs => R0, R0 => nargs 2014-05-16T21:13:44Z stassats: i thought it's that temporary in the alien-funcall, but it doesn't seem to matter 2014-05-16T21:13:51Z Krystof: shouldn't the sap be moved into a non-descriptor reg? 2014-05-16T21:14:05Z stassats: it is already in a non-descriptor reg 2014-05-16T21:14:10Z stassats: but then it takes a detour 2014-05-16T21:14:16Z Krystof: odd 2014-05-16T21:14:29Z Krystof: it can't move it into a descriptor reg because that takes allocation 2014-05-16T21:14:32Z stassats: %alien-funcall ir2 transforms probably selects a bad move function 2014-05-16T21:14:34Z nyef: Yeah, NARGS tends to be non-descriptor. 2014-05-16T21:14:57Z stassats: Krystof: that's what i'm investigating, unnecessary consing 2014-05-16T21:15:25Z nyef: So, here's something: There are MOVE-FUNs defined for loading and storing SAPs to the SAP-stack, but... Oh, SAP-MOVE would leverage those. 2014-05-16T21:15:48Z stassats: yeah, %alien-funcall is bonkers 2014-05-16T21:15:54Z stassats: ir2-convert 2014-05-16T21:16:30Z stassats: or maybe not 2014-05-16T21:17:00Z nyef: You're going to be thrashing at that for a while, aren't you? 2014-05-16T21:17:20Z stassats: i think %alien-funcall is wrong, but not yet how 2014-05-16T21:18:11Z stassats: but it seems that that hike to R0 takes place before %alien-funcall 2014-05-16T21:18:39Z stassats: no, it's from within %alien-funcall 2014-05-16T21:20:26Z oleo joined #sbcl 2014-05-16T21:22:06Z stassats: so, it's in emit-move-arg-template 2014-05-16T21:22:25Z stassats: but why? 2014-05-16T21:23:16Z stassats: it applies move-sap-reg from a SAP-REG, to a normal tn 2014-05-16T21:23:23Z stassats: without any sc yet 2014-05-16T21:25:26Z stassats: same thing as on x86-64 2014-05-16T21:34:37Z stassats: it should be a wired tn, shouldn't? from make-call-out-tns 2014-05-16T21:37:04Z stassats: (i though that was distinct from :normal, it isn't) 2014-05-16T21:37:27Z stassats: functions are different, make-wired-tn and make-normal-tn, yet both kinds are :normal 2014-05-16T21:40:31Z stassats: so, the non-wired tn comes from ARGS, no SC either 2014-05-16T21:41:54Z stassats: so it does happen earlier 2014-05-16T21:44:08Z stassats: so, a pointer is allocated on the number stack, then a SAP to that pointer gets through a descriptor regf 2014-05-16T21:51:50Z mega1 quit (Ping timeout: 255 seconds) 2014-05-16T21:52:18Z stassats: bloody found it 2014-05-16T21:52:47Z stassats: in with-alien, instead of doing LET, like on x86oids, it uses SETF on make-local-alien 2014-05-16T21:53:12Z stassats: some other piece of code suggests that it needs let-conversion 2014-05-16T21:54:37Z stassats: it was so that make-local-alien is under unwind-protect, but there's nothing to protect if make-local-alien fails 2014-05-16T21:59:27Z nyef quit (Quit: G'night all) 2014-05-16T22:01:57Z eudoxia quit (Quit: Lost terminal) 2014-05-16T22:03:21Z stassats: yay, (time 1) => 8 bytes consed, down from 32 2014-05-16T22:03:50Z stassats: and this one is for all non-x86oids, although only cheneygc makes it visible, due to its precise consing reports 2014-05-16T22:07:33Z stassats: now to those 8 bytes 2014-05-16T22:22:20Z stassats: that's due unix time being 31-bits 2014-05-16T22:26:31Z stassats: but it only uses get-internal-real-time, so, it could be avoided for some time 2014-05-16T22:27:31Z drmeister quit (Remote host closed the connection) 2014-05-16T22:29:17Z stassats: actually, it updates a closure 2014-05-16T22:29:49Z stassats: just 8 bytes sounds fine 2014-05-16T22:31:22Z rpg quit (Quit: rpg) 2014-05-16T22:34:13Z cmack` joined #sbcl 2014-05-16T22:35:23Z brown` quit (*.net *.split) 2014-05-16T22:35:24Z loke__ quit (*.net *.split) 2014-05-16T22:35:24Z PuercoPop quit (*.net *.split) 2014-05-16T22:35:25Z |3b| quit (*.net *.split) 2014-05-16T22:35:26Z ivan`` quit (*.net *.split) 2014-05-16T22:35:27Z foom quit (*.net *.split) 2014-05-16T22:35:28Z cracauer quit (*.net *.split) 2014-05-16T22:35:28Z faheem_ quit (*.net *.split) 2014-05-16T22:35:44Z phf quit (*.net *.split) 2014-05-16T22:35:45Z luis quit (*.net *.split) 2014-05-16T22:36:03Z brown` joined #sbcl 2014-05-16T22:36:03Z loke__ joined #sbcl 2014-05-16T22:36:03Z PuercoPop joined #sbcl 2014-05-16T22:36:03Z |3b| joined #sbcl 2014-05-16T22:36:03Z foom joined #sbcl 2014-05-16T22:36:03Z cracauer joined #sbcl 2014-05-16T22:36:03Z faheem_ joined #sbcl 2014-05-16T22:36:09Z ivan`` joined #sbcl 2014-05-16T22:36:09Z ivan`` quit (Changing host) 2014-05-16T22:36:09Z ivan`` joined #sbcl 2014-05-16T22:36:11Z phf joined #sbcl 2014-05-16T22:36:11Z luis joined #sbcl 2014-05-16T22:36:26Z ivan`` quit (Max SendQ exceeded) 2014-05-16T22:36:26Z cmack quit (Ping timeout: 276 seconds) 2014-05-16T22:36:37Z ivan`` joined #sbcl 2014-05-16T22:37:42Z ASau quit (Excess Flood) 2014-05-16T22:39:05Z drmeister joined #sbcl 2014-05-16T22:51:05Z krzysz00_ quit (Ping timeout: 240 seconds) 2014-05-16T22:53:01Z krzysz00 joined #sbcl 2014-05-16T23:20:38Z krzysz00 quit (Ping timeout: 240 seconds) 2014-05-16T23:22:41Z krzysz00 joined #sbcl 2014-05-16T23:44:41Z drmeister quit (Ping timeout: 276 seconds) 2014-05-16T23:45:17Z drmeister joined #sbcl 2014-05-16T23:55:14Z drmeister quit (Remote host closed the connection) 2014-05-17T00:05:14Z drmeister joined #sbcl 2014-05-17T00:32:40Z nyef joined #sbcl 2014-05-17T00:33:11Z nyef: Preliminary conclusion: Breakpoints are deeply, horribly, fundamentally broken. 2014-05-17T00:33:24Z nyef: And TRACE :ENCAPSULATE NIL requires breakpoints. 2014-05-17T00:34:03Z stassats: who needs trace :encapsulate nil? 2014-05-17T00:34:49Z nyef: Well, that leads to my next question: Who actually USES breakpoints? 2014-05-17T00:34:59Z stassats: and stepping 2014-05-17T00:35:15Z nyef: That's the thing: We could implement stepping in terms of breakpoints. 2014-05-17T00:35:25Z stassats: i just always assumed them not working / not being worth my time 2014-05-17T00:35:26Z nyef: If breakpoints actually worked reliably, that is. 2014-05-17T00:36:39Z stassats: i actually had an idea, since translating stepping to the real lisp code is not really that easy, what about stepping through VOPs? 2014-05-17T00:36:54Z stassats: maybe not that useful for a user 2014-05-17T00:37:33Z nyef: Here's a fun one for x86-64 (and plausibly other backends, but x86-64 yields such interesting results): (defun foo () (bar)) (disassemble #'foo) (trace foo :encapsulate nil) (disassemble #'foo). 2014-05-17T00:38:22Z stassats: what's with AND EAX, 537915392? 2014-05-17T00:39:15Z nyef: x86oids can't reinstall the breakpoint if the instruction at the breakpoint is smaller than the breakpoint trap. 2014-05-17T00:39:37Z stassats: well, breakpoints are a single instruction? 2014-05-17T00:39:44Z stassats: single byte 2014-05-17T00:39:55Z stassats: not CC0C, though 2014-05-17T00:39:56Z nyef: Two octets, because we use INT3 to trigger all of our other traps as well. 2014-05-17T00:41:07Z stassats: so, AND EAX, 537915392 is a part of 84042500F00F20 TEST AL, [#x200FF000] ; safepoint 2014-05-17T00:41:11Z stassats: gotta love CISC! 2014-05-17T00:41:24Z nyef: Heh. And you're on a safepoint build. I get something different. 2014-05-17T00:41:30Z nyef: Still ugly, though. 2014-05-17T00:42:11Z nyef: What happens if the instruction covered by the breakpoint fires off a memory fault or other trap that causes an unwind? 2014-05-17T00:42:16Z stassats: well, i can't see how two byte breakpoints can ever work 2014-05-17T00:42:26Z stassats: what about a jump to the second half? 2014-05-17T00:42:27Z nyef: What happens if the breakpoint covers an ERROR TRAP? 2014-05-17T00:43:25Z stassats: there aren't many one byte instructions, though 2014-05-17T00:44:21Z stassats: espcially with REX prefixes on x86-64 2014-05-17T00:44:40Z nyef: On architectures without single-step traps, we have to use an "after-breakpoint" trap to re-install the breakpoint. For this to work we have to know the address of the next instruction to execute. 2014-05-17T00:45:02Z stassats: man ptrace 2014-05-17T00:45:04Z nyef: If there's a "next-PC" register, like we usually get if there's a branch-delay slot, that's easy enough. 2014-05-17T00:45:12Z stassats: no specbot mans, ok 2014-05-17T00:45:13Z nyef: Can't ptrace ourselves. 2014-05-17T00:45:47Z nyef: PPC and ALPHA have to parse the instruction to determine if it's a branch and where it goes. 2014-05-17T00:45:55Z stassats: threads? 2014-05-17T00:46:56Z nyef: Hrm. 2014-05-17T00:47:06Z stassats: (if that's even possible) 2014-05-17T00:47:09Z nyef: Might work on Linux, MAYBE, but we're also looking at other platforms. 2014-05-17T00:48:09Z nyef: And ARM is one of those systems with neither branch-delay slots nor a single-step trap. 2014-05-17T00:49:12Z stassats: an another processor debugger could be fun 2014-05-17T00:49:27Z nyef: You mean one that runs in another process and uses ptrace? 2014-05-17T00:49:33Z stassats: like gdb, but which can understand sbcl guts 2014-05-17T00:50:31Z nyef: Been there, looked into that. 2014-05-17T00:52:17Z nyef: Actually, there's a tarball that I should be able to point you to on my website, if my website were still up. 2014-05-17T00:52:19Z stassats: break trace is useful when things used #'xx 2014-05-17T00:52:54Z stassats: i.e. without going through fdefn 2014-05-17T00:53:49Z nyef: Yeah, but here's a crazy idea: What happens if we reset the SIMPLE-FUN-SELF on those? 2014-05-17T00:54:17Z stassats: and why is the breakpoint trap not in the XEP prologue? &optional arg processing can mess up the arguments 2014-05-17T00:54:36Z nyef: Yeah, I have nothing in that direction. 2014-05-17T00:55:00Z stassats: it can be easily fixed, nobody probably thought about it 2014-05-17T00:55:17Z stassats: "10 hours of investigating later: ah, that's why" 2014-05-17T00:55:57Z nyef: So, my current thought is to abandon getting TRACE :ENCAPSULATE NIL "working" on ARM, just mark the test as failing, stash my current working tree, and move on. 2014-05-17T00:56:10Z stassats: sounds like a plan 2014-05-17T00:56:13Z nyef: At some point later, come back around to the idea of sorting out the debugger. 2014-05-17T00:56:54Z stassats: this arm port is quite good now 2014-05-17T00:57:52Z nyef: I'm sortof surprised at how quickly it all came together once the basics got sorted. 2014-05-17T00:58:36Z nyef: At the same time, I realize that a good part of that was you finding most of the issues, and fixing a good number of the,. 2014-05-17T00:58:40Z nyef: ... of them. 2014-05-17T00:59:05Z stassats: sprof is left to be fixed, and some modular arithmetic additions 2014-05-17T00:59:26Z nyef: But the modular arithmetic bits are more optimizations than anything else, right? 2014-05-17T00:59:34Z stassats: yeah 2014-05-17T00:59:55Z nyef: What's still wrong with sprof? 2014-05-17T01:00:17Z stassats: not keeping up with the rate of timers hitting 2014-05-17T01:00:29Z stassats: it's the same on all platforms, but arms are just slower in general 2014-05-17T01:00:53Z stassats: and the test sets a lower interval, it should work in practice 2014-05-17T01:01:38Z stassats: adding walking the whole stack on non-x86oids could be useful too 2014-05-17T01:02:26Z stassats: can cheneygc be enabled on x86oids? 2014-05-17T01:02:44Z nyef: We could possibly do so on x86-64, but it'd take some work. 2014-05-17T01:03:09Z stassats: i just wanted to see if it's cheneygc that is that slow 2014-05-17T01:03:35Z nyef: You should be able to build PPC or SPARC with cheneygc. 2014-05-17T01:03:48Z nyef: That is, --without-gencgc --with-cheneygc. 2014-05-17T01:04:23Z stassats: next thing on arm, enabling gencgc 2014-05-17T01:04:50Z nyef: Yup. Followed by thread synchronization primitives, and then finding a TLS register. 2014-05-17T01:05:15Z nyef: (For which I have an angle, though not a particularly good angle.) 2014-05-17T01:07:03Z stassats: incidentally, itanium has an instruction named SETF 2014-05-17T01:07:17Z stassats: but its slightly different from CL:SETF 2014-05-17T01:08:09Z nyef: I have yet to obtain a working itanium system, or even start looking for documentation, I'm afraid. 2014-05-17T01:08:18Z DGASAU quit (Remote host closed the connection) 2014-05-17T01:08:41Z nyef: I have documentation for HPPA and ALPHA, and I'm hoping to get the HPPA hardware that I bought working next week, though. 2014-05-17T01:09:15Z DGASAU joined #sbcl 2014-05-17T01:11:51Z stassats: an itanium can cost some big bucks 2014-05-17T01:12:43Z nyef: Yeah, about $900 for a usable system. 2014-05-17T01:13:09Z stassats: should just ask intel to donate one 2014-05-17T01:13:39Z stassats: "hey, see your big hot CPU not being popular? that's because SBCL doesn't run on it" should work 2014-05-17T01:14:18Z nyef: Right. How many people even use non-x86oid SBCL? 2014-05-17T01:14:36Z stassats: arm can greatly increase that number 2014-05-17T01:15:05Z nyef: It might, I suppose. 2014-05-17T01:15:44Z stassats: it's the same as, "How many people even use non-x86oid[s]" 2014-05-17T01:16:53Z nyef: I guess, yeah. 2014-05-17T01:17:36Z nyef: I'm not seriously thinking about an itanic port this year, though. 2014-05-17T01:18:51Z stassats: i might have a go at ppc64, if i have really nothing else to do 2014-05-17T01:19:41Z nyef: I'm thinking general maintenance for SPARC, possibly SPARC threads, and MIPS if I can get Linux installed on my good MIPS box. 2014-05-17T01:20:47Z nyef: Oh, and HPPA upkeep if I can get that box going. 2014-05-17T01:25:00Z stassats: copy-more-arg needs to be fixed, on all non-x86 2014-05-17T01:25:24Z nyef: I'm hoping to be able to cover that for everything other than Alpha. 2014-05-17T01:27:02Z stassats: i'm thinking, how to make it so that copying is unnecessary 2014-05-17T01:27:10Z zRecursive joined #sbcl 2014-05-17T01:27:38Z nyef: Actually, isn't there still a hole with XEP-ALLOCATE-FRAME and more-arg processing on most non-x86 backends? 2014-05-17T01:27:40Z stassats: probably involves leaving space for 3 registers, or being more clever when accessing it 2014-05-17T01:30:15Z stassats: what if the more args are passed in reverse, and then the callee can put the registers on top of the stack? 2014-05-17T01:33:18Z stassats: a solution which allowed for tail calling (apply #'fun rest) without copying would be interesting 2014-05-17T01:35:02Z stassats: if the body consists purely of (apply #'fun rest) 2014-05-17T01:35:15Z nyef: I'm already considering putting the arg-passing "registers" into thread-struct slots, FWIW. 2014-05-17T01:35:32Z stassats: won't that be slow? 2014-05-17T01:35:43Z nyef: ... What's your point? 2014-05-17T01:35:51Z stassats: i don't like slow 2014-05-17T01:36:00Z nyef: I don't like only having fifteen registers. 2014-05-17T01:36:27Z stassats: 'tis luxury 2014-05-17T01:36:44Z nyef: No, luxury is 64 registers. 2014-05-17T01:37:12Z nyef: We've already moved our CONTROL STACK POINTER out of the register set, for crying out loud. 2014-05-17T01:37:41Z stassats: reminded me of http://www.youtube.com/watch?v=Xe1a1wHxTyo 2014-05-17T01:38:00Z nyef: ... which I can't view on this machine. 2014-05-17T01:38:35Z stassats: it's "Four Yorkshiremen" Monty Python skit 2014-05-17T01:38:39Z nyef: Ah. 2014-05-17T01:39:50Z edgar-rft quit (Quit: memory access stopped by timeout after 5928922158636193255547190 seconds) 2014-05-17T01:40:45Z stassats: "And you try and tell the young people of today that ..... they won't believe you." 2014-05-17T01:51:23Z stassats: i fear that the arm port arrived just in time when arm64 will be soon used on the majority of machines where SBCL is expected to be found 2014-05-17T01:51:54Z nyef: One step at a time. 2014-05-17T01:52:46Z stassats: though, i do have a 3 year old cpu, maybe the today ones are a bit faster 2014-05-17T01:57:43Z stassats: can more of the control stack be allocated in the caller? 2014-05-17T01:58:12Z stassats: ie, the 32-byt default one 2014-05-17T01:59:17Z stassats: i.e., instead of adding 8, add 40, and if the current frame size fits, the prologue is shorter 2014-05-17T02:01:25Z nyef: Shouldn't be an issue, beyond possibly having more dead stack space. 2014-05-17T02:04:54Z stassats: and why is it increased in 32-byte increments? 2014-05-17T02:06:59Z stassats: (define-storage-base control-stack :unbounded :size 8) 2014-05-17T02:07:18Z stassats: and size-increment is defaulted to size, hence the 8 word increment, do we want that? 2014-05-17T02:07:34Z nyef: On x86oids, it might be to preserve alignment. 2014-05-17T02:07:53Z stassats: on x86-64, :size-increment 1 2014-05-17T02:08:17Z nyef: Beyond that, I really don't know. 2014-05-17T02:08:31Z stassats: i can always try changing it and seeing what happens 2014-05-17T02:08:37Z nyef: Some of this stuff is almost pre-historic. 2014-05-17T02:09:48Z stassats: and why does the control stack has the size of 8? 2014-05-17T02:11:33Z nyef: ... That reminds me, actually, there are some comments that I need to excise because they were valid for less than six months about twenty years ago. 2014-05-17T02:11:49Z stassats: i guess pkhuong should know, he changed it from (define-storage-base stack :unbounded :size 8) to (define-storage-base stack :unbounded :size 3 :size-increment 1) on x86ods 2014-05-17T02:17:07Z nyef: Looks like the comments only remain in the PPC backend, although the MIPS backend is kindof ugly in that area. 2014-05-17T02:21:39Z scymtym_ quit (Ping timeout: 265 seconds) 2014-05-17T02:24:04Z krzysz00 quit (Ping timeout: 265 seconds) 2014-05-17T02:25:50Z krzysz00 joined #sbcl 2014-05-17T02:30:32Z Hydan joined #sbcl 2014-05-17T02:35:58Z stassats quit (Ping timeout: 240 seconds) 2014-05-17T02:39:05Z christoph_debian quit (Ping timeout: 240 seconds) 2014-05-17T02:42:31Z michael_lee joined #sbcl 2014-05-17T02:45:49Z kanru` joined #sbcl 2014-05-17T02:47:32Z yacks joined #sbcl 2014-05-17T02:52:24Z christoph_debian joined #sbcl 2014-05-17T03:13:17Z nyef quit (Quit: G'night all.) 2014-05-17T03:35:54Z Bike quit (Ping timeout: 245 seconds) 2014-05-17T03:52:53Z zRecursive quit (Remote host closed the connection) 2014-05-17T03:55:18Z krzysz00 quit (Ping timeout: 240 seconds) 2014-05-17T03:57:30Z krzysz00 joined #sbcl 2014-05-17T04:34:16Z Bike joined #sbcl 2014-05-17T04:53:14Z Hydan quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) 2014-05-17T05:35:54Z pranavrc joined #sbcl 2014-05-17T05:35:54Z pranavrc quit (Changing host) 2014-05-17T05:35:54Z pranavrc joined #sbcl 2014-05-17T05:40:31Z mega1 joined #sbcl 2014-05-17T06:30:04Z ltbarcly joined #sbcl 2014-05-17T06:59:05Z krzysz00 quit (Ping timeout: 265 seconds) 2014-05-17T07:00:41Z krzysz00 joined #sbcl 2014-05-17T07:08:34Z Bike quit (Ping timeout: 240 seconds) 2014-05-17T07:09:49Z sdemarre joined #sbcl 2014-05-17T07:23:48Z Hydan joined #sbcl 2014-05-17T07:24:57Z jaimef quit (Ping timeout: 258 seconds) 2014-05-17T07:26:41Z sdemarre quit (Ping timeout: 264 seconds) 2014-05-17T07:31:19Z jaimef joined #sbcl 2014-05-17T07:31:34Z yacks quit (Ping timeout: 240 seconds) 2014-05-17T07:54:44Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-17T07:57:21Z angavrilov joined #sbcl 2014-05-17T07:57:29Z yacks joined #sbcl 2014-05-17T08:21:05Z DGASAU quit (Ping timeout: 240 seconds) 2014-05-17T08:24:23Z DGASAU joined #sbcl 2014-05-17T08:30:29Z DGASAU quit (Ping timeout: 252 seconds) 2014-05-17T08:45:05Z momo-reina joined #sbcl 2014-05-17T08:46:49Z ASau joined #sbcl 2014-05-17T08:53:43Z prxq joined #sbcl 2014-05-17T08:54:49Z pranavrc quit 2014-05-17T08:59:22Z momo-reina quit (Remote host closed the connection) 2014-05-17T09:01:10Z krzysz00 quit (Ping timeout: 258 seconds) 2014-05-17T09:02:22Z edgar-rft joined #sbcl 2014-05-17T09:02:50Z krzysz00 joined #sbcl 2014-05-17T09:14:20Z sdemarre joined #sbcl 2014-05-17T09:25:29Z sdemarre quit (Ping timeout: 252 seconds) 2014-05-17T09:31:30Z krzysz00 quit (Ping timeout: 240 seconds) 2014-05-17T09:33:31Z krzysz00 joined #sbcl 2014-05-17T09:36:14Z oleo quit (Ping timeout: 240 seconds) 2014-05-17T09:37:06Z oleo joined #sbcl 2014-05-17T09:43:07Z erikvarga joined #sbcl 2014-05-17T09:52:33Z fikusz quit (Quit: Leaving) 2014-05-17T09:55:04Z fikusz joined #sbcl 2014-05-17T10:02:45Z krzysz00 quit (Ping timeout: 265 seconds) 2014-05-17T10:04:10Z krzysz00 joined #sbcl 2014-05-17T10:21:02Z yacks quit (Ping timeout: 276 seconds) 2014-05-17T10:23:56Z DGASAU joined #sbcl 2014-05-17T10:25:03Z nyef joined #sbcl 2014-05-17T11:52:01Z yacks joined #sbcl 2014-05-17T12:01:25Z stassats joined #sbcl 2014-05-17T12:04:18Z krzysz00 quit (Ping timeout: 240 seconds) 2014-05-17T12:06:22Z krzysz00 joined #sbcl 2014-05-17T12:34:40Z stassats: so, if the unwind-protect is not needed, then deallocating the number stack isn't needed either, it can be done in the epilogue 2014-05-17T12:34:55Z stassats: except that with-alien doesn't use proper stack tns 2014-05-17T12:52:25Z Shinmera joined #sbcl 2014-05-17T13:14:26Z stassats: can't see an easy way to do that now, will just remove the unwind-protect 2014-05-17T13:20:35Z nyef: Hrm. Still opens an issue if it winds up being a heap-alien after all, though, doesn't it? 2014-05-17T13:22:57Z stassats: nyef: that's handled with finalization 2014-05-17T13:23:02Z stassats: why? beats me 2014-05-17T13:23:57Z nyef: ... And finalizers are at least not stored on the heap? 2014-05-17T13:24:17Z stassats: they are? 2014-05-17T13:24:31Z stassats: those parts need to be rethought 2014-05-17T13:24:34Z nyef: Ah, nevermind me, not thinking straight this morning. 2014-05-17T13:24:51Z stassats: but there's, i guess, just no way of knowing if make-local-alien will be stack allocated or not 2014-05-17T13:25:06Z stassats: or no obvious way, hence finalization in a non-transformed case 2014-05-17T13:25:24Z stassats: maybe it should be call-with-local-alien? 2014-05-17T13:30:27Z stassats: so, things to figure out: proper number stack allocation of aliens, better heap allocation 2014-05-17T13:39:05Z erikvarga quit (Ping timeout: 258 seconds) 2014-05-17T13:41:39Z sdemarre joined #sbcl 2014-05-17T13:46:21Z yacks quit (Read error: Connection reset by peer) 2014-05-17T13:56:41Z sdemarre quit (Ping timeout: 265 seconds) 2014-05-17T13:57:08Z yacks joined #sbcl 2014-05-17T14:22:19Z erikvarga joined #sbcl 2014-05-17T14:22:31Z drmeister quit (Remote host closed the connection) 2014-05-17T14:22:55Z nyef: For the record, had I not swapped the stack pointers so that our control stack pointer is in a symbol, we'd've had the same setup as x86 for binding the number stack pointer. 2014-05-17T14:29:37Z drmeister joined #sbcl 2014-05-17T14:37:07Z krzysz00 quit (Ping timeout: 240 seconds) 2014-05-17T14:39:02Z krzysz00 joined #sbcl 2014-05-17T15:05:35Z attila_lendvai joined #sbcl 2014-05-17T15:05:35Z attila_lendvai quit (Changing host) 2014-05-17T15:05:35Z attila_lendvai joined #sbcl 2014-05-17T15:41:05Z sdemarre joined #sbcl 2014-05-17T15:57:58Z Bike joined #sbcl 2014-05-17T16:34:16Z sdemarre quit (Ping timeout: 258 seconds) 2014-05-17T17:10:59Z michael_lee quit (Ping timeout: 265 seconds) 2014-05-17T17:19:14Z yacks quit (Ping timeout: 240 seconds) 2014-05-17T18:36:26Z drmeister quit (Quit: Leaving...) 2014-05-17T18:53:13Z edgar-rft quit (Quit: conversation closed because lifeform experiment finished) 2014-05-17T19:11:47Z krzysz00 quit (Ping timeout: 252 seconds) 2014-05-17T19:13:45Z krzysz00 joined #sbcl 2014-05-17T19:15:38Z stassats quit (Ping timeout: 240 seconds) 2014-05-17T19:41:18Z krzysz00 quit (Ping timeout: 240 seconds) 2014-05-17T19:43:24Z krzysz00 joined #sbcl 2014-05-17T19:43:54Z Hydan quit (Quit: Textual IRC Client: www.textualapp.com) 2014-05-17T19:51:03Z Shinmera quit (Quit: brb) 2014-05-17T19:57:08Z erikvarga left #sbcl 2014-05-17T20:06:19Z edgar-rft joined #sbcl 2014-05-17T20:10:39Z ltbarcly joined #sbcl 2014-05-17T20:20:40Z ASau` joined #sbcl 2014-05-17T20:24:01Z ASau quit (Ping timeout: 252 seconds) 2014-05-17T20:32:33Z ASau` is now known as ASau 2014-05-17T20:36:58Z mega1 quit (Ping timeout: 240 seconds) 2014-05-17T20:37:49Z angavrilov quit (Remote host closed the connection) 2014-05-17T20:38:25Z ASau quit (Excess Flood) 2014-05-17T20:39:29Z ASau joined #sbcl 2014-05-17T20:47:09Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-17T20:53:42Z stassats joined #sbcl 2014-05-17T21:00:54Z DGASAU quit (Remote host closed the connection) 2014-05-17T21:02:11Z DGASAU joined #sbcl 2014-05-17T21:26:19Z sdemarre joined #sbcl 2014-05-17T21:29:07Z kanru` quit (Ping timeout: 240 seconds) 2014-05-17T21:40:10Z sdemarre quit (Ping timeout: 258 seconds) 2014-05-17T22:00:52Z attila_lendvai quit (Quit: Leaving.) 2014-05-17T22:29:03Z oleo quit (Ping timeout: 252 seconds) 2014-05-17T22:29:39Z oleo joined #sbcl 2014-05-17T22:52:48Z prxq quit (Remote host closed the connection) 2014-05-17T22:52:59Z irsol quit (Ping timeout: 245 seconds) 2014-05-17T22:54:23Z irsol joined #sbcl 2014-05-17T23:03:09Z edgar-rft quit (Quit: existence lost by computer explosion) 2014-05-17T23:09:13Z stassats: got copy-more-arg fixed on ARM 2014-05-17T23:09:23Z stassats: now to test the reduced control-stack size 2014-05-17T23:26:38Z DGASAU quit (Remote host closed the connection) 2014-05-17T23:27:25Z scymtym_ joined #sbcl 2014-05-17T23:27:45Z DGASAU joined #sbcl 2014-05-17T23:48:17Z DGASAU quit (Ping timeout: 240 seconds) 2014-05-17T23:51:10Z psilord quit (Quit: Leaving.) 2014-05-17T23:51:31Z DGASAU joined #sbcl 2014-05-18T00:09:55Z DGASAU quit (Ping timeout: 240 seconds) 2014-05-18T00:11:44Z stassats: my control-stack change gets me a barrage of cannot-encode-immediate-operand 2014-05-18T00:13:36Z DGASAU joined #sbcl 2014-05-18T00:14:49Z stassats: i think because the size went from being power of twoish 2014-05-18T00:16:29Z krzysz00 quit (Ping timeout: 252 seconds) 2014-05-18T00:18:17Z krzysz00 joined #sbcl 2014-05-18T00:26:24Z stassats: so, i'm thinking, what's better, reducing stack usage, or making stack increments more encodable 2014-05-18T00:27:06Z DGASAU quit (Remote host closed the connection) 2014-05-18T00:27:26Z nyef: Even with an increment of 8, it shouldn't take too much doing to construct a frame with a size that would break the encoding, surely? 2014-05-18T00:27:48Z stassats: well, it managed to work until now 2014-05-18T00:28:16Z nyef: You just need, what, an 8-bit spread starting at an odd bit position? 2014-05-18T00:28:44Z nyef: A 9-bit spread to be on the safe side. 2014-05-18T00:29:00Z stassats: adding things is cheap, stack space is limited, i'm thinking 2014-05-18T00:29:00Z DGASAU joined #sbcl 2014-05-18T00:29:14Z nyef: Enough local variables would do that easily, and we can't really get away with a message like "That's too many GO tags, RG!" 2014-05-18T00:29:49Z stassats: i didn't mean not fixing it at all, but smaller increments mean more instructions 2014-05-18T00:32:35Z stassats: the turn around time to check the fix is too much for today 2014-05-18T00:32:42Z stassats: running tests takes too much 2014-05-18T00:33:42Z nyef: Heh. Yeah, doing a full build-and-test gets to be obnoxious. 2014-05-18T00:40:24Z michael_lee joined #sbcl 2014-05-18T00:48:46Z zRecursive joined #sbcl 2014-05-18T00:54:30Z cmack`` joined #sbcl 2014-05-18T00:56:20Z cmack` quit (Ping timeout: 255 seconds) 2014-05-18T01:13:32Z DGASAU quit (Remote host closed the connection) 2014-05-18T01:13:33Z stassats: after fixing adding stack pointers, (bar . #.(make-list #x7FF)) fails with a too much offset during store-stack-tn 2014-05-18T01:14:38Z stassats: and can't do much here, since it's in a move fun, which can't easily have temporaries 2014-05-18T01:15:18Z stassats: inline constants? 2014-05-18T01:15:51Z DGASAU joined #sbcl 2014-05-18T01:17:34Z krzysz00 quit (Ping timeout: 240 seconds) 2014-05-18T01:18:13Z nyef: LR doesn't tend to be live there. 2014-05-18T01:19:45Z krzysz00 joined #sbcl 2014-05-18T01:20:39Z stassats: inline constants will be of not much help if they are too far, sigh 2014-05-18T01:21:45Z stassats: did other RISC have so much problems with immediates too? 2014-05-18T01:22:06Z nyef: I have no idea at this point. 2014-05-18T01:22:28Z nyef: Well, sortof. There's persistent problems with sb-12 or so fields in SPARC instructions. 2014-05-18T01:42:00Z stassats: it may be a time to introduce 2014-05-18T01:42:02Z stassats: clhs c-a-l 2014-05-18T01:42:02Z specbot: call-arguments-limit: http://www.lispworks.com/reference/HyperSpec/Body/v_call_a.htm 2014-05-18T01:42:30Z nyef: Hah! Isn't that already listed as a low-priority bug in the tracker? 2014-05-18T01:42:57Z nyef: The one that lp#484143 is a duplicate of. 2014-05-18T01:43:16Z stassats: though, just making a lot of stack space by other means would trigger the same things 2014-05-18T01:47:27Z stassats: composite-immediate-instruction surely needs to get a slimmer name 2014-05-18T02:00:56Z michael_lee quit (Ping timeout: 276 seconds) 2014-05-18T02:14:38Z michael_lee joined #sbcl 2014-05-18T02:19:47Z krzysz00 quit (Ping timeout: 276 seconds) 2014-05-18T02:20:59Z krzysz00 joined #sbcl 2014-05-18T02:38:45Z christoph_debian quit (Ping timeout: 252 seconds) 2014-05-18T02:43:33Z kanru` joined #sbcl 2014-05-18T02:48:39Z krzysz00 quit (Ping timeout: 252 seconds) 2014-05-18T02:51:20Z krzysz00 joined #sbcl 2014-05-18T02:52:11Z christoph_debian joined #sbcl 2014-05-18T02:59:12Z leo2007 quit (Quit: rcirc on GNU Emacs 24.4.50.1) 2014-05-18T03:00:10Z nyef quit (Quit: G'night all.) 2014-05-18T03:05:31Z leo2007 joined #sbcl 2014-05-18T03:16:51Z ccl-logbot joined #sbcl 2014-05-18T03:16:51Z 2014-05-18T03:16:51Z names: ccl-logbot yacks leo2007 christoph_debian krzysz00 kanru` michael_lee DGASAU cmack`` zRecursive scymtym_ irsol oleo stassats ASau Bike fikusz jaimef ivan`` luis phf xymox flip214 leoc dsp_ pchrist brucem scymtym mood Posterdati antoszka les milosn pillton carvite ferada jackdaniel White_Flame fe[nl]ix Blkt Munksgaard nicdev redline6561 yauz jsnell_ @Krystof ams Intensity minion specbot pkhuong notori0us karswell kanru segv- asedeno hzp gingerale tmh_ 2014-05-18T03:16:51Z names: brown` loke__ PuercoPop |3b| foom cracauer faheem_ 2014-05-18T03:18:00Z zRecursive quit (Remote host closed the connection) 2014-05-18T03:29:30Z ccl-logbot joined #sbcl 2014-05-18T03:29:30Z 2014-05-18T03:29:30Z names: ccl-logbot yacks leo2007 christoph_debian krzysz00 kanru` michael_lee DGASAU cmack`` scymtym_ irsol oleo stassats ASau Bike fikusz jaimef ivan`` luis phf faheem_ cracauer foom |3b| PuercoPop loke__ brown` tmh_ gingerale hzp asedeno segv- kanru karswell notori0us pkhuong specbot minion Intensity ams @Krystof jsnell_ yauz redline6561 nicdev Munksgaard Blkt fe[nl]ix White_Flame jackdaniel ferada carvite xymox flip214 leoc dsp_ pchrist brucem scymtym mood 2014-05-18T03:29:31Z names: Posterdati antoszka les milosn pillton 2014-05-18T03:33:14Z Bike quit (Ping timeout: 276 seconds) 2014-05-18T03:40:13Z Bike joined #sbcl 2014-05-18T04:12:55Z edgar-rft joined #sbcl 2014-05-18T04:29:26Z Bike quit (Ping timeout: 259 seconds) 2014-05-18T04:30:10Z Bike joined #sbcl 2014-05-18T04:34:38Z Bike quit (Ping timeout: 240 seconds) 2014-05-18T04:36:56Z Bike joined #sbcl 2014-05-18T04:52:33Z specbot quit (Disconnected by services) 2014-05-18T04:52:36Z specbot joined #sbcl 2014-05-18T05:21:53Z stassats quit (Ping timeout: 264 seconds) 2014-05-18T05:23:14Z michael_lee quit (Ping timeout: 265 seconds) 2014-05-18T05:38:29Z sdemarre joined #sbcl 2014-05-18T05:57:43Z attila_lendvai joined #sbcl 2014-05-18T06:04:18Z psilord joined #sbcl 2014-05-18T06:04:41Z psilord quit (Client Quit) 2014-05-18T06:38:34Z sdemarre quit (Ping timeout: 240 seconds) 2014-05-18T06:55:58Z sdemarre joined #sbcl 2014-05-18T07:03:05Z Bike quit (Ping timeout: 255 seconds) 2014-05-18T07:11:48Z ehaliewicz joined #sbcl 2014-05-18T07:17:45Z ltbarcly joined #sbcl 2014-05-18T07:54:40Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-18T08:16:48Z angavrilov joined #sbcl 2014-05-18T08:17:44Z ltbarcly joined #sbcl 2014-05-18T08:28:41Z leo2007 quit (Quit: rcirc on GNU Emacs 24.4.50.1) 2014-05-18T08:29:07Z leo2007 joined #sbcl 2014-05-18T08:43:26Z sdemarre quit (Ping timeout: 255 seconds) 2014-05-18T08:47:29Z ehaliewicz quit (Ping timeout: 255 seconds) 2014-05-18T08:50:21Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-18T09:10:19Z erikvarga joined #sbcl 2014-05-18T09:53:52Z leo2007 quit (Ping timeout: 240 seconds) 2014-05-18T10:11:58Z ltbarcly joined #sbcl 2014-05-18T10:18:50Z ltbarcly quit (Ping timeout: 255 seconds) 2014-05-18T10:34:48Z DGASAU quit (Remote host closed the connection) 2014-05-18T10:50:03Z sdemarre joined #sbcl 2014-05-18T10:54:18Z sdemarre quit (Ping timeout: 240 seconds) 2014-05-18T10:59:04Z segv- quit (Ping timeout: 240 seconds) 2014-05-18T11:01:38Z oleo quit (Ping timeout: 240 seconds) 2014-05-18T11:04:35Z oleo joined #sbcl 2014-05-18T11:11:57Z sdemarre joined #sbcl 2014-05-18T11:18:17Z fridim_ joined #sbcl 2014-05-18T11:58:18Z krzysz00 quit (Ping timeout: 240 seconds) 2014-05-18T12:00:33Z krzysz00 joined #sbcl 2014-05-18T12:03:48Z pillton left #sbcl 2014-05-18T12:04:55Z ltbarcly joined #sbcl 2014-05-18T12:09:53Z LiamH joined #sbcl 2014-05-18T12:29:30Z krzysz00 quit (Ping timeout: 258 seconds) 2014-05-18T12:31:10Z krzysz00 joined #sbcl 2014-05-18T12:34:37Z attila_lendvai quit (Disconnected by services) 2014-05-18T12:34:37Z attila_lendvai1 joined #sbcl 2014-05-18T12:34:37Z attila_lendvai1 quit (Changing host) 2014-05-18T12:34:37Z attila_lendvai1 joined #sbcl 2014-05-18T12:36:25Z pillton joined #sbcl 2014-05-18T12:37:13Z attila_lendvai1 quit (Client Quit) 2014-05-18T12:44:52Z ltbarcly quit (Read error: Connection reset by peer) 2014-05-18T12:45:41Z ltbarcly joined #sbcl 2014-05-18T12:46:39Z ltbarcly quit (Client Quit) 2014-05-18T12:49:43Z ltbarcly joined #sbcl 2014-05-18T13:15:17Z fridim_ quit (Ping timeout: 264 seconds) 2014-05-18T13:15:58Z attila_lendvai joined #sbcl 2014-05-18T13:15:59Z attila_lendvai quit (Changing host) 2014-05-18T13:15:59Z attila_lendvai joined #sbcl 2014-05-18T13:26:26Z attila_lendvai quit (Quit: Leaving.) 2014-05-18T13:31:13Z krzysz00 quit (Ping timeout: 276 seconds) 2014-05-18T13:32:11Z krzysz00 joined #sbcl 2014-05-18T13:34:06Z fridim_ joined #sbcl 2014-05-18T13:58:01Z stassats joined #sbcl 2014-05-18T13:58:11Z stassats: i like the ALIEN-TYPE-TYPE-ALIEN-TYPE name 2014-05-18T14:16:58Z ltbarcly: stassats: it's only good if someone is laying down a beat for you when you say it 2014-05-18T14:31:06Z krzysz00 quit (Ping timeout: 240 seconds) 2014-05-18T14:33:22Z krzysz00 joined #sbcl 2014-05-18T14:35:43Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-18T14:44:12Z ltbarcly joined #sbcl 2014-05-18T15:04:37Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-18T15:08:37Z ltbarcly joined #sbcl 2014-05-18T15:10:06Z leo2007 joined #sbcl 2014-05-18T15:11:59Z Hydan joined #sbcl 2014-05-18T15:40:51Z erikvarga left #sbcl 2014-05-18T15:46:07Z nyef joined #sbcl 2014-05-18T15:46:18Z nyef: Hello all. 2014-05-18T16:06:00Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-18T16:12:35Z ltbarcly joined #sbcl 2014-05-18T16:36:53Z attila_lendvai joined #sbcl 2014-05-18T16:38:47Z fridim_ quit (Ping timeout: 252 seconds) 2014-05-18T17:16:07Z kanru` quit (Ping timeout: 276 seconds) 2014-05-18T17:18:24Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-18T17:23:53Z ltbarcly joined #sbcl 2014-05-18T17:24:20Z erikvarga joined #sbcl 2014-05-18T17:29:34Z nyef quit (Quit: Back in a couple hours.) 2014-05-18T17:33:47Z krzysz00 quit (Ping timeout: 252 seconds) 2014-05-18T17:35:31Z krzysz00 joined #sbcl 2014-05-18T17:53:56Z mega1 joined #sbcl 2014-05-18T17:56:58Z stassats: got alien callbacks for integers working 2014-05-18T17:57:17Z stassats: this alien callback thing doesn't seem to be very efficient 2014-05-18T18:03:54Z krzysz00 quit (Ping timeout: 240 seconds) 2014-05-18T18:06:10Z krzysz00 joined #sbcl 2014-05-18T18:20:07Z Bike joined #sbcl 2014-05-18T18:37:58Z stassats: and now passing/returning single floats and returning double-floats for softfp 2014-05-18T18:38:06Z stassats: almost ready 2014-05-18T18:51:18Z attila_lendvai quit (Quit: Leaving.) 2014-05-18T19:01:48Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-18T19:06:34Z ltbarcly joined #sbcl 2014-05-18T19:22:52Z stassats: looks like i have softfp callbacks 2014-05-18T19:28:08Z LiamH quit (Quit: Leaving.) 2014-05-18T19:28:39Z LiamH joined #sbcl 2014-05-18T19:43:26Z angavrilov quit (Remote host closed the connection) 2014-05-18T19:52:56Z erikvarga left #sbcl 2014-05-18T20:09:54Z ltbarcly quit (Ping timeout: 240 seconds) 2014-05-18T20:12:12Z ltbarcly joined #sbcl 2014-05-18T20:22:09Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-18T20:25:19Z ltbarcly joined #sbcl 2014-05-18T20:28:56Z stassats: commonqt now works on ARM 2014-05-18T20:33:22Z stassats: long-long callbacks are left and stack alignment questions, otherwise it's good enough 2014-05-18T20:42:22Z stassats: cl+ssl works to 2014-05-18T20:42:23Z stassats: o 2014-05-18T20:50:33Z Krystof: does it work on hard-float too? 2014-05-18T20:57:44Z Hydan quit (Quit: Textual IRC Client: www.textualapp.com) 2014-05-18T21:04:29Z yacks quit (Ping timeout: 264 seconds) 2014-05-18T21:06:53Z stassats: it might 2014-05-18T21:07:26Z stassats: if you can test, that would be great 2014-05-18T21:07:33Z sdemarre quit (Ping timeout: 252 seconds) 2014-05-18T21:10:46Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-18T21:38:03Z stassats quit (Ping timeout: 258 seconds) 2014-05-18T21:39:02Z nyef joined #sbcl 2014-05-18T21:39:52Z nyef: So, now that it's almost fully working, *NOW* everybody is interested in trying the ARM port. Not when they'd actually be able to do more than kick the tires, as it were. 2014-05-18T21:56:40Z mega1 quit (Ping timeout: 240 seconds) 2014-05-18T22:13:43Z edgar-rft quit (*.net *.split) 2014-05-18T22:13:43Z christoph_debian quit (*.net *.split) 2014-05-18T22:13:43Z gingerale quit (*.net *.split) 2014-05-18T22:13:44Z Munksgaard quit (*.net *.split) 2014-05-18T22:13:44Z Blkt quit (*.net *.split) 2014-05-18T22:13:44Z fe[nl]ix quit (*.net *.split) 2014-05-18T22:13:44Z ferada quit (*.net *.split) 2014-05-18T22:13:44Z oleo quit (*.net *.split) 2014-05-18T22:13:45Z jsnell_ quit (*.net *.split) 2014-05-18T22:13:45Z milosn quit (*.net *.split) 2014-05-18T22:13:45Z Posterdati quit (*.net *.split) 2014-05-18T22:13:45Z antoszka quit (*.net *.split) 2014-05-18T22:13:45Z pkhuong quit (*.net *.split) 2014-05-18T22:13:45Z Krystof quit (*.net *.split) 2014-05-18T22:13:45Z nicdev quit (*.net *.split) 2014-05-18T22:13:45Z leoc quit (*.net *.split) 2014-05-18T22:13:45Z mood quit (*.net *.split) 2014-05-18T22:13:46Z carvite quit (*.net *.split) 2014-05-18T22:13:46Z pchrist quit (*.net *.split) 2014-05-18T22:13:46Z scymtym quit (*.net *.split) 2014-05-18T22:13:46Z redline6561 quit (*.net *.split) 2014-05-18T22:13:46Z White_Flame quit (*.net *.split) 2014-05-18T22:13:46Z cmack`` quit (*.net *.split) 2014-05-18T22:13:46Z jaimef quit (*.net *.split) 2014-05-18T22:13:47Z brucem quit (*.net *.split) 2014-05-18T22:13:47Z krzysz00 quit (*.net *.split) 2014-05-18T22:13:47Z scymtym_ quit (*.net *.split) 2014-05-18T22:13:47Z hzp quit (*.net *.split) 2014-05-18T22:13:47Z xymox quit (*.net *.split) 2014-05-18T22:13:47Z dsp_ quit (*.net *.split) 2014-05-18T22:13:47Z notori0us quit (*.net *.split) 2014-05-18T22:13:47Z ams quit (*.net *.split) 2014-05-18T22:13:48Z les quit (*.net *.split) 2014-05-18T22:13:48Z flip214 quit (*.net *.split) 2014-05-18T22:13:48Z LiamH quit (*.net *.split) 2014-05-18T22:13:48Z specbot quit (*.net *.split) 2014-05-18T22:13:48Z karswell quit (*.net *.split) 2014-05-18T22:13:48Z yauz quit (*.net *.split) 2014-05-18T22:19:12Z jackdani1l joined #sbcl 2014-05-18T22:19:44Z Bike is now known as 17SAAFQ17 2014-05-18T22:19:58Z irsol_ joined #sbcl 2014-05-18T22:20:14Z Bike joined #sbcl 2014-05-18T22:20:14Z nialo joined #sbcl 2014-05-18T22:20:14Z LiamH joined #sbcl 2014-05-18T22:20:14Z krzysz00 joined #sbcl 2014-05-18T22:20:14Z oleo joined #sbcl 2014-05-18T22:20:14Z specbot joined #sbcl 2014-05-18T22:20:14Z edgar-rft joined #sbcl 2014-05-18T22:20:14Z christoph_debian joined #sbcl 2014-05-18T22:20:14Z cmack`` joined #sbcl 2014-05-18T22:20:14Z scymtym_ joined #sbcl 2014-05-18T22:20:14Z jaimef joined #sbcl 2014-05-18T22:20:14Z gingerale joined #sbcl 2014-05-18T22:20:14Z hzp joined #sbcl 2014-05-18T22:20:14Z karswell joined #sbcl 2014-05-18T22:20:14Z notori0us joined #sbcl 2014-05-18T22:20:14Z pkhuong joined #sbcl 2014-05-18T22:20:14Z ams joined #sbcl 2014-05-18T22:20:14Z Krystof joined #sbcl 2014-05-18T22:20:14Z jsnell_ joined #sbcl 2014-05-18T22:20:14Z yauz joined #sbcl 2014-05-18T22:20:14Z redline6561 joined #sbcl 2014-05-18T22:20:14Z nicdev joined #sbcl 2014-05-18T22:20:14Z Munksgaard joined #sbcl 2014-05-18T22:20:14Z Blkt joined #sbcl 2014-05-18T22:20:14Z fe[nl]ix joined #sbcl 2014-05-18T22:20:14Z White_Flame joined #sbcl 2014-05-18T22:20:14Z ferada joined #sbcl 2014-05-18T22:20:14Z carvite joined #sbcl 2014-05-18T22:20:14Z milosn joined #sbcl 2014-05-18T22:20:14Z les joined #sbcl 2014-05-18T22:20:14Z antoszka joined #sbcl 2014-05-18T22:20:14Z Posterdati joined #sbcl 2014-05-18T22:20:14Z mood joined #sbcl 2014-05-18T22:20:14Z scymtym joined #sbcl 2014-05-18T22:20:14Z brucem joined #sbcl 2014-05-18T22:20:14Z pchrist joined #sbcl 2014-05-18T22:20:14Z dsp_ joined #sbcl 2014-05-18T22:20:14Z leoc joined #sbcl 2014-05-18T22:20:14Z flip214 joined #sbcl 2014-05-18T22:20:14Z xymox joined #sbcl 2014-05-18T22:20:14Z morgan.freenode.net has set mode +o Krystof 2014-05-18T22:20:16Z nialo left #sbcl 2014-05-18T22:20:17Z irsol quit (Write error: Connection reset by peer) 2014-05-18T22:20:17Z jackdaniel quit (Write error: Broken pipe) 2014-05-18T22:20:18Z 17SAAFQ17 quit (Write error: Broken pipe) 2014-05-18T22:20:20Z Intensity quit (Write error: Broken pipe) 2014-05-18T22:24:01Z Intensity joined #sbcl 2014-05-18T22:24:05Z Intensity quit (Changing host) 2014-05-18T22:24:05Z Intensity joined #sbcl 2014-05-18T22:31:03Z irsol_ quit (Changing host) 2014-05-18T22:31:03Z irsol_ joined #sbcl 2014-05-18T22:31:05Z irsol_ is now known as irsol 2014-05-18T22:46:41Z davazp joined #sbcl 2014-05-18T23:04:57Z pkhuong: we didn't really talk about it much while it was under way 2014-05-18T23:10:05Z nyef: I suppose we didn't, outside of this channel. 2014-05-18T23:12:17Z nyef: At some point I'd like to sit down and go over my port logs (which I stopped keeping right about once we got our first REPLs) to see if I can estimate approximately how much effort was involved. 2014-05-18T23:20:30Z pkhuong: and what could be better documented? (: 2014-05-18T23:26:52Z nyef: Details, details. d-: 2014-05-18T23:27:16Z drmeister joined #sbcl 2014-05-18T23:28:28Z nyef notes that a SunFire v210 is obnoxiously loud. 2014-05-18T23:40:05Z krzysz00 quit (Ping timeout: 252 seconds) 2014-05-18T23:41:50Z krzysz00 joined #sbcl 2014-05-18T23:42:13Z oleo quit (Ping timeout: 276 seconds) 2014-05-18T23:54:38Z oleo joined #sbcl 2014-05-19T00:10:16Z krzysz00 quit (Ping timeout: 240 seconds) 2014-05-19T00:10:28Z zRecursive joined #sbcl 2014-05-19T00:12:29Z krzysz00 joined #sbcl 2014-05-19T00:38:06Z kanru` joined #sbcl 2014-05-19T00:38:49Z psilord joined #sbcl 2014-05-19T00:51:54Z psilord quit (Quit: Leaving.) 2014-05-19T00:52:12Z psilord joined #sbcl 2014-05-19T00:52:39Z psilord quit (Client Quit) 2014-05-19T00:52:53Z psilord joined #sbcl 2014-05-19T00:55:07Z Hydan joined #sbcl 2014-05-19T01:04:03Z kanru` quit (Ping timeout: 252 seconds) 2014-05-19T01:09:22Z psilord quit (Quit: Leaving.) 2014-05-19T01:09:39Z psilord joined #sbcl 2014-05-19T01:10:19Z psilord quit (Client Quit) 2014-05-19T01:10:37Z psilord joined #sbcl 2014-05-19T01:12:17Z psilord quit (Client Quit) 2014-05-19T01:12:35Z psilord joined #sbcl 2014-05-19T01:12:44Z psilord quit (Client Quit) 2014-05-19T01:13:25Z davazp quit (Remote host closed the connection) 2014-05-19T01:21:01Z psilord joined #sbcl 2014-05-19T01:48:43Z nyef quit (Quit: G'night all.) 2014-05-19T02:31:18Z drmeister quit (Remote host closed the connection) 2014-05-19T02:34:37Z scymtym_ quit (Ping timeout: 252 seconds) 2014-05-19T02:38:45Z christoph_debian quit (Ping timeout: 265 seconds) 2014-05-19T02:44:11Z drmeister joined #sbcl 2014-05-19T02:52:02Z christoph_debian joined #sbcl 2014-05-19T02:52:56Z joshe joined #sbcl 2014-05-19T03:32:36Z michael_lee joined #sbcl 2014-05-19T04:00:21Z LiamH quit (Quit: Leaving.) 2014-05-19T04:23:39Z yacks joined #sbcl 2014-05-19T04:35:51Z attila_lendvai joined #sbcl 2014-05-19T04:37:22Z mega1 joined #sbcl 2014-05-19T05:05:36Z oleo quit (Remote host closed the connection) 2014-05-19T05:45:49Z jackdani1l is now known as jackdaniel 2014-05-19T05:46:23Z krzysz00 quit (Ping timeout: 252 seconds) 2014-05-19T05:48:23Z krzysz00 joined #sbcl 2014-05-19T05:50:23Z pranavrc joined #sbcl 2014-05-19T06:08:52Z Krystof: minion: memo for stassats: I can test given sufficient instructions -- bear in mind that my boards currently don't even have X libraries installed 2014-05-19T06:08:52Z minion: Remembered. I'll tell stassats when he/she/it next speaks. 2014-05-19T06:22:16Z erikvarga joined #sbcl 2014-05-19T07:11:30Z ASau quit (Ping timeout: 240 seconds) 2014-05-19T07:18:26Z zRecursive left #sbcl 2014-05-19T08:05:18Z john3213 joined #sbcl 2014-05-19T08:05:58Z attila_lendvai quit (Ping timeout: 265 seconds) 2014-05-19T08:10:21Z john3213 left #sbcl 2014-05-19T08:18:17Z stassats joined #sbcl 2014-05-19T08:20:54Z stassats: minion: forget my memos 2014-05-19T08:20:54Z minion: OK, I threw it out. 2014-05-19T08:21:07Z stassats: Krystof: just running callback.impure.lisp should be enough 2014-05-19T08:28:34Z Bike quit (Ping timeout: 240 seconds) 2014-05-19T08:36:48Z attila_lendvai joined #sbcl 2014-05-19T08:45:46Z DGASAU joined #sbcl 2014-05-19T08:49:39Z krzysz00 quit (Ping timeout: 258 seconds) 2014-05-19T08:51:35Z krzysz00 joined #sbcl 2014-05-19T09:31:55Z mega1 quit (Read error: Connection reset by peer) 2014-05-19T09:32:13Z mega1 joined #sbcl 2014-05-19T09:34:54Z attila_lendvai quit (Quit: Leaving.) 2014-05-19T10:05:03Z michael_lee quit (Quit: Ex-Chat) 2014-05-19T10:08:48Z scymtym_ joined #sbcl 2014-05-19T10:13:07Z attila_lendvai joined #sbcl 2014-05-19T10:15:02Z jdz joined #sbcl 2014-05-19T10:23:30Z stassats quit (Ping timeout: 240 seconds) 2014-05-19T10:37:42Z nyef joined #sbcl 2014-05-19T10:38:13Z nyef: G'morning all. 2014-05-19T11:20:07Z jdz_ joined #sbcl 2014-05-19T11:20:16Z jdz quit (Ping timeout: 240 seconds) 2014-05-19T11:20:55Z erikvarga left #sbcl 2014-05-19T11:22:15Z krzysz00 quit (Ping timeout: 252 seconds) 2014-05-19T11:22:18Z angavrilov joined #sbcl 2014-05-19T11:24:13Z krzysz00 joined #sbcl 2014-05-19T11:24:18Z jdz_ quit (Ping timeout: 240 seconds) 2014-05-19T11:26:17Z jdz joined #sbcl 2014-05-19T11:31:15Z Hydan quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) 2014-05-19T12:29:27Z ivan`` quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2014-05-19T12:33:13Z ivan`` joined #sbcl 2014-05-19T12:37:21Z jdz quit (Quit: Leaving...) 2014-05-19T12:52:30Z attila_lendvai quit (Quit: Leaving.) 2014-05-19T12:53:55Z krzysz00 quit (Ping timeout: 252 seconds) 2014-05-19T12:55:53Z krzysz00 joined #sbcl 2014-05-19T13:00:22Z pranavrc quit 2014-05-19T13:23:47Z krzysz00 quit (Ping timeout: 255 seconds) 2014-05-19T13:25:49Z krzysz00 joined #sbcl 2014-05-19T13:25:55Z eudoxia joined #sbcl 2014-05-19T13:27:24Z drmeister quit (Remote host closed the connection) 2014-05-19T13:49:15Z attila_lendvai joined #sbcl 2014-05-19T13:49:43Z segv- joined #sbcl 2014-05-19T14:11:08Z oleo joined #sbcl 2014-05-19T14:17:37Z rpg joined #sbcl 2014-05-19T14:24:15Z Bike joined #sbcl 2014-05-19T14:29:34Z drmeister joined #sbcl 2014-05-19T14:45:35Z stassats joined #sbcl 2014-05-19T14:51:10Z scymtym_ quit (Ping timeout: 245 seconds) 2014-05-19T14:52:55Z krzysz00_ joined #sbcl 2014-05-19T14:55:28Z krzysz00 quit (Ping timeout: 240 seconds) 2014-05-19T15:01:22Z eudoxia quit (Quit: leaving) 2014-05-19T15:11:31Z eudoxia joined #sbcl 2014-05-19T15:12:40Z drmeister quit (Ping timeout: 240 seconds) 2014-05-19T15:23:41Z drmeister joined #sbcl 2014-05-19T15:40:24Z erikvarga joined #sbcl 2014-05-19T15:59:26Z prxq joined #sbcl 2014-05-19T16:09:44Z drmeiste_ joined #sbcl 2014-05-19T16:10:06Z drmeister quit (Ping timeout: 258 seconds) 2014-05-19T16:13:23Z Bike quit (Ping timeout: 252 seconds) 2014-05-19T16:14:45Z Hydan joined #sbcl 2014-05-19T16:15:12Z Bike joined #sbcl 2014-05-19T16:32:41Z nicdev: trying to build latest changes on ubuntu, x86 i get sb-mpfr contrib failing to build/pass their self tests. Just heads up in case this is unkown 2014-05-19T16:33:01Z nicdev: s/their/its 2014-05-19T16:33:07Z stassats: it is known, it is not failing, just no libmpfr.so 2014-05-19T16:33:35Z stassats: it should a) handle that more nicely b) actually try what is there, libmpfr.so.4 2014-05-19T16:53:35Z DGASAU quit (Remote host closed the connection) 2014-05-19T16:54:25Z DGASAU joined #sbcl 2014-05-19T16:55:07Z krzysz00_ is now known as krzysz00 2014-05-19T17:04:24Z krzysz00: Finally finished the database rewrite! 2014-05-19T17:20:20Z rpg quit (Quit: rpg) 2014-05-19T17:24:29Z brown`: stassats: The sb-gmp remove-2 test still fails for me on 64-bit x86 Ubuntu, with latest SBCL. 2014-05-19T17:26:41Z stassats: ok, then i want to hear more 2014-05-19T17:34:14Z brown`: Re-running now so I can tell you what the error is ... 2014-05-19T17:34:23Z stassats: you didn't have to! 2014-05-19T17:34:27Z stassats: now it's too late 2014-05-19T17:34:56Z stassats: for the future, output/building-contrib.sb-gmp 2014-05-19T17:39:32Z brown`: ok, will remember that 2014-05-19T17:40:13Z brown`: Test SB-GMP-TESTS::REMOVE-2 failed 2014-05-19T17:40:13Z brown`: Form: (MULTIPLE-VALUE-LIST (SB-GMP:MPZ-REMOVE 28 -7)) 2014-05-19T17:40:13Z brown`: Expected value: (-4 1) 2014-05-19T17:40:13Z brown`: Actual value: #. 2014-05-19T17:40:16Z brown`: 2014-05-19T17:40:49Z brown`: I think it's the same error I saw before the latest changes. 2014-05-19T17:41:20Z stassats: ok, that's a different one 2014-05-19T17:41:40Z stassats: and what's your gmp version? 2014-05-19T17:42:13Z stassats: i'll relay this to the sb-gmp author 2014-05-19T17:42:36Z stassats: i know how to solve it, but it may make things a bit slower 2014-05-19T17:43:15Z brown`: dpkg --list says: libgmp-dev 2:5.0.2+dfsg-2ubuntu1 2014-05-19T17:44:25Z brown`: /usr/lib/x86_64-linux-gnu/libgmp.so -> libgmp.so.10.0.2 2014-05-19T17:45:09Z stassats: brown`: and when you do (sb-int:with-float-traps-masked (:divide-by-zero) (MULTIPLE-VALUE-LIST (SB-GMP:MPZ-REMOVE 28 -7))) returns the right result? 2014-05-19T17:46:52Z stassats: i really didn't expect gmp to mess with float traps, but maybe it just corrupts the status register 2014-05-19T17:47:12Z sdemarre joined #sbcl 2014-05-19T17:47:14Z stassats: though, there's division in mpz-remove 2014-05-19T17:49:06Z brown`: When I do ./run-sbcl.sh and then (require 'sb-gmp), then the expression above, I still get ... arithmetic error DIVISION-BY-ZERO signalled. 2014-05-19T17:49:29Z stassats: ok, that may be not a float trap 2014-05-19T17:49:52Z stassats: brown`: how does the error look like? 2014-05-19T17:50:12Z brown`: You mean stack trace? 2014-05-19T17:50:31Z stassats: i meant, the printed error, but, i now want the stack trace too 2014-05-19T17:50:36Z stassats: just paste everything 2014-05-19T17:50:43Z brown`: ok 2014-05-19T17:50:55Z stassats: (not here, obviously, to paste.lisp.org 2014-05-19T17:51:10Z stassats: and i'll try to divide something by zero 2014-05-19T17:51:32Z brown`: (sb-int:with-float-traps-masked (:divide-by-zero) (MULTIPLE-VALUE-LIST (SB-GMP:MPZ-REMOVE 28 -7))) 2014-05-19T17:51:32Z brown`: debugger invoked on a DIVISION-BY-ZERO in thread 2014-05-19T17:51:32Z brown`: #: 2014-05-19T17:51:32Z brown`: arithmetic error DIVISION-BY-ZERO signalled 2014-05-19T17:51:36Z brown`: Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL. 2014-05-19T17:51:39Z brown`: restarts (invokable by number or by possibly-abbreviated name): 2014-05-19T17:51:42Z brown`: 0: [ABORT] Exit debugger, returning to top level. 2014-05-19T17:51:45Z brown`: ((FLET SB-UNIX::RUN-HANDLER :IN SB-SYS:ENABLE-INTERRUPT) 8 #.(SB-SYS:INT-SAP #X7FFFF613EF30) #.(SB-SYS:INT-SAP #X7FFFF613EE00)) 2014-05-19T17:51:48Z brown`: 0] :bt 2014-05-19T17:51:51Z brown`: :BT 2014-05-19T17:51:55Z brown`: 0] :backtrace 2014-05-19T17:51:58Z brown`: Backtrace for: # 2014-05-19T17:51:58Z stassats: well, i guess my remark was too late 2014-05-19T17:52:01Z brown`: 0: ((FLET SB-UNIX::RUN-HANDLER :IN SB-SYS:ENABLE-INTERRUPT) 8 #.(SB-SYS:INT-SAP #X7FFFF613EF30) #.(SB-SYS:INT-SAP #X7FFFF613EE00)) 2014-05-19T17:52:04Z brown`: 1: ("foreign function: call_into_lisp") 2014-05-19T17:52:06Z brown`: 2: ("foreign function: funcall3") 2014-05-19T17:52:09Z brown`: 3: ("foreign function: interrupt_handle_now") 2014-05-19T17:52:12Z brown`: 4: ("foreign function: interrupt_handle_now_handler") 2014-05-19T17:52:18Z brown`: oh, sorry 2014-05-19T17:52:27Z stassats: ok, i see now 2014-05-19T17:54:44Z stassats: alright, (inst div eax zero) does give me the same thing 2014-05-19T17:57:37Z stassats: brown`: does (SB-GMP:MPZ-REMOVE 28 7) work? 2014-05-19T17:59:05Z sdemarre quit (Ping timeout: 264 seconds) 2014-05-19T17:59:07Z stassats: Changes in GMP 5.1.0 " The mpz_remove function now handles negative divisors. " 2014-05-19T18:00:18Z stassats: brown`: the problem is clear now, thanks 2014-05-19T18:00:53Z stassats: now it needs to either not test mpz_remove with negatives at all, test conditionally, and ideally, reporting an error at runtime 2014-05-19T18:05:59Z brown`: (SB-GMP:MPZ-REMOVE 28 7) returns 4 and 1 2014-05-19T18:06:05Z brown`: Thanks! 2014-05-19T18:11:28Z rpg joined #sbcl 2014-05-19T18:17:45Z sdemarre joined #sbcl 2014-05-19T18:32:04Z Krystof: krzysz00: tell me more 2014-05-19T18:57:56Z prxq quit (Remote host closed the connection) 2014-05-19T19:00:03Z prxq joined #sbcl 2014-05-19T19:06:02Z rpg quit (Quit: rpg) 2014-05-19T19:10:11Z eudoxia quit (Quit: Lost terminal) 2014-05-19T19:12:03Z prxq quit (Remote host closed the connection) 2014-05-19T19:16:45Z krzysz00: Krystof: https://github.com/krzysz00/sbcl/tree/database-rewrite to take a look. I tried to document it ... 2014-05-19T19:17:22Z krzysz00: It supports Unicode 6.3, fits the full Unicode case mappings, and makes it a bit easier to squeeze in a bit more stuff later. 2014-05-19T19:18:05Z krzysz00: Probably hasn't lost much efficiency in the case operations (I hope). 2014-05-19T19:18:21Z rpg joined #sbcl 2014-05-19T19:22:47Z stassats: how large is the table? 2014-05-19T19:27:09Z krzysz00: stassats: Sum over all tables is ~196K (some of those are hash tables dumped to disk, so things might be smaller in memory) 2014-05-19T19:34:58Z krzysz00: That's actually a size reduction from the current database. (I'm surprised too!) 2014-05-19T19:36:42Z krzysz00: Also, Krystof: I've implemented Unicode-compliant case operations (except titlecase right now) at https://github.com/krzysz00/sbcl/tree/unicode-algorithms . (Uses new database.) 2014-05-19T19:50:24Z attila_lendvai quit (Quit: Leaving.) 2014-05-19T19:51:24Z angavrilov quit (Remote host closed the connection) 2014-05-19T19:53:40Z erikvarga left #sbcl 2014-05-19T19:54:30Z les quit (Ping timeout: 245 seconds) 2014-05-19T19:56:17Z les joined #sbcl 2014-05-19T19:56:17Z les quit (Changing host) 2014-05-19T19:56:17Z les joined #sbcl 2014-05-19T20:09:21Z Hydan quit (Quit: Textual IRC Client: www.textualapp.com) 2014-05-19T20:10:40Z eudoxia joined #sbcl 2014-05-19T20:11:21Z sdemarre quit (Ping timeout: 252 seconds) 2014-05-19T20:12:16Z prxq joined #sbcl 2014-05-19T20:17:30Z stassats quit (Read error: Connection reset by peer) 2014-05-19T20:20:16Z gingerale- joined #sbcl 2014-05-19T20:21:31Z [1]gingerale joined #sbcl 2014-05-19T20:24:01Z gingerale quit (Ping timeout: 265 seconds) 2014-05-19T20:24:01Z [1]gingerale is now known as gingerale 2014-05-19T20:24:40Z gingerale- quit (Ping timeout: 240 seconds) 2014-05-19T20:52:03Z mega1 quit (Ping timeout: 252 seconds) 2014-05-19T20:52:03Z gingerale quit (Quit: HydraIRC -> http://www.hydrairc.com <- In tests, 0x09 out of 0x0A l33t h4x0rz prefer it :)) 2014-05-19T21:08:35Z rpg quit (Quit: rpg) 2014-05-19T21:14:20Z ASau joined #sbcl 2014-05-19T21:26:41Z Fare joined #sbcl 2014-05-19T21:27:06Z Fare: looks like sbcl gets mighty confused by a combo of #. and ` 2014-05-19T21:28:33Z Fare: `#.#(1 2 3) 2014-05-19T21:28:39Z Fare: does that fail on the latest SBCL? 2014-05-19T21:28:50Z Fare: it fails on 1.1.14.43 2014-05-19T21:29:09Z brown`: Produces #(1 2 3) on today's SBCL. 2014-05-19T21:30:10Z Fare: good to know 2014-05-19T21:30:40Z Fare: interestingly, fare-quasiquote has the same bug, probably because it is largely based on the previous sbcl quasiquote implementation. 2014-05-19T21:31:24Z Fare: sigh. 2014-05-19T21:31:36Z Fare: #. must reset the backquote counter, or bust 2014-05-19T21:33:14Z rpg joined #sbcl 2014-05-19T21:33:17Z krzysz00 quit (Ping timeout: 264 seconds) 2014-05-19T21:34:05Z brown`: I've never taken a stab at implementing backquote and can never remember the high-level rules that let one parse what a complex backquoted expression does. 2014-05-19T21:34:46Z krzysz00 joined #sbcl 2014-05-19T21:39:50Z Fare: I did, and it's tricky, proof is I got it wrong 2014-05-19T21:39:59Z Fare: and fare-quasiquote had a slightly different bug from sbcl 2014-05-19T21:40:01Z nyef: Yay for test suites, right? 2014-05-19T21:40:13Z Fare: it forgot to reset quasiquote-level in #. but sbcl did and still failed 2014-05-19T21:40:18Z Fare: nyef: right 2014-05-19T21:42:50Z yacks quit (Ping timeout: 258 seconds) 2014-05-19T21:48:52Z scymtym_ joined #sbcl 2014-05-19T21:49:56Z Fare: wait, I'm looking at sbcl source code more recent than the code I'm running, so it's possible it's the same bug after all. 2014-05-19T21:49:58Z Fare: anyway 2014-05-19T21:50:18Z Fare: can you add that test to the sbcl test suite? 2014-05-19T21:50:23Z Fare: if not there already 2014-05-19T21:53:23Z Fare: and... could someone upgrade asdf to 3.1.2 in sbcl? 2014-05-19T22:08:22Z Fare: oh, I see that when sbcl upgrades its asdf, it must update the scripts that assume that fasl-op has outputs... 2014-05-19T22:08:42Z Fare: fasl-op has been renamed to compile-bundle-op instead 2014-05-19T22:08:49Z Fare: let me update the proper bug... 2014-05-19T22:13:37Z Fare: https://bugs.launchpad.net/sbcl/+bug/1267006 2014-05-19T22:15:19Z Fare: https://bugs.launchpad.net/sbcl/+bug/1318046 2014-05-19T22:18:22Z segv- quit (Ping timeout: 255 seconds) 2014-05-19T22:20:19Z Fare: my mix of ` and #. is still making the latest sbcl unhappy, somehow 2014-05-19T22:23:24Z Fare notes that the sharp-dot reader of sbcl *reads* while the bq count is 0, but doesn't reset the bq count around the eval. 2014-05-19T22:23:32Z Fare: I believe that's what causing the issue 2014-05-19T22:28:39Z prxq quit (Remote host closed the connection) 2014-05-19T22:33:01Z Fare: `(#.(format t "~S~%" (read-from-string "#(1 2 3)"))) 2014-05-19T22:33:26Z Fare: or maybe that's on purpose? 2014-05-19T22:34:03Z Fare: I don't see why you would want to do that, though. 2014-05-19T22:56:39Z drmeiste_ quit (Remote host closed the connection) 2014-05-19T23:03:41Z krzysz00 quit (Ping timeout: 252 seconds) 2014-05-19T23:04:10Z rpg quit (Quit: rpg) 2014-05-19T23:05:24Z krzysz00 joined #sbcl 2014-05-19T23:12:33Z drmeister joined #sbcl 2014-05-19T23:30:28Z drmeister quit (Read error: Connection reset by peer) 2014-05-19T23:36:58Z drmeister joined #sbcl 2014-05-20T00:02:32Z Fare: https://bugs.launchpad.net/sbcl/+bug/1321047 2014-05-20T00:09:34Z ehaliewicz joined #sbcl 2014-05-20T00:20:18Z jackdaniel quit (Ping timeout: 240 seconds) 2014-05-20T00:33:58Z krzysz00: https://github.com/krzysz00/sbcl/tree/unicode-algorithms now has grapheme breaking 2014-05-20T00:41:38Z oleo quit (Ping timeout: 265 seconds) 2014-05-20T00:42:25Z oleo joined #sbcl 2014-05-20T00:42:51Z eudoxia quit (Quit: Lost terminal) 2014-05-20T01:05:24Z zRecursive joined #sbcl 2014-05-20T01:32:55Z nyef quit (Quit: G'night all.) 2014-05-20T02:01:35Z leo2007 quit (Ping timeout: 258 seconds) 2014-05-20T02:06:16Z Bike quit (Ping timeout: 240 seconds) 2014-05-20T02:08:31Z Bike joined #sbcl 2014-05-20T02:09:11Z Bike quit (Client Quit) 2014-05-20T02:09:24Z Bike joined #sbcl 2014-05-20T02:13:47Z eudoxia joined #sbcl 2014-05-20T02:20:42Z Bike quit (Ping timeout: 240 seconds) 2014-05-20T02:22:47Z Bike joined #sbcl 2014-05-20T02:30:36Z leo2007 joined #sbcl 2014-05-20T02:33:08Z eudoxia quit (Quit: wow such sleepytime) 2014-05-20T02:37:06Z krzysz00 quit (Ping timeout: 240 seconds) 2014-05-20T02:38:46Z christoph_debian quit (Ping timeout: 258 seconds) 2014-05-20T02:39:02Z krzysz00 joined #sbcl 2014-05-20T02:52:49Z christoph_debian joined #sbcl 2014-05-20T02:57:37Z scymtym_ quit (Ping timeout: 252 seconds) 2014-05-20T03:31:07Z leo2007 quit (Quit: rcirc on GNU Emacs 24.4.50.1) 2014-05-20T03:32:27Z leo2007 joined #sbcl 2014-05-20T03:32:55Z gingerale joined #sbcl 2014-05-20T03:40:58Z drmeister quit (Ping timeout: 240 seconds) 2014-05-20T03:41:38Z Bike quit (Ping timeout: 258 seconds) 2014-05-20T03:41:55Z attila_lendvai joined #sbcl 2014-05-20T03:43:20Z Bike joined #sbcl 2014-05-20T03:51:53Z leo2007 quit (Ping timeout: 252 seconds) 2014-05-20T04:18:03Z Fare quit (Ping timeout: 258 seconds) 2014-05-20T04:19:04Z Fare joined #sbcl 2014-05-20T04:27:21Z Bike_ joined #sbcl 2014-05-20T04:27:52Z gingerale quit (Ping timeout: 240 seconds) 2014-05-20T04:28:56Z Bike quit (Ping timeout: 255 seconds) 2014-05-20T04:29:02Z Bike_ is now known as Bike 2014-05-20T04:40:58Z Fare quit (Ping timeout: 276 seconds) 2014-05-20T04:48:33Z yacks joined #sbcl 2014-05-20T05:07:29Z oleo quit (Quit: Leaving) 2014-05-20T05:13:23Z mega1 joined #sbcl 2014-05-20T05:30:10Z leo2007 joined #sbcl 2014-05-20T05:34:16Z yacks quit (Ping timeout: 240 seconds) 2014-05-20T05:44:17Z yacks joined #sbcl 2014-05-20T05:57:55Z pranavrc joined #sbcl 2014-05-20T06:10:38Z yacks quit (Ping timeout: 255 seconds) 2014-05-20T07:08:52Z Krystof: minion: memo for stassats: http://paste.lisp.org/display/142618 2014-05-20T07:08:52Z minion: Remembered. I'll tell stassats when he/she/it next speaks. 2014-05-20T07:13:53Z zRecursive left #sbcl 2014-05-20T07:27:42Z momo-reina joined #sbcl 2014-05-20T07:29:41Z Bike quit (Ping timeout: 264 seconds) 2014-05-20T07:30:43Z DGASAU` joined #sbcl 2014-05-20T07:37:41Z leo2007 quit (*.net *.split) 2014-05-20T07:37:41Z DGASAU quit (*.net *.split) 2014-05-20T07:40:18Z erikvarga joined #sbcl 2014-05-20T07:41:12Z Krystof: morning, erikvarga. Just need to drop a child off at school :-) 2014-05-20T07:42:30Z erikvarga: Good morning. No problem, I can wait :) 2014-05-20T07:52:14Z xymox quit (Read error: Operation timed out) 2014-05-20T07:52:41Z xymox joined #sbcl 2014-05-20T07:57:30Z xymox quit (Ping timeout: 240 seconds) 2014-05-20T07:59:25Z yacks joined #sbcl 2014-05-20T08:01:10Z xymox joined #sbcl 2014-05-20T08:01:41Z Krystof: erikvarga: oops, there are lots of erik vargas on skype 2014-05-20T08:01:43Z Krystof: which one are you? 2014-05-20T08:03:05Z erikvarga: Krystof: My skype username is not erikvarga, it's pluweri :) 2014-05-20T08:03:51Z Krystof: I wouldn't have guessed that 2014-05-20T08:07:04Z xymox quit (Ping timeout: 240 seconds) 2014-05-20T08:08:44Z xymox joined #sbcl 2014-05-20T08:12:29Z pkhuong quit (Ping timeout: 252 seconds) 2014-05-20T08:14:57Z xymox quit (Ping timeout: 258 seconds) 2014-05-20T08:16:41Z xymox joined #sbcl 2014-05-20T08:18:49Z ASau quit (Ping timeout: 252 seconds) 2014-05-20T08:20:09Z angavrilov joined #sbcl 2014-05-20T08:20:17Z attila_lendvai quit (Quit: Leaving.) 2014-05-20T08:21:54Z xymox quit (Ping timeout: 240 seconds) 2014-05-20T08:23:32Z xymox joined #sbcl 2014-05-20T08:29:46Z xymox quit (Ping timeout: 276 seconds) 2014-05-20T08:31:41Z xymox joined #sbcl 2014-05-20T08:33:57Z momo-reina quit (Remote host closed the connection) 2014-05-20T08:37:43Z xymox quit (Ping timeout: 265 seconds) 2014-05-20T08:39:23Z xymox joined #sbcl 2014-05-20T08:46:01Z xymox quit (Ping timeout: 276 seconds) 2014-05-20T08:46:07Z DGASAU` is now known as DGASAU 2014-05-20T08:47:14Z xymox joined #sbcl 2014-05-20T08:53:04Z xymox quit (Ping timeout: 240 seconds) 2014-05-20T08:55:09Z xymox joined #sbcl 2014-05-20T08:59:22Z pkhuong joined #sbcl 2014-05-20T09:00:17Z xymox quit (Ping timeout: 255 seconds) 2014-05-20T09:02:07Z xymox joined #sbcl 2014-05-20T09:07:58Z DGASAU quit (Read error: Connection reset by peer) 2014-05-20T09:08:05Z xymox quit (Ping timeout: 264 seconds) 2014-05-20T09:09:42Z xymox joined #sbcl 2014-05-20T09:16:06Z ehaliewicz quit (Read error: Connection reset by peer) 2014-05-20T09:16:19Z ehaliewicz joined #sbcl 2014-05-20T09:16:49Z xymox quit (Read error: Connection reset by peer) 2014-05-20T09:17:22Z xymox joined #sbcl 2014-05-20T09:22:58Z xymox quit (Ping timeout: 240 seconds) 2014-05-20T09:25:16Z xymox joined #sbcl 2014-05-20T09:32:24Z xymox quit (Read error: Connection reset by peer) 2014-05-20T09:32:52Z xymox joined #sbcl 2014-05-20T09:38:47Z xymox quit (Ping timeout: 255 seconds) 2014-05-20T09:38:48Z momo-reina joined #sbcl 2014-05-20T09:40:12Z xymox joined #sbcl 2014-05-20T09:40:17Z DGASAU joined #sbcl 2014-05-20T09:43:49Z attila_lendvai joined #sbcl 2014-05-20T09:43:49Z attila_lendvai quit (Changing host) 2014-05-20T09:43:49Z attila_lendvai joined #sbcl 2014-05-20T09:44:58Z krzysz00 quit (Ping timeout: 240 seconds) 2014-05-20T09:47:12Z krzysz00 joined #sbcl 2014-05-20T09:47:22Z xymox quit (Read error: Connection reset by peer) 2014-05-20T09:47:50Z xymox joined #sbcl 2014-05-20T09:53:51Z xymox quit (Ping timeout: 258 seconds) 2014-05-20T09:55:32Z xymox joined #sbcl 2014-05-20T09:59:56Z stassats joined #sbcl 2014-05-20T10:01:31Z xymox quit (Ping timeout: 258 seconds) 2014-05-20T10:04:37Z xymox joined #sbcl 2014-05-20T10:09:46Z momo-reina quit (Remote host closed the connection) 2014-05-20T10:09:54Z momo-reina joined #sbcl 2014-05-20T10:10:44Z xymox quit (Ping timeout: 255 seconds) 2014-05-20T10:12:08Z momo-reina quit (Remote host closed the connection) 2014-05-20T10:12:41Z xymox joined #sbcl 2014-05-20T10:19:06Z xymox quit (Ping timeout: 240 seconds) 2014-05-20T10:20:24Z xymox joined #sbcl 2014-05-20T10:25:41Z xymox quit (Ping timeout: 252 seconds) 2014-05-20T10:28:10Z xymox joined #sbcl 2014-05-20T10:34:58Z krzysz00 quit (Ping timeout: 240 seconds) 2014-05-20T10:35:02Z xymox quit (Ping timeout: 255 seconds) 2014-05-20T10:36:34Z xymox joined #sbcl 2014-05-20T10:42:26Z xymox quit (Ping timeout: 255 seconds) 2014-05-20T10:43:16Z krzysz00 joined #sbcl 2014-05-20T10:44:48Z xymox joined #sbcl 2014-05-20T10:50:20Z momo-reina joined #sbcl 2014-05-20T10:52:40Z xymox quit (Ping timeout: 240 seconds) 2014-05-20T10:55:45Z xymox joined #sbcl 2014-05-20T10:56:22Z leo2007 joined #sbcl 2014-05-20T11:00:56Z xymox quit (Ping timeout: 258 seconds) 2014-05-20T11:02:16Z xymox joined #sbcl 2014-05-20T11:04:15Z momo-reina quit (Remote host closed the connection) 2014-05-20T11:07:23Z attila_lendvai quit (Quit: Leaving.) 2014-05-20T11:07:58Z xymox quit (Ping timeout: 240 seconds) 2014-05-20T11:10:22Z xymox joined #sbcl 2014-05-20T11:15:34Z pranavrc quit (Remote host closed the connection) 2014-05-20T11:15:54Z ehaliewicz quit (Ping timeout: 240 seconds) 2014-05-20T11:16:11Z krzysz00 quit (Ping timeout: 255 seconds) 2014-05-20T11:16:42Z pranavrc joined #sbcl 2014-05-20T11:17:30Z xymox quit (Read error: Connection reset by peer) 2014-05-20T11:17:58Z xymox joined #sbcl 2014-05-20T11:18:02Z krzysz00 joined #sbcl 2014-05-20T11:24:05Z xymox quit (Ping timeout: 255 seconds) 2014-05-20T11:27:02Z xymox joined #sbcl 2014-05-20T11:34:05Z xymox quit (Read error: Connection reset by peer) 2014-05-20T11:34:33Z xymox joined #sbcl 2014-05-20T11:40:18Z xymox quit (Ping timeout: 240 seconds) 2014-05-20T11:42:24Z xymox joined #sbcl 2014-05-20T11:48:08Z xymox quit (Ping timeout: 255 seconds) 2014-05-20T11:49:59Z xymox joined #sbcl 2014-05-20T11:55:03Z xymox quit (Ping timeout: 240 seconds) 2014-05-20T11:55:35Z stassats quit (Ping timeout: 255 seconds) 2014-05-20T11:56:35Z xymox joined #sbcl 2014-05-20T12:02:37Z nyef joined #sbcl 2014-05-20T12:02:51Z nyef: G'morning all. 2014-05-20T12:03:09Z xymox quit (Read error: Connection reset by peer) 2014-05-20T12:03:37Z xymox joined #sbcl 2014-05-20T12:09:10Z xymox quit (Ping timeout: 258 seconds) 2014-05-20T12:09:11Z Krystof: hi 2014-05-20T12:10:56Z xymox joined #sbcl 2014-05-20T12:14:11Z Fare joined #sbcl 2014-05-20T12:18:10Z xymox quit (Read error: Connection reset by peer) 2014-05-20T12:18:39Z xymox joined #sbcl 2014-05-20T12:24:07Z xymox quit (Ping timeout: 252 seconds) 2014-05-20T12:25:55Z xymox joined #sbcl 2014-05-20T12:34:51Z xymox quit (Ping timeout: 258 seconds) 2014-05-20T12:36:13Z xymox joined #sbcl 2014-05-20T12:40:12Z pkhuong: http://arxiv.org/abs/1310.8121 <- Aubrey Jaffer's new proposal to print/read FP 2014-05-20T12:42:37Z xymox quit (Ping timeout: 276 seconds) 2014-05-20T12:44:11Z xymox joined #sbcl 2014-05-20T12:47:20Z Krystof: nice 2014-05-20T12:51:54Z xymox quit (Read error: Connection reset by peer) 2014-05-20T12:52:22Z xymox joined #sbcl 2014-05-20T12:56:14Z psilord quit (Quit: Leaving.) 2014-05-20T12:57:54Z xymox quit (Ping timeout: 240 seconds) 2014-05-20T12:58:25Z segv- joined #sbcl 2014-05-20T13:00:38Z xymox joined #sbcl 2014-05-20T13:08:42Z xymox quit (Ping timeout: 240 seconds) 2014-05-20T13:09:34Z pranavrc quit 2014-05-20T13:09:35Z erikvarga quit (Ping timeout: 252 seconds) 2014-05-20T13:11:56Z xymox joined #sbcl 2014-05-20T13:18:45Z xymox quit (Read error: Connection reset by peer) 2014-05-20T13:19:24Z xymox joined #sbcl 2014-05-20T13:24:59Z xymox quit (Ping timeout: 252 seconds) 2014-05-20T13:25:24Z oleo joined #sbcl 2014-05-20T13:26:57Z xymox joined #sbcl 2014-05-20T13:33:47Z eudoxia joined #sbcl 2014-05-20T13:34:16Z xymox quit (Read error: Connection reset by peer) 2014-05-20T13:34:49Z xymox joined #sbcl 2014-05-20T13:39:38Z eudoxia quit (Ping timeout: 240 seconds) 2014-05-20T13:40:26Z oleo quit (Ping timeout: 255 seconds) 2014-05-20T13:41:07Z xymox quit (Ping timeout: 252 seconds) 2014-05-20T13:41:54Z loke__ quit (Ping timeout: 240 seconds) 2014-05-20T13:42:14Z eudoxia joined #sbcl 2014-05-20T13:42:16Z xymox joined #sbcl 2014-05-20T13:44:51Z oleo joined #sbcl 2014-05-20T13:47:00Z stassats joined #sbcl 2014-05-20T13:50:13Z xymox quit (Ping timeout: 276 seconds) 2014-05-20T13:51:25Z xymox joined #sbcl 2014-05-20T13:54:18Z loke__ joined #sbcl 2014-05-20T13:56:53Z xymox quit (Ping timeout: 252 seconds) 2014-05-20T13:58:54Z xymox joined #sbcl 2014-05-20T14:02:31Z yacks quit (Quit: Leaving) 2014-05-20T14:06:03Z xymox quit (Ping timeout: 252 seconds) 2014-05-20T14:07:17Z xymox joined #sbcl 2014-05-20T14:13:02Z xymox quit (Ping timeout: 255 seconds) 2014-05-20T14:15:05Z xymox joined #sbcl 2014-05-20T14:16:25Z psilord joined #sbcl 2014-05-20T14:16:47Z erikvarga joined #sbcl 2014-05-20T14:22:33Z xymox quit (Ping timeout: 252 seconds) 2014-05-20T14:24:03Z xymox joined #sbcl 2014-05-20T14:25:46Z gingerale joined #sbcl 2014-05-20T14:29:27Z xymox quit (Ping timeout: 240 seconds) 2014-05-20T14:32:08Z xymox joined #sbcl 2014-05-20T14:35:00Z eudoxia quit (Quit: leaving) 2014-05-20T14:37:57Z xymox quit (Ping timeout: 252 seconds) 2014-05-20T14:39:17Z xymox joined #sbcl 2014-05-20T14:45:17Z xymox quit (Ping timeout: 252 seconds) 2014-05-20T14:47:04Z xymox joined #sbcl 2014-05-20T14:50:40Z krzysz00 quit (Ping timeout: 276 seconds) 2014-05-20T14:51:44Z krzysz00 joined #sbcl 2014-05-20T14:52:53Z xymox quit (Ping timeout: 255 seconds) 2014-05-20T14:55:06Z xymox joined #sbcl 2014-05-20T15:00:44Z xymox quit (Ping timeout: 255 seconds) 2014-05-20T15:01:32Z jaimef quit (Excess Flood) 2014-05-20T15:03:15Z xymox joined #sbcl 2014-05-20T15:07:15Z jaimef joined #sbcl 2014-05-20T15:08:50Z xymox quit (Ping timeout: 255 seconds) 2014-05-20T15:10:29Z xymox joined #sbcl 2014-05-20T15:17:41Z xymox quit (Read error: Connection reset by peer) 2014-05-20T15:18:16Z xymox joined #sbcl 2014-05-20T15:26:25Z xymox quit (Ping timeout: 276 seconds) 2014-05-20T15:27:07Z segv- quit (Remote host closed the connection) 2014-05-20T15:27:53Z xymox joined #sbcl 2014-05-20T15:29:36Z segv- joined #sbcl 2014-05-20T15:34:56Z Fare quit (Ping timeout: 255 seconds) 2014-05-20T15:35:05Z xymox quit (Ping timeout: 264 seconds) 2014-05-20T15:35:59Z xymox joined #sbcl 2014-05-20T15:36:29Z drmeister joined #sbcl 2014-05-20T15:40:32Z Bike joined #sbcl 2014-05-20T15:41:41Z xymox quit (Ping timeout: 255 seconds) 2014-05-20T15:43:04Z xymox joined #sbcl 2014-05-20T15:50:18Z xymox quit (Ping timeout: 240 seconds) 2014-05-20T15:52:08Z xymox joined #sbcl 2014-05-20T15:58:34Z xymox quit (Ping timeout: 240 seconds) 2014-05-20T15:58:57Z erikvarga left #sbcl 2014-05-20T16:00:25Z xymox joined #sbcl 2014-05-20T16:00:48Z drmeister quit (Quit: Leaving...) 2014-05-20T16:07:29Z xymox quit (Ping timeout: 264 seconds) 2014-05-20T16:08:05Z leo2007 quit (Ping timeout: 264 seconds) 2014-05-20T16:09:22Z xymox joined #sbcl 2014-05-20T16:09:30Z cmack`` is now known as cmack 2014-05-20T16:13:25Z leo2007 joined #sbcl 2014-05-20T16:15:07Z xymox quit (Ping timeout: 252 seconds) 2014-05-20T16:16:09Z davazp joined #sbcl 2014-05-20T16:17:22Z xymox joined #sbcl 2014-05-20T16:22:49Z xymox quit (Ping timeout: 252 seconds) 2014-05-20T16:25:11Z xymox joined #sbcl 2014-05-20T16:30:59Z xymox quit (Ping timeout: 258 seconds) 2014-05-20T16:33:30Z stassats quit (Ping timeout: 240 seconds) 2014-05-20T16:33:36Z xymox joined #sbcl 2014-05-20T16:40:57Z xymox quit (Ping timeout: 258 seconds) 2014-05-20T16:41:03Z Hydan joined #sbcl 2014-05-20T16:42:38Z xymox joined #sbcl 2014-05-20T16:49:08Z xymox quit (Read error: Connection reset by peer) 2014-05-20T16:49:48Z xymox joined #sbcl 2014-05-20T16:56:11Z xymox quit (Ping timeout: 252 seconds) 2014-05-20T16:57:34Z xymox joined #sbcl 2014-05-20T16:58:05Z eudoxia joined #sbcl 2014-05-20T16:58:45Z eudoxia quit (Client Quit) 2014-05-20T17:00:26Z ltbarcly joined #sbcl 2014-05-20T17:03:03Z xymox quit (Ping timeout: 240 seconds) 2014-05-20T17:05:28Z xymox joined #sbcl 2014-05-20T17:05:39Z ltbarcly quit (Quit: Textual IRC Client: www.textualapp.com) 2014-05-20T17:11:14Z xymox quit (Ping timeout: 255 seconds) 2014-05-20T17:12:14Z ltbarcly joined #sbcl 2014-05-20T17:12:40Z xymox joined #sbcl 2014-05-20T17:18:11Z xymox quit (Ping timeout: 252 seconds) 2014-05-20T17:20:05Z xymox joined #sbcl 2014-05-20T17:25:29Z xymox quit (Ping timeout: 264 seconds) 2014-05-20T17:26:38Z xymox joined #sbcl 2014-05-20T17:27:15Z davazp quit (Remote host closed the connection) 2014-05-20T17:28:26Z stassats joined #sbcl 2014-05-20T17:32:34Z Hydan` joined #sbcl 2014-05-20T17:32:36Z Hydan` quit (Excess Flood) 2014-05-20T17:33:03Z Guest37878 joined #sbcl 2014-05-20T17:34:39Z Guest37878 quit (Client Quit) 2014-05-20T17:34:53Z xymox quit (Read error: Connection reset by peer) 2014-05-20T17:35:02Z Hydan__ joined #sbcl 2014-05-20T17:35:24Z xymox joined #sbcl 2014-05-20T17:36:24Z Hydan__ is now known as udzinari 2014-05-20T17:40:55Z xymox quit (Ping timeout: 252 seconds) 2014-05-20T17:43:31Z Hydan is now known as Guest89390 2014-05-20T17:43:44Z xymox joined #sbcl 2014-05-20T17:46:09Z attila_lendvai joined #sbcl 2014-05-20T17:49:43Z xymox quit (Ping timeout: 252 seconds) 2014-05-20T17:54:57Z xymox joined #sbcl 2014-05-20T17:56:18Z udzinari quit (Quit: -a- Android IRC 2.1.16) 2014-05-20T18:03:15Z xymox quit (Read error: Connection reset by peer) 2014-05-20T18:03:51Z xymox joined #sbcl 2014-05-20T18:12:24Z xymox quit (Ping timeout: 265 seconds) 2014-05-20T18:13:54Z xymox joined #sbcl 2014-05-20T18:18:40Z xymox quit (Ping timeout: 240 seconds) 2014-05-20T18:26:08Z xymox joined #sbcl 2014-05-20T18:33:25Z Fare joined #sbcl 2014-05-20T18:34:14Z xymox quit (Ping timeout: 240 seconds) 2014-05-20T18:35:55Z xymox joined #sbcl 2014-05-20T18:40:48Z attila_lendvai quit (Quit: Leaving.) 2014-05-20T18:41:53Z xymox quit (Ping timeout: 265 seconds) 2014-05-20T18:43:02Z xymox joined #sbcl 2014-05-20T18:49:38Z xymox quit (Ping timeout: 240 seconds) 2014-05-20T18:55:10Z xymox joined #sbcl 2014-05-20T19:08:18Z Fare quit (Ping timeout: 240 seconds) 2014-05-20T19:11:57Z Fare joined #sbcl 2014-05-20T19:38:56Z angavrilov quit (Remote host closed the connection) 2014-05-20T19:41:31Z Krystof: stassats: did you see my paste? 2014-05-20T19:58:21Z drmeister joined #sbcl 2014-05-20T20:05:26Z stassats: not yet 2014-05-20T20:05:26Z minion: stassats, memo from Krystof: http://paste.lisp.org/display/142618 2014-05-20T20:06:04Z stassats: that's understandable 2014-05-20T20:06:17Z stassats: and the c-call change was a whitespace clean up 2014-05-20T20:07:41Z Fare left #sbcl 2014-05-20T20:09:21Z stassats: single float callbacks are broken altogether, and double floats are just failing due to "Don't know how to handle alien double floats on stack." 2014-05-20T20:09:53Z stassats: since calling alien functions doesn't know either, i didn't implement it 2014-05-20T20:10:04Z stassats: so, i guess i need to fix both passing and calling back 2014-05-20T20:10:48Z stassats: and call-2-float-callback seems to work 2014-05-20T20:15:10Z nyef: Don't forget to fix for both hard-float and softfp. (-: 2014-05-20T20:15:19Z stassats: softfp works 2014-05-20T20:15:51Z nyef: Well, that's good, at least. 2014-05-20T20:16:57Z stassats: don't see the problem right away, tomorrow then 2014-05-20T20:19:21Z Krystof: ok 2014-05-20T20:20:29Z stassats: i may see it now 2014-05-20T20:20:48Z stassats: no 2014-05-20T20:22:10Z nyef: I have my hands on two CBLOCKs, in the debugger, and I've just seen a failed AVER. Is there some easy way to dump the IR1 and/or IR2 components at this point? 2014-05-20T20:23:38Z nyef: Ah, nevermind, found it. 2014-05-20T20:33:15Z stassats quit (Ping timeout: 258 seconds) 2014-05-20T20:33:37Z rpg joined #sbcl 2014-05-20T20:38:00Z andreh joined #sbcl 2014-05-20T20:38:45Z Bike quit (Ping timeout: 252 seconds) 2014-05-20T20:40:39Z Bike joined #sbcl 2014-05-20T20:41:58Z drmeiste_ joined #sbcl 2014-05-20T20:45:31Z nyef: ... what does it mean to declare that a variable bound to NIL has dynamic-extent? 2014-05-20T20:45:43Z drmeister quit (Ping timeout: 252 seconds) 2014-05-20T20:53:11Z andreh quit (Ping timeout: 258 seconds) 2014-05-20T20:57:53Z pkhuong: nyef: not much. 2014-05-20T20:59:10Z nyef: Okay, what does it mean to declare that a variable which may be bound to EITHER a freshly-allocated structure OR NIL has dynamic-extent, with the decision to be made at runtime? 2014-05-20T21:00:54Z pkhuong: if only we were in A-normal form. 2014-05-20T21:01:08Z pkhuong: heh, no, even then. 2014-05-20T21:01:12Z pkhuong: I say we punt out of there. 2014-05-20T21:01:22Z pkhuong: just heap allocate that 2014-05-20T21:02:50Z nyef: I have three things to say about that: First, we do, in fact, heap allocate when it's just one. Second is that bug 1044465 is the case for two such variables at once. Third is that I think that we should be able to stack-allocate in these cases. 2014-05-20T21:05:03Z sdemarre joined #sbcl 2014-05-20T21:07:52Z nyef: Once again, this is a case of "I can see how to support it in terms of VOPs, but the analysis for when to set it up might take a bit of thinking". 2014-05-20T21:11:34Z sdemarre quit (Ping timeout: 240 seconds) 2014-05-20T21:12:29Z mega1 quit (Ping timeout: 252 seconds) 2014-05-20T21:14:05Z psilord quit (Quit: Leaving.) 2014-05-20T21:14:11Z pkhuong: nyef: yeah, and my answer is to just give up when the lvar's use isn't a single combination. 2014-05-20T21:17:40Z nyef: It's too bad that we don't do that reliably, then, isn't it? And what about when all of the branches are allocators for various structures, rather than having one of them be NIL? 2014-05-20T21:19:59Z ehaliewicz joined #sbcl 2014-05-20T21:20:33Z nyef: Looking at the test case for bug 1044465, I note that one of the two allocations is kicked over to the heap, and the other somehow gets treated as live all the way back to the start of the component. 2014-05-20T21:27:04Z Guest89390 quit (Quit: Textual IRC Client: www.textualapp.com) 2014-05-20T21:50:41Z rpg quit (Ping timeout: 258 seconds) 2014-05-20T21:54:15Z Bike quit (Ping timeout: 265 seconds) 2014-05-20T21:54:44Z scymtym_ joined #sbcl 2014-05-20T21:56:04Z Bike joined #sbcl 2014-05-20T21:59:00Z nyef: Why do I get the impression that our entire handling of DX allocation is massively conservative when it could be far more aggressive with a little more IR2 support, leading to far less IR1 analysis. 2014-05-20T21:59:01Z drmeiste_ quit (Remote host closed the connection) 2014-05-20T21:59:36Z nyef: And I can't even point to anywhere and say "yes, here's why" yet, because what little of this code I understood was paged out long ago. 2014-05-20T22:14:12Z eudoxia joined #sbcl 2014-05-20T22:47:40Z drmeister joined #sbcl 2014-05-20T22:52:20Z psilord joined #sbcl 2014-05-20T22:56:51Z nyef: So, it seems to me that most of the point of the whole *-GOOD-FOR-DX-P noise is to only allow DX when EVERY source of values for an LVAR is somehow DX-allocatable. 2014-05-20T23:01:06Z Poenikatu joined #sbcl 2014-05-20T23:04:24Z Poenikatu left #sbcl 2014-05-20T23:45:25Z ASau joined #sbcl 2014-05-21T00:07:41Z DGASAU quit (Remote host closed the connection) 2014-05-21T00:08:22Z DGASAU joined #sbcl 2014-05-21T00:14:42Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-21T00:19:56Z zRecursive joined #sbcl 2014-05-21T00:32:46Z nyef: Do we ever merge IR1 blocks? 2014-05-21T00:44:50Z ltbarcly joined #sbcl 2014-05-21T00:59:08Z krzysz00 quit (Quit: leaving) 2014-05-21T00:59:50Z krzysz00 joined #sbcl 2014-05-21T01:07:03Z pkhuong: nyef: never directly. I could check in the cleanup passes 2014-05-21T01:07:13Z pkhuong: but rdfo kind of makes merging useless 2014-05-21T01:07:28Z nyef: "rdfo"? 2014-05-21T01:08:09Z pkhuong: reverse depth first ordering 2014-05-21T01:08:11Z nyef: Ah. 2014-05-21T01:09:10Z nyef: I'm actually still looking at the DX something-sometimes-NIL thing, and trying to understand what on earth the compiler is doing and why. 2014-05-21T01:09:38Z nyef: And I've got two very similar setups, one of them contains all of this code in one block, and the other has a separate block just for the tail CAST node. 2014-05-21T01:10:49Z nyef: So I'm trying to figure out why they're different, since the one with the separate CAST node has the value being CAST as DX, whereas the other version considers the possibly-DX LVAR to be the one *AFTER* the CAST, which properly fails the "use-good" test. 2014-05-21T01:13:29Z pkhuong: fatal: A branch named 'composable-codewalking' already exists. <- guess I should be less predictable 2014-05-21T01:13:40Z nyef: Heh. 2014-05-21T01:15:14Z nyef: Oh well, we're still going to be at a net negative two high-importance bugs this month. 2014-05-21T01:28:31Z andreh joined #sbcl 2014-05-21T01:58:51Z oleo quit (Ping timeout: 276 seconds) 2014-05-21T02:01:03Z krzysz00 quit (Ping timeout: 252 seconds) 2014-05-21T02:01:11Z Hydan joined #sbcl 2014-05-21T02:03:04Z krzysz00 joined #sbcl 2014-05-21T02:03:35Z eudoxia quit (Quit: Lost terminal) 2014-05-21T02:05:45Z pkhuong: upside of working at a C shop w/ a couple thousand machines: I'm used to long compile times. 2014-05-21T02:11:53Z oleo joined #sbcl 2014-05-21T02:19:27Z Bike quit (Ping timeout: 240 seconds) 2014-05-21T02:20:33Z DGASAU quit (Ping timeout: 258 seconds) 2014-05-21T02:21:40Z Bike joined #sbcl 2014-05-21T02:22:34Z DGASAU joined #sbcl 2014-05-21T02:24:58Z drmeister quit (Quit: Leaving...) 2014-05-21T02:39:07Z christoph_debian quit (Ping timeout: 240 seconds) 2014-05-21T02:42:59Z DGASAU quit (Remote host closed the connection) 2014-05-21T02:53:11Z christoph_debian joined #sbcl 2014-05-21T02:55:26Z ASau quit (Ping timeout: 258 seconds) 2014-05-21T03:04:44Z drmeister joined #sbcl 2014-05-21T03:19:03Z nyef quit (Ping timeout: 265 seconds) 2014-05-21T03:33:23Z andreh quit (Quit: Quitte) 2014-05-21T03:35:43Z attila_lendvai joined #sbcl 2014-05-21T03:55:18Z gingerale quit (Ping timeout: 265 seconds) 2014-05-21T04:01:20Z ehaliewi` joined #sbcl 2014-05-21T04:04:38Z ehaliewicz quit (Ping timeout: 255 seconds) 2014-05-21T04:08:04Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-21T04:09:42Z ltbarcly joined #sbcl 2014-05-21T04:33:51Z krzysz00 quit (Ping timeout: 240 seconds) 2014-05-21T04:35:38Z drmeister quit (Quit: Leaving...) 2014-05-21T04:35:42Z krzysz00 joined #sbcl 2014-05-21T05:01:31Z yacks joined #sbcl 2014-05-21T05:07:46Z oleo quit (Quit: Leaving) 2014-05-21T05:09:17Z White_Flame quit (Read error: Connection reset by peer) 2014-05-21T05:10:43Z White_Flame joined #sbcl 2014-05-21T05:14:14Z psilord quit (Quit: Leaving.) 2014-05-21T05:14:34Z psilord joined #sbcl 2014-05-21T05:35:21Z krzysz00 quit (Ping timeout: 265 seconds) 2014-05-21T05:36:53Z krzysz00 joined #sbcl 2014-05-21T05:37:03Z ehaliewi` is now known as ehaliewicz 2014-05-21T05:47:26Z White_Flame quit (Ping timeout: 265 seconds) 2014-05-21T05:49:45Z attila_lendvai quit (Quit: Leaving.) 2014-05-21T05:51:48Z pranavrc joined #sbcl 2014-05-21T05:51:50Z White_Flame joined #sbcl 2014-05-21T05:55:00Z attila_lendvai joined #sbcl 2014-05-21T05:58:40Z attila_lendvai quit (Client Quit) 2014-05-21T06:07:43Z mega1 joined #sbcl 2014-05-21T06:09:25Z White_Flame quit (Read error: Connection reset by peer) 2014-05-21T06:10:44Z White_Flame joined #sbcl 2014-05-21T06:24:41Z sdemarre joined #sbcl 2014-05-21T06:30:56Z scymtym_ quit (Ping timeout: 265 seconds) 2014-05-21T06:47:46Z attila_lendvai joined #sbcl 2014-05-21T06:55:39Z attila_lendvai quit (Quit: Leaving.) 2014-05-21T07:00:07Z attila_lendvai joined #sbcl 2014-05-21T07:07:43Z zRecursive left #sbcl 2014-05-21T07:07:46Z ASau joined #sbcl 2014-05-21T07:24:14Z attila_lendvai quit (Quit: Leaving.) 2014-05-21T07:43:54Z ASau quit (Ping timeout: 240 seconds) 2014-05-21T07:45:18Z Bike quit (Ping timeout: 276 seconds) 2014-05-21T07:51:26Z erikvarga joined #sbcl 2014-05-21T08:01:14Z sdemarre quit (Ping timeout: 240 seconds) 2014-05-21T08:02:12Z prxq joined #sbcl 2014-05-21T08:31:40Z DGASAU joined #sbcl 2014-05-21T08:34:41Z ams: i've grown to like the ivory macro instructions ... sighs 2014-05-21T08:39:41Z Shinmera joined #sbcl 2014-05-21T08:39:58Z angavrilov joined #sbcl 2014-05-21T08:42:33Z momo-reina joined #sbcl 2014-05-21T09:08:39Z krzysz00 quit (Ping timeout: 240 seconds) 2014-05-21T09:10:34Z krzysz00 joined #sbcl 2014-05-21T09:28:12Z nyef joined #sbcl 2014-05-21T09:39:14Z krzysz00 quit (Ping timeout: 255 seconds) 2014-05-21T09:41:13Z krzysz00 joined #sbcl 2014-05-21T10:42:13Z ehaliewicz quit (Remote host closed the connection) 2014-05-21T11:16:50Z yacks quit (Ping timeout: 258 seconds) 2014-05-21T11:24:09Z yacks joined #sbcl 2014-05-21T11:39:18Z antoszka quit (Ping timeout: 276 seconds) 2014-05-21T11:53:33Z hlavaty joined #sbcl 2014-05-21T12:03:34Z momo-reina quit (Remote host closed the connection) 2014-05-21T12:04:11Z stassats joined #sbcl 2014-05-21T12:04:32Z nyef: Okay, looks like it's not merging the CAST block onto the previous block, it's splitting it off from the previous block, but only for the second such grouping. 2014-05-21T12:05:06Z nyef: I'm about at the limit for what I can hold in my head and in the scroll buffer on my terminal. 2014-05-21T12:24:23Z pkhuong: Krystof: re easy tag on PCL... I guess someone had a kludgier solution in mind 2014-05-21T12:30:10Z Krystof: yeah, me, probably 2014-05-21T12:30:56Z Krystof: if I had funding I would work on clos/mop-in-cross-compiler 2014-05-21T12:42:37Z krzysz00 quit (Ping timeout: 265 seconds) 2014-05-21T12:44:24Z krzysz00 joined #sbcl 2014-05-21T12:50:52Z pranavrc quit (Remote host closed the connection) 2014-05-21T12:51:07Z pranavrc joined #sbcl 2014-05-21T12:53:38Z hlavaty quit (Remote host closed the connection) 2014-05-21T13:11:52Z eudoxia joined #sbcl 2014-05-21T13:12:48Z pranavrc quit 2014-05-21T13:12:54Z krzysz00 quit (Ping timeout: 240 seconds) 2014-05-21T13:14:02Z davazp joined #sbcl 2014-05-21T13:15:07Z krzysz00 joined #sbcl 2014-05-21T13:24:29Z oleo joined #sbcl 2014-05-21T13:28:38Z redline6561: Heh, well that's what beach has been spending the last year or two on, right Krystof? ;) 2014-05-21T13:30:07Z Krystof: among other things 2014-05-21T13:30:14Z Krystof: I made a try at it back in 2003 2014-05-21T13:30:24Z Krystof: back then it was dissertation avoidance 2014-05-21T13:30:39Z stassats: callbacks with alien-lambda fail, don't fail with a function, if i insert a printf into the C part, it doesn't fail too 2014-05-21T13:30:39Z pkhuong: now it's other people's dissertation avoidance? :p 2014-05-21T13:30:41Z redline6561: Haha. 2014-05-21T13:30:45Z stassats: "fun" 2014-05-21T13:31:28Z Krystof: pkhuong: we call this "scaling" 2014-05-21T13:36:06Z pkhuong: Krystof: what's the recommended way to insert a GF in the compiler? Define a stub and replace it with a GF at PCL boot time? 2014-05-21T13:38:45Z stassats: and why passing 2 floats, but not 3, is fine on hard-float is a mystery too 2014-05-21T13:42:20Z pkhuong: Think I fixed a long-standing bug in full-eval's policy thing 2014-05-21T13:42:43Z pkhuong: or not. 2014-05-21T13:43:44Z stassats: Krystof: when you get the build, can you send my way the whole output from callback.impure? 2014-05-21T13:47:41Z erikvarga: What does the .pure and .impure mean in the test files? 2014-05-21T13:48:14Z stassats: all pure run in the same image, each impure runs in a separate 2014-05-21T13:48:30Z stassats: pure do not modify the dynamic environment, no classes, no new functions 2014-05-21T13:49:10Z erikvarga: I see, thanks 2014-05-21T13:55:21Z scymtym_ joined #sbcl 2014-05-21T14:02:10Z Bike joined #sbcl 2014-05-21T14:08:16Z Krystof: pkhuong: probably function foo which trampolines to standard-foo 2014-05-21T14:08:45Z Krystof: then replace with a GF in !late-something-something, with a standard method on the default specializers which trampolines to standard-foo 2014-05-21T14:09:47Z Krystof: stassats: ok, in about 90 minutes? It will build before then but I have to rescue children from state education 2014-05-21T14:16:32Z gingerale joined #sbcl 2014-05-21T14:28:57Z scymtym_ quit (Ping timeout: 276 seconds) 2014-05-21T14:34:53Z erikvarga quit (Ping timeout: 255 seconds) 2014-05-21T14:35:42Z nyef: Wow, 1.1.18.561-fe027d6. I'm fairly sure that this is both a new record, and unlikely to be hit again any time soon. 2014-05-21T14:57:12Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-21T14:58:01Z oleo quit (Ping timeout: 252 seconds) 2014-05-21T14:58:19Z oleo joined #sbcl 2014-05-21T15:02:10Z pkhuong: Krystof: the standard is to error out ;) 2014-05-21T15:21:17Z eudoxia quit (Quit: leaving) 2014-05-21T15:22:33Z erikvarga joined #sbcl 2014-05-21T15:24:24Z michael_lee joined #sbcl 2014-05-21T15:25:35Z stassats: stack alignment issues with alien-lambda/define-alien-callback, perhaps? but why does the PC go some weird place, surely, alignment shouldn't matter here 2014-05-21T15:25:40Z stassats: 4 vs 8, that is 2014-05-21T15:29:50Z stassats: funcall3 allocates arguments on the control stack, for some reason 2014-05-21T15:33:02Z stassats: that reminds me, ppc-linux doesn't have :alien-callbacks feature 2014-05-21T15:34:56Z Bike quit (Ping timeout: 255 seconds) 2014-05-21T15:36:11Z stassats: pushed it, and the tests, which depended on its presence, do pass 2014-05-21T15:40:12Z Krystof: hm, my pi build is sitting in sb-sprof self-testing 2014-05-21T15:40:25Z stassats: that's ok 2014-05-21T15:40:30Z stassats: just kill it 2014-05-21T15:41:05Z Krystof: well, yes, but this was also the one that I was planning to use for building a release version on 2014-05-21T15:41:30Z rpg joined #sbcl 2014-05-21T15:41:43Z stassats: i don't think i'll get a better sprof handler before the release, so, i think increasing the interval, like for freebsd, would work 2014-05-21T15:43:46Z nyef: So, we're in code freeze, is now a good time to discuss goals for next month? 2014-05-21T15:44:05Z Krystof: aarch64! 2014-05-21T15:44:42Z Krystof: stassats: http://www.doc.gold.ac.uk/~mas01cr/tmp/callback.impure.lisp.out 2014-05-21T15:45:29Z stassats: so, no memory faults, just wrong answers 2014-05-21T15:45:36Z Krystof: yeah 2014-05-21T15:45:48Z stassats: and what about forein-stack-something.impure? 2014-05-21T15:45:53Z stassats: alignment, i guess 2014-05-21T15:46:34Z Krystof: memory fault at :callback 2014-05-21T15:47:20Z nyef: I'm thinking simple things, like getting the SPARC backend into a little better shape, trying to nail another high-importance bug or two... 2014-05-21T15:48:04Z Krystof: Memory fault at f0000000 (pc=0x229e0, sp=(nil)) 2014-05-21T15:48:10Z Krystof: in case the specifics are interesting 2014-05-21T15:49:53Z stassats: ok, same here 2014-05-21T15:50:03Z stassats: and i pushed a sb-sprof test change 2014-05-21T15:51:19Z rpg quit (Quit: rpg) 2014-05-21T15:52:14Z Krystof: giving it a try 2014-05-21T15:52:54Z stassats: need to keep up my github streak 2014-05-21T15:54:43Z Krystof: code freezes are nasty for that 2014-05-21T15:54:55Z Krystof: maybe work on launchpad karma instead :-) 2014-05-21T15:58:18Z stassats: funcallx are confusing when combined with callbacks 2014-05-21T15:58:38Z stassats: callback arguments are passed in an array, and funcallX arguments are passed in an array 2014-05-21T16:01:41Z stassats: maybe (+ 3.0 3.0 3.0) is just broken? 2014-05-21T16:03:00Z stassats: or is it 1.0 2.0 3.0 2014-05-21T16:04:59Z stassats: one thing i see is that single float s16-s31 are callee saved, and call_into_lisp doesn't 2014-05-21T16:05:11Z stassats: but, it wouldn't cause the observable problem 2014-05-21T16:14:06Z brucem: stassats: how is your Github streak? 2014-05-21T16:14:36Z stassats: 14 days today 2014-05-21T16:14:57Z brucem: stassats: good start. :) I've been using mine to help me through issues with depression, anxiety, etc. 2014-05-21T16:15:23Z krzysz00 quit (Ping timeout: 252 seconds) 2014-05-21T16:15:35Z stassats: i had 43 days, but it fell through 2014-05-21T16:15:50Z brucem: I'm at 501 and afraid to let it drop. 2014-05-21T16:17:17Z krzysz00 joined #sbcl 2014-05-21T16:17:24Z stassats: so, d8-d15 are to be callee saved, but what about softfp? 2014-05-21T16:18:18Z stassats: that one i can at least test 2014-05-21T16:22:32Z segv_ joined #sbcl 2014-05-21T16:23:11Z stassats: "selected processor doesn't support fstmdbd" 2014-05-21T16:24:38Z segv- quit (Ping timeout: 240 seconds) 2014-05-21T16:29:53Z stassats: and i learned about the FMDRR instruction 2014-05-21T16:30:03Z stassats: loads two registers into a double 2014-05-21T16:30:20Z nyef: Which IIRC, we're using internally, and is VFPv2+ only. 2014-05-21T16:30:41Z root_empire joined #sbcl 2014-05-21T16:30:42Z stassats: i was using two instructions for softfp 2014-05-21T16:31:01Z nyef: Specifically, make-double-float. 2014-05-21T16:31:34Z stassats: gcc doesn't save d0-d7 for softfp 2014-05-21T16:31:39Z stassats: i won't either, then 2014-05-21T16:33:41Z michael_lee quit (Ping timeout: 255 seconds) 2014-05-21T16:41:27Z davazp quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2014-05-21T16:42:21Z stassats: attaching gdb also makes the test work 2014-05-21T16:48:19Z attila_lendvai joined #sbcl 2014-05-21T16:48:19Z attila_lendvai quit (Changing host) 2014-05-21T16:48:19Z attila_lendvai joined #sbcl 2014-05-21T16:51:37Z ltbarcly joined #sbcl 2014-05-21T16:54:24Z stassats: waitt 2014-05-21T16:56:48Z stassats: i have a fault at 0x09800000, and that looks close the unbound marker 2014-05-21T16:56:57Z stassats: and i load the address from a variable 2014-05-21T16:59:40Z stassats: no, that's not it 2014-05-21T17:06:30Z stassats: damn, now i know, i do not flush caches 2014-05-21T17:09:46Z stassats: yep 2014-05-21T17:10:05Z stassats: and i knew about it, just forgot to add 2014-05-21T17:17:18Z krzysz00 quit (Ping timeout: 276 seconds) 2014-05-21T17:18:32Z krzysz00 joined #sbcl 2014-05-21T17:21:16Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-21T17:29:04Z eudoxia joined #sbcl 2014-05-21T17:39:44Z ltbarcly joined #sbcl 2014-05-21T17:41:24Z Krystof: stassats: ok, giving that a spin; it might have built before I go to bed today, but I doubt it 2014-05-21T17:41:30Z Krystof: honestly, shades of 1999 2014-05-21T17:41:46Z Krystof: except that in 1999 I was just learning about CMUCL and totally failing to build it :-) 2014-05-21T17:41:50Z stassats: that only solves forein-stack-alignment 2014-05-21T17:42:10Z stassats: i'm trying to distupgrade to get a gcc which can produce hardfloat code 2014-05-21T17:45:44Z stassats: i wonder how that will go, from squeeze to testing 2014-05-21T17:48:10Z Krystof: I can show you some gcchf code 2014-05-21T17:48:25Z sdemarre joined #sbcl 2014-05-21T17:49:23Z stassats: i need to be able to run different codes 2014-05-21T17:49:29Z attila_lendvai quit (Quit: Leaving.) 2014-05-21T17:49:40Z stassats: and looks like armhf single float passing is broken, not the callbacks 2014-05-21T17:50:40Z Krystof: at that I can give you a login on my pi 2014-05-21T17:51:24Z stassats: nah 2014-05-21T17:52:45Z Bike joined #sbcl 2014-05-21T17:53:08Z stassats: maybe i should have start from squeeze => wheezy 2014-05-21T18:06:20Z stassats: and, know what, callback.impure actually doesn't use gcc to test 2014-05-21T18:06:27Z stassats: it calls on its own 2014-05-21T18:06:50Z stassats: but i still need gcc, lest i produce equally broken version of callbacks and calls 2014-05-21T18:08:15Z erikvarga left #sbcl 2014-05-21T18:10:41Z fikusz quit (Quit: Leaving) 2014-05-21T18:12:56Z fikusz joined #sbcl 2014-05-21T18:14:37Z stassats: invalid LEF header, great 2014-05-21T18:14:52Z segv_ quit (Remote host closed the connection) 2014-05-21T18:15:29Z stassats: i just can't compile 2014-05-21T18:22:48Z stassats: debootstraping armhf then 2014-05-21T18:24:20Z root_empire quit (Ping timeout: 265 seconds) 2014-05-21T18:35:14Z sdemarre quit (Ping timeout: 240 seconds) 2014-05-21T18:47:44Z p_l|backup joined #sbcl 2014-05-21T18:50:52Z stassats: had to hard reboot and lost my chrooted armhf 2014-05-21T18:50:54Z stassats: bloody thing 2014-05-21T18:51:11Z segv- joined #sbcl 2014-05-21T18:52:38Z sdemarre joined #sbcl 2014-05-21T19:07:28Z angavrilov quit (Remote host closed the connection) 2014-05-21T19:25:10Z eudoxia quit (Quit: leaving) 2014-05-21T19:36:19Z rpg joined #sbcl 2014-05-21T19:36:20Z rpg quit (Remote host closed the connection) 2014-05-21T19:38:15Z cmack quit (Ping timeout: 240 seconds) 2014-05-21T19:58:48Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-21T19:59:25Z ehaliewicz joined #sbcl 2014-05-21T20:02:27Z stassats: something's wrong with bootstrapping, will go on blind 2014-05-21T20:03:25Z stassats: (debian bootstrapping, not sbcl) 2014-05-21T20:08:15Z yacks quit (Ping timeout: 276 seconds) 2014-05-21T20:16:27Z ltbarcly joined #sbcl 2014-05-21T20:18:19Z sdemarre quit (Ping timeout: 240 seconds) 2014-05-21T20:18:43Z ehaliewi` joined #sbcl 2014-05-21T20:19:57Z ehaliewi` is now known as ehaliewicz` 2014-05-21T20:20:39Z ehaliewicz quit (Ping timeout: 240 seconds) 2014-05-21T20:27:21Z stassats: fmrrd seems to be misencoded 2014-05-21T20:29:26Z scymtym_ joined #sbcl 2014-05-21T20:30:57Z stassats: or it just doesn't have the same syntax 2014-05-21T20:34:56Z nyef: Ahh... It might not have the same syntax in our assembler? 2014-05-21T20:35:30Z stassats: i think it's missing the twist based on the direction 2014-05-21T20:35:34Z nyef: I know that there's one block of instructions that I didn't bother fixing up properly, but I think those were primarily the float multiple load/stores. 2014-05-21T20:36:22Z stassats: single-reg moves already move around the arguments 2014-05-21T20:36:22Z nyef: Umm... Being a CPU<->coprocessor transfer, it might be subject to different argument order rules. 2014-05-21T20:36:25Z stassats: so i just added that 2014-05-21T20:37:03Z stassats: i also need to add ldmd 2014-05-21T20:37:13Z stassats: for now i just emit-word it 2014-05-21T20:38:25Z stassats: and i got hardfp callbacks and calls to work, but the tests for those do not actually use the c compiler, but just call themselves 2014-05-21T20:38:46Z stassats: so, they might be just equally broken 2014-05-21T20:39:03Z nyef: We're using fldmd for the load-complex-double instruction-macro. 2014-05-21T20:39:33Z nyef: See commit 430f5dd4e355e6dc37841f372a970550ded5089e for the damage and commentary. 2014-05-21T20:40:22Z nyef: Have you gone in and made the extra double-float regs on VFPv3 work yet? (-: 2014-05-21T20:40:58Z stassats: not all vfpv3 have them? 2014-05-21T20:41:21Z stassats: pushed callback things 2014-05-21T20:41:43Z stassats: but, it needs proper tests through gcc 2014-05-21T20:42:04Z stassats: "VFPv3-D16 is an implementation of VFPv3 that provides 16 double-precision registers. It is implemented on ARM architecture v7 processors that support VFP without NEON." 2014-05-21T20:42:33Z nyef: Oh, just lovely. A profusion of stupid FPU options. 2014-05-21T20:44:14Z stassats: passing more than two single floats on armhf was, apparently, broken all along 2014-05-21T20:44:20Z stassats: but no tests for that 2014-05-21T20:46:00Z stassats: and fmrrd should really type-check the arguments 2014-05-21T20:47:18Z stassats: and i think now it's ready for a release, sans any additional bugs 2014-05-21T20:47:31Z krzysz00_ joined #sbcl 2014-05-21T20:48:38Z nyef: I've been figuring that it's been good enough to let people bang on it for a little while now. After all, it's already better-maintained than about half the backends already in the system. (-: 2014-05-21T20:50:23Z krzysz00 quit (Ping timeout: 255 seconds) 2014-05-21T20:50:36Z stassats: it seems to have every feature, aside from those related to gencgc and threads 2014-05-21T20:50:45Z stassats: well, maybe not inline-constants 2014-05-21T20:51:25Z stassats: and no cycle counter. no user space cycle counting, what a bummer 2014-05-21T20:52:11Z Bike quit (Ping timeout: 255 seconds) 2014-05-21T20:56:15Z stassats: and unwind-to-frame-and-call-vop and raw-instance-init-vops 2014-05-21T20:56:57Z nyef: You've put quite a lot of effort into polishing off the rough edges. 2014-05-21T20:57:42Z stassats: next release, porting to android 2014-05-21T20:58:26Z nyef: And here I thought you'd wait on that until you had threads (so, August, maybe) 2014-05-21T20:59:05Z stassats: then combining commonqt with qt 5, and voila, apps! 2014-05-21T20:59:17Z Shinmera quit (Quit: ZzzZz) 2014-05-21T20:59:59Z stassats: if figured the android libc is not so much different from glibc, just need to figure out what to disable, what to work around 2014-05-21T21:00:38Z stassats: though GUI without threads aren't nice 2014-05-21T21:01:55Z nyef: There's always SERVE-EVENT. d-: 2014-05-21T21:02:15Z Krystof: damnit, sb-sprof 2014-05-21T21:02:54Z fikusz quit (Remote host closed the connection) 2014-05-21T21:03:21Z fikusz joined #sbcl 2014-05-21T21:05:48Z stassats: still fails? 2014-05-21T21:11:06Z Krystof: yes 2014-05-21T21:12:22Z stassats: well, get a faster cpu then! 2014-05-21T21:13:03Z Krystof: clearly 2014-05-21T21:15:13Z nyef: Is this on an RPi, a BeagleBone Black, or something else? 2014-05-21T21:16:13Z stassats: speeding up sb-sprof will have to wait until the thaw, since it will involve touching code for all non-x86oids 2014-05-21T21:16:52Z Krystof: nyef: RPi. I haven't seen this problem on the BBB 2014-05-21T21:17:06Z Krystof: waiting until the thaw is fine 2014-05-21T21:17:19Z Krystof: it seems to get through about half the time 2014-05-21T21:18:28Z Bike joined #sbcl 2014-05-21T21:19:18Z mega1 quit (Ping timeout: 240 seconds) 2014-05-21T21:33:51Z antoszka joined #sbcl 2014-05-21T21:37:43Z prxq quit (Remote host closed the connection) 2014-05-21T21:38:39Z segv- quit (Ping timeout: 240 seconds) 2014-05-21T21:43:06Z eudoxia joined #sbcl 2014-05-21T21:50:34Z stassats: trying to self-build for the first time 2014-05-21T21:51:06Z ltbarcly quit (Ping timeout: 240 seconds) 2014-05-21T21:51:35Z krzysz00_ quit (Ping timeout: 255 seconds) 2014-05-21T21:51:47Z stassats: "aptitude install time" sounds a bit funny 2014-05-21T21:53:36Z krzysz00 joined #sbcl 2014-05-21T21:54:36Z gingerale- joined #sbcl 2014-05-21T21:56:45Z gingerale quit (Ping timeout: 252 seconds) 2014-05-21T21:56:45Z gingerale- is now known as gingerale 2014-05-21T22:00:05Z jaimef quit (Excess Flood) 2014-05-21T22:00:35Z ltbarcly joined #sbcl 2014-05-21T22:04:12Z ASau joined #sbcl 2014-05-21T22:05:06Z jaimef joined #sbcl 2014-05-21T22:30:25Z Blkt_ joined #sbcl 2014-05-21T22:31:00Z gingerale- joined #sbcl 2014-05-21T22:31:41Z lacedaemon joined #sbcl 2014-05-21T22:34:02Z Munksgaard_ joined #sbcl 2014-05-21T22:38:04Z Blkt quit (Ping timeout: 265 seconds) 2014-05-21T22:38:04Z fe[nl]ix quit (Ping timeout: 265 seconds) 2014-05-21T22:38:05Z gingerale quit (Ping timeout: 265 seconds) 2014-05-21T22:38:05Z Munksgaard quit (Ping timeout: 265 seconds) 2014-05-21T22:38:05Z ferada quit (Remote host closed the connection) 2014-05-21T22:38:10Z gingerale- is now known as gingerale 2014-05-21T22:47:39Z xymox_ joined #sbcl 2014-05-21T22:47:42Z les_ joined #sbcl 2014-05-21T22:49:07Z stassats` joined #sbcl 2014-05-21T22:49:33Z christoph_debian quit (*.net *.split) 2014-05-21T22:49:48Z krzysz00: Krystof: My unicode-algorithms branch has titlecase, word beraking, and sentence breaking now 2014-05-21T22:51:24Z dto joined #sbcl 2014-05-21T22:51:50Z dto: is anyone here familiar with a Windows error type called AppHangB1? 2014-05-21T22:52:01Z stassats`: nope 2014-05-21T22:52:44Z dto: i have a user getting it on 64-bit Windows 7 enterprise, it made me wonder if it had anything to do with the former VirtualAlloc stuff running sbcl-made EXE's 2014-05-21T22:52:49Z dto: good eveining stassats` 2014-05-21T22:53:38Z dto: still never got it working without crashes in Windows XP x64 Professional either, but now works on almost all Windows 2014-05-21T22:53:50Z dto: anyway no worries, was just curious if AppHangB1 was something known 2014-05-21T22:53:58Z dto: it definitely is in Windows world 2014-05-21T22:54:20Z dto: hmmm 2014-05-21T22:54:41Z stassats quit (Write error: Broken pipe) 2014-05-21T22:54:43Z Intensity quit (Write error: Broken pipe) 2014-05-21T22:54:43Z les quit (Write error: Broken pipe) 2014-05-21T22:54:43Z xymox quit (Write error: Broken pipe) 2014-05-21T22:57:12Z Intensity joined #sbcl 2014-05-21T22:59:15Z xymox_ is now known as xymox 2014-05-21T23:13:56Z christoph_debian joined #sbcl 2014-05-21T23:20:49Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-21T23:23:06Z krzysz00 quit (Ping timeout: 240 seconds) 2014-05-21T23:25:16Z krzysz00 joined #sbcl 2014-05-21T23:29:26Z ltbarcly joined #sbcl 2014-05-21T23:29:58Z nyef quit (Quit: G'night all.) 2014-05-21T23:41:31Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-21T23:48:20Z zRecursive joined #sbcl 2014-05-21T23:51:54Z stassats` quit (Ping timeout: 240 seconds) 2014-05-21T23:57:42Z Hydan quit (Quit: Textual IRC Client: www.textualapp.com) 2014-05-22T00:18:11Z ltbarcly joined #sbcl 2014-05-22T00:22:54Z ehaliewicz joined #sbcl 2014-05-22T00:25:39Z ehaliewicz` quit (Ping timeout: 276 seconds) 2014-05-22T00:43:59Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-22T00:45:31Z ehaliewicz quit (Ping timeout: 252 seconds) 2014-05-22T00:50:05Z eudoxia quit (Quit: leaving) 2014-05-22T01:06:51Z dto-00 joined #sbcl 2014-05-22T01:08:31Z dto quit (Ping timeout: 252 seconds) 2014-05-22T01:10:10Z dto-00 is now known as dto 2014-05-22T01:18:23Z ltbarcly joined #sbcl 2014-05-22T01:19:34Z dto quit (Remote host closed the connection) 2014-05-22T01:25:50Z krzysz00 quit (Ping timeout: 252 seconds) 2014-05-22T01:27:26Z krzysz00 joined #sbcl 2014-05-22T01:55:12Z krzysz00 quit (Ping timeout: 252 seconds) 2014-05-22T01:57:02Z krzysz00 joined #sbcl 2014-05-22T02:03:33Z attila_lendvai joined #sbcl 2014-05-22T02:03:33Z attila_lendvai quit (Client Quit) 2014-05-22T02:39:08Z christoph_debian quit (Ping timeout: 255 seconds) 2014-05-22T02:52:46Z ltbarcly quit (Ping timeout: 252 seconds) 2014-05-22T03:07:31Z ccl-logbot joined #sbcl 2014-05-22T03:07:31Z 2014-05-22T03:07:31Z names: ccl-logbot tmh_ kanru brown` PuercoPop |3b| foom cracauer faheem_ phf luis pillton specbot edgar-rft hzp karswell notori0us ams @Krystof jsnell_ yauz redline6561 nicdev carvite milosn Posterdati mood scymtym brucem pchrist dsp_ leoc flip214 joshe ivan`` pkhuong loke__ leo2007 psilord DGASAU oleo p_l|backup fikusz Bike ASau jaimef Blkt_ gingerale lacedaemon Munksgaard_ les_ Intensity zRecursive krzysz00 minion christoph_debian White__Flame asedeno_ xymox_ 2014-05-22T03:07:31Z names: irsol_ 2014-05-22T03:09:31Z edgar-rft quit (Ping timeout: 252 seconds) 2014-05-22T03:10:21Z antoszka joined #sbcl 2014-05-22T03:12:08Z xymox_ is now known as xymox 2014-05-22T03:12:24Z Hydan joined #sbcl 2014-05-22T03:15:41Z irsol_ quit (Changing host) 2014-05-22T03:15:41Z irsol_ joined #sbcl 2014-05-22T03:15:47Z irsol_ is now known as irsol 2014-05-22T03:17:16Z edgar-rft joined #sbcl 2014-05-22T03:23:03Z ltbarcly joined #sbcl 2014-05-22T03:44:27Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-22T03:48:17Z oleo quit (Ping timeout: 264 seconds) 2014-05-22T03:49:13Z oleo joined #sbcl 2014-05-22T04:02:14Z yacks joined #sbcl 2014-05-22T04:03:41Z nicdev: did a pull on the latest changes on sbcl repo and tried to build with CCL. this is the error I get http://paste.lisp.org/display/142646 2014-05-22T04:14:47Z attila_lendvai joined #sbcl 2014-05-22T04:14:47Z attila_lendvai quit (Changing host) 2014-05-22T04:14:47Z attila_lendvai joined #sbcl 2014-05-22T04:18:55Z attila_lendvai1 joined #sbcl 2014-05-22T04:19:07Z attila_lendvai quit (Disconnected by services) 2014-05-22T04:19:07Z attila_lendvai1 quit (Changing host) 2014-05-22T04:19:07Z attila_lendvai1 joined #sbcl 2014-05-22T04:31:17Z gingerale quit (Ping timeout: 252 seconds) 2014-05-22T04:31:47Z momo-reina joined #sbcl 2014-05-22T04:34:47Z attila_lendvai1 quit (Ping timeout: 265 seconds) 2014-05-22T04:47:53Z pranavrc joined #sbcl 2014-05-22T04:47:53Z pranavrc quit (Changing host) 2014-05-22T04:47:53Z pranavrc joined #sbcl 2014-05-22T05:06:25Z oleo quit (Remote host closed the connection) 2014-05-22T05:06:57Z Krystof: nicdev: interesting. One obvious bug, but not the real problem, is the definition of cannot-encode-immediate-operand 2014-05-22T05:07:02Z Krystof: the real problem: why can't it? 2014-05-22T05:08:22Z Krystof: oh, wait, maybe it's normal that it can't 2014-05-22T05:11:12Z Krystof: nicdev: try with changes now 2014-05-22T05:25:38Z psilord quit (Ping timeout: 240 seconds) 2014-05-22T05:28:56Z krzysz00 quit (Ping timeout: 252 seconds) 2014-05-22T05:30:45Z krzysz00 joined #sbcl 2014-05-22T05:54:45Z mega1 joined #sbcl 2014-05-22T06:49:27Z tmh_ quit (Ping timeout: 240 seconds) 2014-05-22T06:59:25Z tmh_ joined #sbcl 2014-05-22T06:59:25Z tmh_ quit (Changing host) 2014-05-22T06:59:25Z tmh_ joined #sbcl 2014-05-22T07:05:10Z zRecursive quit (Remote host closed the connection) 2014-05-22T07:08:01Z psilord joined #sbcl 2014-05-22T07:13:26Z momo-reina quit (Ping timeout: 252 seconds) 2014-05-22T07:15:10Z White__Flame quit (Read error: Connection reset by peer) 2014-05-22T07:16:22Z White_Flame joined #sbcl 2014-05-22T07:29:55Z Bike quit (Ping timeout: 240 seconds) 2014-05-22T07:54:53Z ASau quit (Ping timeout: 264 seconds) 2014-05-22T07:58:58Z krzysz00_ joined #sbcl 2014-05-22T08:01:57Z krzysz00 quit (Ping timeout: 276 seconds) 2014-05-22T08:11:03Z lacedaemon is now known as fe[nl]ix 2014-05-22T08:18:10Z flip214: Krystof: I get a lot of C compiler warnings with current git. Is somebody interested in them? 2014-05-22T08:21:07Z flip214: hmm, not really "a lot" ... "a lot" of output, and some c compiler warnings 2014-05-22T08:32:38Z momo-reina joined #sbcl 2014-05-22T08:32:42Z ehaliewicz joined #sbcl 2014-05-22T08:55:00Z benkard joined #sbcl 2014-05-22T08:59:40Z Hydan_ joined #sbcl 2014-05-22T08:59:57Z Hydan is now known as Guest4679 2014-05-22T09:01:07Z edgar-rft quit (Quit: mental process corrupted because something stinks) 2014-05-22T09:01:09Z Hydan_ is now known as hydan` 2014-05-22T09:21:09Z hydan` quit (Quit: Page closed) 2014-05-22T09:36:47Z momo-reina quit (Remote host closed the connection) 2014-05-22T09:58:25Z benkard quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) 2014-05-22T10:00:22Z benkard joined #sbcl 2014-05-22T10:11:45Z pillton quit (Ping timeout: 256 seconds) 2014-05-22T10:15:32Z ferada joined #sbcl 2014-05-22T10:23:25Z stassats` joined #sbcl 2014-05-22T10:25:18Z stassats`: set up a self build for the night, "Error: selected processor does not support ARM mode `blx r8'" 2014-05-22T10:25:29Z Krystof: d'oh 2014-05-22T10:26:09Z stassats`: it doesn't even say what is the selected processor 2014-05-22T10:27:37Z stassats`: since we're using blx, i guess passing the minimum -mcpu would be better 2014-05-22T10:28:10Z stassats`: instead of just adding an attribute to the assembly function 2014-05-22T10:30:04Z stassats`: since it won't work on older cpus anyway, so might as well get some optimizations 2014-05-22T10:30:34Z stassats`: on the other hand, blx is only needed for interworking, and if a cpu doesn't have thumb, it isn't needed 2014-05-22T10:55:39Z stassats`: i guess armv5t should work 2014-05-22T10:58:37Z stassats`: even armv5 2014-05-22T11:00:28Z benkard quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) 2014-05-22T11:17:31Z nyef joined #sbcl 2014-05-22T11:23:28Z benkard joined #sbcl 2014-05-22T11:32:16Z nyef: G'morning all. 2014-05-22T11:36:55Z stassats`: 37 minutes for a self build 2014-05-22T11:37:28Z Krystof: funny, I've just had a successful self-build too 2014-05-22T11:37:28Z Krystof: //build started: Thu May 22 08:40:12 UTC 2014 2014-05-22T11:37:28Z Krystof: //build finished: Thu May 22 11:35:26 UTC 2014 2014-05-22T11:37:36Z Krystof: (RPi) 2014-05-22T11:38:09Z stassats`: did you use the latest checkout for selfbuilding? 2014-05-22T11:38:20Z stassats`: i reckong dxing things should have made selfbuilding better 2014-05-22T11:38:24Z Krystof: I used sbcl-1.1.18-570-gc97f029 2014-05-22T11:38:46Z stassats`: ok, then rpi is just that slow 2014-05-22T11:38:49Z Krystof: actually I might have used a slightly different binary to build, but not much earlier 2014-05-22T11:38:58Z Krystof: 565 2014-05-22T11:43:50Z danlentz joined #sbcl 2014-05-22T11:46:48Z stassats`: nyef: seems like there's a problem with stack analysis 2014-05-22T11:47:03Z stassats`: (SB-C::ANNOTATE-UNKNOWN-VALUES-LVAR #) => The value NIL is not of type SB-C::IR2-BLOCK. 2014-05-22T11:47:06Z stassats`: now for a test case 2014-05-22T11:55:22Z nyef: Lovely. 2014-05-22T11:55:38Z p_l joined #sbcl 2014-05-22T11:56:19Z nyef: Three hours for a self-build on RPi sounds about right, actually. 2014-05-22T11:58:55Z nyef: A test case would be nice, preferably a good, short one, and not one hiding a lot of behind-the-scenes magic like that policy-dependent make-array check-consistency move-return dead-nil-introduced-by-tagbody mess. 2014-05-22T12:02:20Z nyef: Oh, and JFYI, my first action with a test-case, after making sure that it verifies locally, will be to roll back to just before the maybe-delete-exit changes and try to verify again. 2014-05-22T12:03:00Z angavrilov joined #sbcl 2014-05-22T12:04:45Z stassats`: nyef: http://paste.lisp.org/display/142651 2014-05-22T12:07:31Z stassats`: in (return (x)), the same name as the function is not important, just any function call will do 2014-05-22T12:09:02Z nyef: Damn, that already looks like it's... wait. That's an out-of-extent return, isn't it? 2014-05-22T12:09:39Z stassats`: that's reduced from (multiple-value-list (ignore-errors x)) 2014-05-22T12:09:56Z stassats`: (loop (multiple-value-list (ignore-errors x))), rather 2014-05-22T12:12:19Z nyef: Okay, and CLHS 3.1.6 clearly says that there should be a CONTROL-ERROR at runtime there, and CLHS 5.2 says "consequences are undefined", but in a narrow range, meaning that the code should at least compile. 2014-05-22T12:12:35Z stassats`: the out of extent go doesn't actually happen 2014-05-22T12:12:54Z nyef: Yeah, but it gives me a starting point for figuring out what's going wrong. 2014-05-22T12:12:55Z Krystof: I don't ... yes 2014-05-22T12:13:16Z stassats`: but its presence is enough to confuse sbcl 2014-05-22T12:14:05Z nyef: Right, and in frame 4, LTN-ANALYZE-MV-CALL, I see quite clearly a vestigial-exit-lexenv on a CAST node. 2014-05-22T12:15:17Z nyef: Gods, it seems like I was just here, but that's primarily because I was dealing with DX LVARs. 2014-05-22T12:16:32Z nyef: There's no IR2 block? 2014-05-22T12:17:03Z nyef: We're in LTN-ANNOTATE-CAST for a vestigial-exit that wasn't elided... 2014-05-22T12:17:32Z stassats`: and tests run in 22 minutes 2014-05-22T12:17:51Z stassats`: i guess it's faster than the build because of no threaded tests 2014-05-22T12:18:24Z nyef: Hrm. Not bothering to see if this isn't my fault, it almost certainly is... But why isn't there an IR2 block? 2014-05-22T12:19:04Z nyef: ... because some IR1 optimization can still be done during IR2 phases? 2014-05-22T12:22:56Z nyef: ... or because the node with the CAST might not be analyzed yet? 2014-05-22T12:28:19Z nyef: ... "IR1 block NIL start c42"? 2014-05-22T12:28:55Z nyef: Hrm. It's doing things in the "wrong" order. 2014-05-22T12:29:15Z nyef: Which is to say, in an order that doesn't work. 2014-05-22T12:30:41Z nyef: http://paste.lisp.org/display/142651#1 2014-05-22T12:31:40Z nyef: We're in LTN-ANALYZE, which runs the blocks in the same order that PRINT-ALL-BLOCKS does... And the CAST node that's triggering the problem is in the last block in the component, and thus doesn't have an IR2 block yet... And is dead code anyway? 2014-05-22T12:31:42Z stassats`: "it's all ir1 too me" 2014-05-22T12:31:53Z nyef: Something isn't right here at all. 2014-05-22T12:34:41Z nyef: We have some sort of infinite loop structure, possibly heap-allocating a dead closure... 2014-05-22T12:43:37Z nyef: The overall code flow makes no sense, either. 2014-05-22T12:43:39Z ehaliewicz quit (Ping timeout: 258 seconds) 2014-05-22T12:45:22Z nyef: We open up with the XEP in block 18, the successor is c22. Block 17 starts with c22 and its successor is c25. Block 16 starts with c25, its successor is c24, which looks like it starts the component-terminal block. 2014-05-22T12:47:15Z nyef: Block 18 looks reasonable, block 17 looks like the entry point for the FLET function, block NIL (start c23) looks like the XEP for the FLET function... 2014-05-22T12:48:57Z nyef: I'm building that slightly-older SBCL both to make absolutely sure that this is in my court and to see what it actually does with the IR1 structure here. 2014-05-22T12:59:12Z nyef: Annotated with a trace from just before the vestigial-exit changes. 2014-05-22T13:01:01Z nyef: Hrm. My earlier analysis was flawed. 2014-05-22T13:01:28Z nyef: Block 18 is the XEP for the FLET, so that much is reasonable-looking. 2014-05-22T13:03:25Z nyef: There's a "live" exit in scope across the BLOCK NIL / RETURN, so the CAST from the RETURN can't be eliminated... 2014-05-22T13:04:05Z eudoxia joined #sbcl 2014-05-22T13:04:22Z nyef: Then there's the first vestigial-exit CAST, for v9... 2014-05-22T13:05:37Z nyef: And that's fine, more-or-less, and gets passed to... Wait, why is the LVAR for the function initialized *AFTER* the combination? 2014-05-22T13:08:51Z nyef: Then we allocate the closure for the... Ah, right, it's a LOOP, where some of the blocks are, in fact, before the XEP. 2014-05-22T13:09:22Z pranavrc quit 2014-05-22T13:11:01Z nyef: The old version didn't have the CAST node, so it's less confused, but has generally the same structure. 2014-05-22T13:12:13Z benkard quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) 2014-05-22T13:52:09Z nyef: Okay, got about five more minutes to look at this. 2014-05-22T13:52:30Z nyef: And I'm loving the comment in LTN-ANNOTATE-CAST. ";; XXX" 2014-05-22T13:57:31Z segv- joined #sbcl 2014-05-22T14:03:24Z oleo joined #sbcl 2014-05-22T14:03:32Z brown`: I tried building ARM SBCL using Clozure CCL and ran into a problem. 2014-05-22T14:07:58Z Krystof: shoot 2014-05-22T14:08:00Z Krystof: I mean fire away 2014-05-22T14:08:02Z Krystof: I mean 2014-05-22T14:20:16Z nyef: Where do we set the overall order of IR1 blocks in the component, is that the DFO stuff? 2014-05-22T14:26:54Z nyef sighs. 2014-05-22T14:27:12Z gingerale joined #sbcl 2014-05-22T14:27:19Z nyef: Okay, trying the stupid and obvious "fix". 2014-05-22T14:34:48Z nyef: ... Which simply fails earlier. Lovely. 2014-05-22T14:41:53Z nyef: stassats`: You really don't understand IR1? 2014-05-22T14:42:09Z stassats`: only when i need to 2014-05-22T14:42:14Z nyef: Heh. Fair enough. 2014-05-22T14:42:29Z nyef: You came in from the IR2 side as well, did you? 2014-05-22T14:43:07Z stassats`: from whichever side was broken 2014-05-22T14:46:02Z nyef: Note to myself: SET-TAIL-LOCAL-CALL-SUCCESSOR might split blocks. 2014-05-22T14:47:05Z nyef: As might FLUSH-FULL-CALL-TAIL-TRANSFER. 2014-05-22T14:48:18Z nyef: And those seem to be the only two cases. 2014-05-22T14:53:41Z nyef: Trying again, with more hacks. 2014-05-22T15:01:51Z nyef: Okay, new build at least gets further along in XC, and is still going, so that's a good sign. 2014-05-22T15:09:24Z nyef: And the test case no longer fails, and I'm running the full test suite now. 2014-05-22T15:11:02Z nyef: Does http://paste.lisp.org/display/142651#3 look reasonable to everyone? I'll probably add a bit of commentary before committing, but this is what I'm testing right now. 2014-05-22T15:11:48Z stassats`: there's another deletion bug: https://bugs.launchpad.net/sbcl/+bug/1308328/comments/4 2014-05-22T15:11:55Z stassats`: maybe it fixes this too? 2014-05-22T15:14:00Z nyef: Hrm. 2014-05-22T15:16:40Z nyef: Umm... Do I just enter that at the REPL and expect to see a failed AVER? 2014-05-22T15:16:48Z ltbarcly joined #sbcl 2014-05-22T15:17:03Z stassats`: compile 2014-05-22T15:17:14Z nyef: So, wrap it in a lambda and compile nil? 2014-05-22T15:17:28Z stassats`: compile-file 2014-05-22T15:18:20Z nyef: A bare file containing that fragment of code, starting from (a ((b)), and compile-file it? 2014-05-22T15:18:26Z stassats`: yes 2014-05-22T15:20:32Z nyef: I'll try with my current working tree once it finishes the test suite, but I'm not expecting it to help at this point, because the failure looks to be much earlier in the process. 2014-05-22T15:21:57Z nyef: Yeah, no change there. 2014-05-22T15:22:03Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-22T15:25:29Z ltbarcly joined #sbcl 2014-05-22T15:25:29Z nyef: Okay, missed a trick with my current hacking, need to cover a possible case... 2014-05-22T15:26:32Z ltbarcly quit (Client Quit) 2014-05-22T15:30:15Z ltbarcly joined #sbcl 2014-05-22T15:32:47Z Krystof: ok, I totally failed at getting an arm64 chroot working, but at least I can still execute amd64 binaries 2014-05-22T15:46:53Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-22T15:47:28Z nyef: Krystof: Oh great and mighty release manager, should I commit this regression fix (slightly different to what I annotated in paste 142651) immediately, or would you prefer to review the final commit and possibly commit it yourself? 2014-05-22T15:47:42Z Krystof: I know almost nothing about IR1 2014-05-22T15:48:22Z nyef: ... Wow. 2014-05-22T15:48:36Z nyef: Is that a "feel free" implied there? 2014-05-22T15:48:47Z Krystof: I know, I've been keeping it under wraps for 12 years 2014-05-22T15:48:48Z Krystof: but it's true 2014-05-22T15:49:40Z Krystof: (setf (block-info new-block) (make-ir2-block new-block)) 2014-05-22T15:50:01Z nyef: I'm no longer doing that unconditionally, in case there *IS* no new block. 2014-05-22T15:50:28Z Krystof: ok. And if there is, is it guaranteed that it doesn't already have an INFO? 2014-05-22T15:50:30Z nyef: (node-ends-block doesn't create a new block if the node already ends the block.) 2014-05-22T15:50:48Z nyef: Info is only set up in LTN. 2014-05-22T15:50:53Z nyef: ... IIRC. 2014-05-22T15:51:16Z Krystof: what if we averred that it doesn't have an INFO? 2014-05-22T15:51:28Z Krystof: there's a similar averral in the third of your hunks 2014-05-22T15:51:37Z nyef: Okay, it's set in stack and in control as well, but stack at least is post-LTN. 2014-05-22T15:52:24Z nyef: We do that AVERral when entering LTN, the other two hunks only trigger after that. 2014-05-22T15:53:12Z nyef: This'd be a lot easier to reason about if we had better package structure, of course. /-: 2014-05-22T15:53:15Z Krystof: ok, so, is it already guaranteed that (block-info new-block) is uninteresting? 2014-05-22T15:53:50Z nyef: As I said, at this point I'm conditionally setting it in the new versions of the first two hunks. 2014-05-22T15:53:58Z Krystof: if so, let's aver it; if not, let's only clobber it conditionally 2014-05-22T15:54:09Z Krystof: I understood you to say that you were conditionally setting it in the sense that new-block might be null 2014-05-22T15:54:22Z nyef: No, new-block is never null. 2014-05-22T15:54:23Z Krystof: are you also testing for non-null (block-info new-block)? If so, fine 2014-05-22T15:54:57Z nyef: CONTROL runs post-LTN... 2014-05-22T15:56:30Z ltbarcly joined #sbcl 2014-05-22T15:56:56Z nyef: I suppose something might go oddly if the successor is the terminator block. 2014-05-22T15:57:45Z Krystof: have a think. I'll be back in a while 2014-05-22T16:10:54Z krzysz00_ is now known as krzysz00 2014-05-22T16:11:57Z oleo quit (Ping timeout: 245 seconds) 2014-05-22T16:15:16Z oleo joined #sbcl 2014-05-22T16:17:28Z Bike joined #sbcl 2014-05-22T16:22:35Z nyef: Okay, building yet another new version, this one I'm fairly sure doesn't have weird edge cases. And I will believe that until someone finds some angle that I didn't consider or another failing test case. 2014-05-22T16:49:34Z edgar-rft joined #sbcl 2014-05-22T16:56:31Z nyef: Damnit, found the logic that contains the angle that I didn't consider. 2014-05-22T17:05:02Z Hydan joined #sbcl 2014-05-22T17:08:27Z Guest4679 quit (Ping timeout: 252 seconds) 2014-05-22T17:22:15Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-22T17:33:00Z nyef: COLLECT is order-preserving, isn't it? 2014-05-22T17:33:25Z prxq joined #sbcl 2014-05-22T17:33:36Z brown`: Clozure CL does not build head SBCL successfully. The build dies in make-host-2 when the built SBCL is compiling deftype.lisp. 2014-05-22T17:34:33Z stassats`: nyef: something is really wrong if you're blaming COLLECT 2014-05-22T17:34:49Z nyef: stassats`: I'm not blaming COLLECT, I'm making sure that I'm using it correctly. 2014-05-22T17:35:08Z nyef: It is NOT my go-to construct for this kind of thing, LOOP is. 2014-05-22T17:35:51Z brown`: Guess I'll take a look at why. It would be handy to have CCL building SBCL, since CCL runs on ARM. 2014-05-22T17:35:53Z nyef: brown`: Does it die from a WARNING or ERROR from compiling the code (that is, COMPILE-FILE indicates a less-than-successful build), or from something more spectacular? 2014-05-22T17:36:37Z stassats`: you can have COLLECT to collect either way 2014-05-22T17:36:38Z brown`: It looks like something simple ... the built SBCL is trying to print the list of undefined functions ... "Undefined functions:" ... and the error is: 2014-05-22T17:36:59Z brown`: Justification illegal in this context 2014-05-22T17:37:01Z brown`: "~& Undefined ~(~A~)~p:~% ~{~<~% ~1:;~S~>~^ ~}" 2014-05-22T17:37:06Z nyef: stassats`: You know what might be a quick win for compilation speed on ARM if you haven't done it yet? Not signaling that unable-to-encode-immediate error, whatever it's called. 2014-05-22T17:37:09Z brown`: ^ 2014-05-22T17:37:24Z brown`: (pointer to the '>' in the format string) 2014-05-22T17:37:35Z brown`: While executing: CCL::DO-SUB-FORMAT 2014-05-22T17:37:57Z Krystof: at first sight, that looks like a ccl bug to me, bicbw 2014-05-22T17:37:58Z nyef: stassats`: At least, not signalling it until it's certain that the value can't be encoded. 2014-05-22T17:38:13Z stassats`: is it signalled? 2014-05-22T17:38:17Z brown`: Yes, that's most likely. 2014-05-22T17:38:35Z Krystof: justification and pretty-printing are incompatible, but I don't think there are pretty printing directives there 2014-05-22T17:39:08Z Krystof: fwiw clisp is more likely to build sbcl, in that I test it every so often 2014-05-22T17:39:26Z nyef: Oh, you're right, I'm mis-remembering how immediate-encoding got implemented. 2014-05-22T17:39:42Z brown`: Not sure ... the message says "Error: Justification illegal ... " There's no obvious indication that an condition was signaled, but the debugger gets control. 2014-05-22T17:39:45Z Krystof: it definitely does get signalled some time 2014-05-22T17:39:56Z Krystof: the immediate encoding thing 2014-05-22T17:40:16Z Krystof: because ccl caught the wrong initarg when it was 2014-05-22T17:40:16Z brown`: overlapping conversations ... 2014-05-22T17:41:13Z nyef: Okay, nevermind, I see now that cannot-encode-immediate-operand is only signaled when appropriate. 2014-05-22T17:41:30Z stassats`: it is signalled in composite-immediate-instruction 2014-05-22T17:41:40Z stassats`: handled 2014-05-22T17:42:34Z nyef: You could possibly use encodable-immediate there instead? 2014-05-22T17:42:51Z stassats`: the whole thing needs to be rethought 2014-05-22T17:42:58Z nyef: Probably. 2014-05-22T17:43:04Z nyef: I'm not up for that today, though. 2014-05-22T17:43:17Z stassats`: that's after the freeze, anyway 2014-05-22T17:43:33Z nyef: Trying yet another take on this bloody LTN thing. /-: 2014-05-22T17:43:56Z ltbarcly joined #sbcl 2014-05-22T17:44:09Z stassats`: the problem with automatic immediate splitting is that sometimes it needs a temporary register 2014-05-22T17:44:56Z stassats`: so, i thought, an additional SC with some VOP magic, which pegs a register when needed 2014-05-22T17:46:26Z nyef: Mmm. That's plausible, at least. 2014-05-22T17:46:43Z stassats`: otherwise there needs to be a 2x number of VOPs 2014-05-22T17:47:46Z nyef: At this point I'm quite happy to not do any real digging into the ARM backend. 2014-05-22T17:48:35Z nyef: I have a regression to fix. Over the next month I'd like to spend time either fixing up other backends or nailing down general nasty compiler bugs, maybe both, and that's about it. 2014-05-22T17:53:01Z krzysz00: Krystof (mainly): I'm trying to figure out how to encode the line break class property. Some of the values are nicely generated (all characters with property X ± some others), while other values ... aren't. I'm not sure whether I should just stuff everything into the DB, stuff the hard-to-generate bits into a lisp-expr, or something else. 2014-05-22T17:53:24Z krzysz00: I was wondiring if you had any suggestions. 2014-05-22T17:57:18Z nyef: Oh! That reminds me. I'm getting just a touch annoyed at seeing the high-importance external-format-line-ending bugs. Does anyone have suggestions on how to go about adding line-ending support for external-formats? 2014-05-22T17:57:34Z stassats`: "just go and do it" 2014-05-22T17:57:58Z nyef: (Of course, I ask this just as I'm about to crash for an hour or so, but that's what scrollback is for.) 2014-05-22T17:58:10Z stassats`: the answer to that "i'm just too lazy" 2014-05-22T17:58:46Z stassats`: i wanted to rework external formats handling completely, since it's quite slow 2014-05-22T18:00:04Z nyef: Krystof: http://paste.lisp.org/display/142651#4 is what I'm currently testing on the LTN thing, btw. Just waiting for the test suite to finish running before I work up the commit message... Or try to figure out why it failed. 2014-05-22T18:00:52Z stassats`: but "broken" or "not implemented" usually trumps "slow" 2014-05-22T18:01:00Z nyef: And, with that said, I'm going to crash now. I'll check the scrollback / logs when I page back in. 2014-05-22T18:01:35Z stassats`: freebsd, win32 and win64 build are ok 2014-05-22T18:01:39Z nyef: ... And then my computer manages to lose track of its display hardware. Lovely. 2014-05-22T18:02:38Z nyef quit (Quit: I'll rejoin in a couple of hours.) 2014-05-22T18:03:21Z stassats`: now for openbsd-x86-64 and solaris-x86/64 2014-05-22T18:08:33Z eudoxia quit (Quit: Lost terminal) 2014-05-22T18:14:59Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-22T18:21:42Z ltbarcly joined #sbcl 2014-05-22T18:28:48Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-22T18:34:03Z _8hzp joined #sbcl 2014-05-22T18:35:34Z stassats`: implementing sb-rotate-byte for arm, there's actually no noticeable difference 2014-05-22T18:36:21Z stassats`: slightly more compact code 2014-05-22T18:36:49Z hzp quit (Ping timeout: 252 seconds) 2014-05-22T18:37:52Z stassats`: that's for the constant case, perhaps the arbitrary case would show the difference 2014-05-22T18:47:29Z ehaliewicz joined #sbcl 2014-05-22T18:47:31Z nyef joined #sbcl 2014-05-22T18:48:09Z nyef: Okay, I'm back. And my computer is functioning again. 2014-05-22T18:48:39Z nyef: Re-running the test suite to make sure that my current patch doesn't break anything obvious. 2014-05-22T18:51:00Z brown`: I created a bug report for the behavior I see when compiling SBCL with CCL. It's caused in part by me setting *print-pretty* to true in my init file ... without that everything works better, so it may not even be a CCL bug. 2014-05-22T18:51:06Z stassats`: looks like RSB-like instructions are broken 2014-05-22T18:51:11Z stassats`: when used with conditions 2014-05-22T18:55:00Z krzysz00: Where in the manual should I put the documentation for my sb-unicode package? 2014-05-22T18:55:13Z stassats`: it's just not smart enough 2014-05-22T18:55:31Z stassats`: i was giving a non-existing condition, and it gave me a too much arguments back 2014-05-22T18:56:55Z stassats`: non-constant rotate byte gets much faster 2014-05-22T18:57:05Z nyef: Okay, clean test run. Krystof: At this point I think that it's likely to be actually fixing the situation and not simply driving the bug to be more subtle. 2014-05-22T18:57:07Z stassats`: but, it's because the non-optimized version is not that great 2014-05-22T18:57:46Z krzysz00: Urnelatedly, does anyone know if Tom is on vacation or somethig? 2014-05-22T18:57:53Z nyef: krzysz00: I'd say probably in the "beyond-ansi" section, but I'm not actually thinking about it in any kind of depth right now. 2014-05-22T18:57:59Z stassats`: which Tom? 2014-05-22T19:00:30Z krzysz00: Emerson, who is oficially mentoring my GSoC project. 2014-05-22T19:00:39Z krzysz00: nyef: That's what I was thinking as well. 2014-05-22T19:03:07Z stassats`: now, how to beat 500 commits the next release cycle? 2014-05-22T19:04:23Z nyef: A new backend would be a good start, plus fixing up a couple of old backends... 2014-05-22T19:05:09Z stassats`: porting to minix3 or beos 2014-05-22T19:05:58Z nyef: Adding gencgc and threads support to ARM, and threads support to SPARC... 2014-05-22T19:06:22Z stassats`: with safepoints 2014-05-22T19:06:37Z nyef: With and without safepoints, let's get the whole cross-product thing going here. 2014-05-22T19:06:49Z stassats`: that's what i meant, of course 2014-05-22T19:07:18Z nyef: Yeah, I don't think that we're going to be breaking 500 commits again any time soon. (-: 2014-05-22T19:08:41Z stassats` adds number 573 2014-05-22T19:09:18Z nyef: In a way, it's almost too bad we're in code-freeze, otherwise we could be trying for 600, instead of barely making 575. 2014-05-22T19:09:36Z stassats`: just find more bugs 2014-05-22T19:09:54Z nyef: Finding bugs is easy, finding *regressions* is harder. 2014-05-22T19:10:06Z nyef: On the other paw, we could just ask Xach... 2014-05-22T19:10:19Z krzysz00_ joined #sbcl 2014-05-22T19:10:28Z stassats`: bugs in the arm/ part can be considered regressions 2014-05-22T19:11:00Z nyef: So, do I commit these LTN changes now, or wait for Krystof to say that it looks okay? 2014-05-22T19:11:22Z stassats`: you can always uncommit them 2014-05-22T19:11:51Z nyef: Heh. You're just trying to bump the commit count by having the revert commit in there as well. 2014-05-22T19:12:20Z stassats`: i guess it's better that it's less than 600, or we'll have to hit 700 next time 2014-05-22T19:13:29Z krzysz00 quit (Ping timeout: 265 seconds) 2014-05-22T19:16:42Z stassats`: openbsd and solaris builds are fine 2014-05-22T19:17:02Z nyef: SPARC build worked a couple of days ago, IIRC. 2014-05-22T19:17:38Z nyef: I don't really want to turn my SPARC on right now, or my PPC. 2014-05-22T19:18:01Z stassats`: "my" ppc is far away 2014-05-22T19:18:18Z stassats`: and the build is ok, now for tests 2014-05-22T19:21:15Z nyef: Okay, pushing what I have now, hopefully there's nothing really wrong with it. 2014-05-22T19:26:35Z yacks quit (Ping timeout: 252 seconds) 2014-05-22T19:31:16Z danlentz quit (Quit: danlentz) 2014-05-22T19:36:40Z krzysz00_ is now known as krzysz00 2014-05-22T19:37:27Z Bike quit (Ping timeout: 276 seconds) 2014-05-22T19:37:35Z krzysz00: OK, Unicode stuff is now "documented" (docstrings included in the manual with a short blurb at the top of the section) 2014-05-22T19:38:01Z stassats`: has the GSOC already started? 2014-05-22T19:41:04Z krzysz00: Yep. Started this Monday, officially. 2014-05-22T19:41:25Z krzysz00: I started a week early because I have a planned vacation in the middle of June. 2014-05-22T19:48:54Z krzysz00: stassats`: My latest work (if you want to poke at it) is at https://github.com/krzysz00/sbcl/tree/unicode-algorithms 2014-05-22T19:49:36Z stassats`: that requires thinking, i don't want to do that too much 2014-05-22T19:52:11Z stassats`: can ord-member be implemented using binary search? does it have to use lists? 2014-05-22T19:53:42Z mood: krzysz00: FYI, there's a typo at https://github.com/krzysz00/sbcl/blob/7d58fddb9c6d951409113a6e3cffde775f239882/src/code/target-unicode.lisp#L435 2014-05-22T19:53:47Z mood: Uninoce instead of Unicode 2014-05-22T19:54:07Z stassats`: krzysz00: and i'm not sure in the utility of (defun between (lower-bound item upper-bound) (and (<= lower-bound item) (<= item upper-bound))), since that's (<= lower-bound item upper-bound) 2014-05-22T19:54:57Z stassats`: i'd even say, it's counterproductive, since you can't know right away if it's an inclusive or an exclusive bound 2014-05-22T19:55:48Z angavrilov quit (Remote host closed the connection) 2014-05-22T19:55:58Z Krystof: nyef: thanks. we'll see who complains :-) 2014-05-22T19:57:22Z stassats`: krzysz00: " Taken straight out of the common lisp cookbook", does the license permit? 2014-05-22T19:57:45Z krzysz00: I had completely forgotten that <= has that behavior. Global search-replace coming up soon. 2014-05-22T19:59:24Z krzysz00: stassats`: Can't for the life of me tell what the CL cookbook is licenced as. They don't specify. 2014-05-22T20:00:47Z mood: http://cl-cookbook.sourceforge.net/license.html 2014-05-22T20:01:27Z krzysz00: How did I miss that? 2014-05-22T20:02:10Z krzysz00: IANAL, but if I formalize the attribution a bit, it should be good? 2014-05-22T20:02:17Z stassats`: and my query regarding ord-member? 2014-05-22T20:02:44Z krzysz00: Which query about ord-member? 2014-05-22T20:02:58Z stassats`: krzysz00: it's in the tests, so i think "taken from cl coobook" is enough 2014-05-22T20:03:09Z stassats`: the "can ord-member be implemented using binary search? does it have to use lists?" one 2014-05-22T20:03:20Z krzysz00: I already dealt with `between` which was useless like you said. 2014-05-22T20:05:13Z segv- quit (Remote host closed the connection) 2014-05-22T20:06:11Z krzysz00: I'm not actually sure whether ord-member can be written as a binary seach. It's meant to cover the cases where something is defined as "x in {[a1 b1] | [a2 b2] | ...}" 2014-05-22T20:06:45Z segv- joined #sbcl 2014-05-22T20:06:46Z stassats`: all cases where ord-member is used are seem constant, so, it can be transformed to a test of range + binary search 2014-05-22T20:07:41Z krzysz00: Yeah, the thing I'm searching in is probably always going to be constant. 2014-05-22T20:11:54Z stassats`: and ranges can probably be better implemented using an unsigned-byte-32 array 2014-05-22T20:12:10Z stassats`: (and binary search too) 2014-05-22T20:13:59Z ltbarcly joined #sbcl 2014-05-22T20:14:27Z krzysz00 quit (Ping timeout: 245 seconds) 2014-05-22T20:16:39Z krzysz00 joined #sbcl 2014-05-22T20:16:56Z mood: Probably a simple question: in compiler/proclaim.lisp at line 45 and 46 there's a DESTRUCTURING-BIND that I believe would be nicer as a VALUES-LIST. Compilation and the tests still succeed when I changed it, but how would I check if it had any negative effects on some other metric? 2014-05-22T20:18:04Z Hydan quit (Quit: Textual IRC Client: www.textualapp.com) 2014-05-22T20:19:42Z stassats` quit (Ping timeout: 276 seconds) 2014-05-22T20:20:02Z nyef: mood: First thing to do is make sure that the DS-B isn't there partly for its side-effect of erroring if there's a third element in the list. 2014-05-22T20:23:16Z mood: nyef: Ah, that does indeed seem to be the case. My version doesn't error when using (optimize (speed 3 3)) while the DS-B does. 2014-05-22T20:25:00Z Bike joined #sbcl 2014-05-22T20:29:49Z sdemarre joined #sbcl 2014-05-22T20:41:17Z sdemarre quit (Ping timeout: 258 seconds) 2014-05-22T20:50:20Z ASau joined #sbcl 2014-05-22T21:07:01Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-22T21:13:08Z irsol quit (Ping timeout: 252 seconds) 2014-05-22T21:15:17Z krzysz00 quit (Ping timeout: 265 seconds) 2014-05-22T21:16:15Z stassats joined #sbcl 2014-05-22T21:16:47Z krzysz00 joined #sbcl 2014-05-22T21:17:54Z mega1 quit (Ping timeout: 252 seconds) 2014-05-22T21:22:38Z tmh_ quit (Ping timeout: 252 seconds) 2014-05-22T21:26:44Z irsol joined #sbcl 2014-05-22T21:31:07Z irsol quit (Ping timeout: 240 seconds) 2014-05-22T21:37:17Z irsol joined #sbcl 2014-05-22T21:41:53Z irsol quit (Ping timeout: 252 seconds) 2014-05-22T21:44:27Z ASau quit (Remote host closed the connection) 2014-05-22T21:45:10Z ASau joined #sbcl 2014-05-22T21:49:05Z irsol joined #sbcl 2014-05-22T21:54:52Z krzysz00: stassats: ord-member will be O(n) either way (length check + binary seachr or iteration over a list) 2014-05-22T21:55:46Z stassats: binary search is O(log n), isn't it? 2014-05-22T22:07:30Z segv- quit (Remote host closed the connection) 2014-05-22T22:09:57Z stassats: and on x86-64, ub32 vectors will save even more space compared to lists 2014-05-22T22:11:34Z krzysz00: stassats: Doesn't binary search require a length check? Would those be optimized out? 2014-05-22T22:11:54Z stassats: what is your concern with a length check? 2014-05-22T22:12:00Z drmeister joined #sbcl 2014-05-22T22:13:04Z krzysz00: O(n), but the constant on that is probably so small that it doesn't matter. 2014-05-22T22:13:21Z stassats: length check is O(1) 2014-05-22T22:15:20Z krzysz00: Binary search it is then. 2014-05-22T22:15:50Z stassats: and short ranges could be opencoded 2014-05-22T22:15:53Z krzysz00: ordered-ranges-member is probably going to stay as it is though. 2014-05-22T22:16:55Z stassats: ordered-ranges-member can binary searched too 2014-05-22T22:17:17Z stassats: but even if you don't binary search, transform it into a UB32 vector 2014-05-22T22:18:11Z Krystof: pkhuong had a fearsomely complicated blog post about binary search a year or so ago 2014-05-22T22:20:27Z Bike: this one? http://www.pvk.ca/Blog/2012/07/30/binary-search-is-a-pathological-case-for-caches/ 2014-05-22T22:21:08Z eudoxia joined #sbcl 2014-05-22T22:23:47Z stassats: some ord-member uses are too small for binary search to win 2014-05-22T22:24:16Z stassats: i would first convert ord-member and ordered-ranges-member to using ub32 arrays 2014-05-22T22:25:37Z stassats: then opencoding a comparison (and (<= min-set x max-set) (ord-member x set)) 2014-05-22T22:25:55Z stassats: and then, if it's still slow enough, binary search 2014-05-22T22:26:57Z nic_mobile joined #sbcl 2014-05-22T22:28:12Z Bike quit (Ping timeout: 245 seconds) 2014-05-22T22:28:48Z nic_mobile left #sbcl 2014-05-22T22:31:15Z stassats: krzysz00: and you have too much PROGN in the code, and too much nested IFs 2014-05-22T22:33:14Z drmeister quit (Read error: Connection reset by peer) 2014-05-22T22:34:36Z nicdev quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2014-05-22T22:35:33Z nicdev joined #sbcl 2014-05-22T22:38:02Z nic_mobile joined #sbcl 2014-05-22T22:38:14Z stassats: and http://www.pvk.ca/Blog/2012/07/03/binary-search-star-eliminates-star-branch-mispredictions/ is more appropriate 2014-05-22T22:42:18Z krzysz00: Are UB32s fasl'able before cold init? I know I had issues earlier with UB16s? 2014-05-22T22:42:46Z drmeister joined #sbcl 2014-05-22T22:43:09Z stassats: they better be 2014-05-22T22:43:47Z stassats: they may be not dump-able by the host compiler, but i expect the cross compiler to be able to deal with them 2014-05-22T22:44:14Z nyef: One of these days, someone is going to write a vicious common lisp implementation which restricts every possible option to the least convenient. 2014-05-22T22:44:34Z nyef: All the way down to the smallest allowed arrays, the minimum set of allowed array types, and so on. 2014-05-22T22:44:58Z nyef: Twelve-bit fixnums or whatever the minimum is. 2014-05-22T22:45:03Z stassats: 16? 2014-05-22T22:45:42Z nyef: Okay, yeah, 16. 2014-05-22T22:46:10Z nyef: Non-EQ fixnums, too. 2014-05-22T22:46:27Z stassats: ABCL does that 2014-05-22T22:46:28Z nyef: In fact, just to make things annoying, no two FIXNUMs would be EQ. 2014-05-22T22:46:41Z nyef: In fact, the same fixnum would not be EQ to itself. 2014-05-22T22:53:20Z |3b|: 4 different sizes of float, all < 32 bits? 2014-05-22T22:53:44Z stassats: and not conforming to IEEE in any way? 2014-05-22T22:54:08Z nyef: Not like CL specifies floats conforming to IEEE in the first place. 2014-05-22T22:54:17Z |3b|: yeah, act like clisp and don't include any NaN or inf 2014-05-22T22:54:45Z nyef: Ahh, CROSS-FLOAT-INFINITY-KLUDGE. Such fun and games! 2014-05-22T22:55:41Z stassats: writing lisp-fp could solve that 2014-05-22T22:55:52Z stassats: but there isn't much FP in the compiler 2014-05-22T22:55:53Z Krystof: the first cut might be to write one in sb-mpfr 2014-05-22T22:56:03Z ASau quit (Remote host closed the connection) 2014-05-22T22:56:23Z nyef: Don't we have enough problems with float representation in the compiler? 2014-05-22T22:56:33Z stassats: sb-mpfr wouldn't work on the host compiler, would it? 2014-05-22T22:56:39Z ASau joined #sbcl 2014-05-22T22:56:43Z Krystof: no, but it would be a proof of concept 2014-05-22T22:57:12Z stassats: there are/were problems with bad libc routines too 2014-05-22T22:57:27Z Krystof: if the worst comes to the worst we could build a command-line utility to do floating point calculations as part of the build 2014-05-22T22:57:55Z Krystof: wait why am I still awake? 2014-05-22T22:58:09Z nyef: Heh. G'night Krystof. 2014-05-22T22:58:30Z Bike joined #sbcl 2014-05-22T23:03:59Z nic_mobile quit (Quit: nic_mobile) 2014-05-22T23:16:30Z ehaliewicz quit (Ping timeout: 276 seconds) 2014-05-22T23:16:48Z eudoxia quit (Quit: Lost terminal) 2014-05-22T23:18:39Z nyef: If the newline policy is CRLF, and we see a bare LF, what do we do with it? Does CRLF just suppress a single CR before LF? What about newline policy CR (old-school mac)? Does that map CR to #\Linefeed, and if so what happens if we see an LF on the input? 2014-05-22T23:21:31Z stassats: treat lone LF as if it were a newline 2014-05-22T23:22:45Z nyef: That... makes a certain amount of sense, I guess. It means that a newline policy is largely about dealing with CR. 2014-05-22T23:23:36Z nyef: Right up until someone wants a VMS line-ending format. 2014-05-22T23:23:51Z stassats: EBCDIC NEL, next line 2014-05-22T23:25:14Z stassats: http://www.unicode.org/reports/tr14/tr14-32.html 2014-05-22T23:26:27Z nyef: Right, nevermind. 2014-05-22T23:26:29Z pkhuong: sb-mpfr would be awesome... but if we can expect sb-mpfr, we can expect sane FP :\ 2014-05-22T23:28:18Z stassats: emacs doesn't understand (string #\Next-Line), but the terminal does 2014-05-22T23:28:57Z nyef: Hello pkhuong. 2014-05-22T23:47:23Z krzysz00 quit (Ping timeout: 252 seconds) 2014-05-22T23:49:34Z krzysz00 joined #sbcl 2014-05-22T23:51:58Z zRecursive joined #sbcl 2014-05-23T00:16:42Z temerson joined #sbcl 2014-05-23T00:17:59Z temerson quit (Client Quit) 2014-05-23T00:18:05Z nyef: Hunh. I just realized that the compiler code I'm staring at, trying to figure out, is actually a LOOP form. And that there are FIVE LOOP forms in this file. I thought that we didn't use LOOP in the compiler? 2014-05-23T00:18:12Z temerson joined #sbcl 2014-05-23T00:18:40Z stassats: when nobody is looking 2014-05-23T00:19:43Z jsnell_: I'd never understood that as prescriptive but as descriptive, so used loop on new code even in the compiler where it made sense 2014-05-23T00:19:46Z nyef: Apparently! 2014-05-23T00:20:16Z stassats: using DO/COLLECT gets old pretty quickly 2014-05-23T00:20:58Z stassats: and it's not that hard to write portable LOOP forms 2014-05-23T00:21:19Z nyef: So, I'm in STACK, looking at a block with two dv$n$ values on the stack at entry and exit (same order), but the predecessor block has them in the opposite order on exit, and the successor block has them in the opposite order on entry. 2014-05-23T00:23:00Z nyef: And my three questions are "how did things get this way", "why does this cause an infinite loop", and "how can I detect that it WILL cause an infinite loop so that I can AVER it away"? 2014-05-23T00:25:29Z stassats: so, cheneygc collects all the heap on each gc? 2014-05-23T00:25:47Z nyef: All the dynamic space, yes. 2014-05-23T00:26:03Z stassats: 12 MB of bytes-consed-between-gcs makes it kick up quite often 2014-05-23T00:26:52Z nyef: Keep in mind that it's still the late '90s, and RAM is still kindof expensive. 2014-05-23T00:26:55Z stassats: was it selected in the year 1990? 2014-05-23T00:27:18Z pkhuong: pretty much 2014-05-23T00:27:36Z pkhuong: back when pointer reversL was a practical trick 2014-05-23T00:27:59Z stassats: any reason to not just set it to half the space? 2014-05-23T00:28:17Z nyef: Any reason not to just get gencgc working? 2014-05-23T00:28:38Z stassats: future ports? 2014-05-23T00:28:44Z pkhuong: i could imagine some, but not really 2014-05-23T00:29:35Z nyef: I so need to get Linux up and running on some of my more recent hardware acquisitions. 2014-05-23T00:30:48Z stassats: i bet increasing bytes_consed_between_gcs will greatly reduce self build times 2014-05-23T00:33:51Z nyef: clhs mismatch 2014-05-23T00:33:51Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_mismat.htm 2014-05-23T00:33:55Z stassats: Krystof increast bytes_consed_between_gcs from 4MB to 12MB in 2003 2014-05-23T00:34:06Z stassats: but that's probably for gencgc, where it has a different meaning 2014-05-23T00:36:49Z pkhuong: stassats: probably. I remember a post by JRM on exactly that topic. 2014-05-23T00:37:47Z pkhuong: time to think of some useful codewalking demos. 2014-05-23T00:38:09Z pkhuong: I have: 1. code coverage; 2. stepper. 2014-05-23T00:38:20Z stassats: i think at least 64MB on cheneygc would be a good value 2014-05-23T00:42:01Z stassats: gencgc doesn't want new registers or anything like that? 2014-05-23T00:42:36Z nyef: Shouldn't, no. 2014-05-23T00:42:49Z nyef: But you'll need fixups for boxed_region. 2014-05-23T00:42:57Z stassats: i can just grep for x86/ppc in *gc*.c 2014-05-23T00:43:47Z stassats: and it's mostly x86 ifdefs, not surprising 2014-05-23T00:44:02Z nyef: Don't forget sparc. We're more like spark than we are like x86, x86-64, or ppc. 2014-05-23T00:44:13Z nyef: s/spark/sparc/ 2014-05-23T00:45:18Z stassats: arm doesn't need code code fixups, now, does it? 2014-05-23T00:45:34Z stassats: that's a quite an ugly part of x86 gencgc 2014-05-23T00:46:01Z nyef: No, those are for platforms lacking both reg_CODE and usable PC-relative addressing modes. 2014-05-23T00:47:24Z stassats: what will happen if i just enable gencgc 2014-05-23T00:48:43Z krzysz00 quit (Ping timeout: 240 seconds) 2014-05-23T00:49:04Z nyef: You need to fix up the allocation sequences, otherwise it'll just start scribbling past where the GC thinks that there is memory allocated. 2014-05-23T00:50:09Z stassats: iirc, sparc uses signals for requesting allocation 2014-05-23T00:50:15Z stassats: and x86 just calls alloc 2014-05-23T00:50:44Z krzysz00 joined #sbcl 2014-05-23T00:50:45Z stassats: well, using too much signals is what causing problems on Solaris 2014-05-23T00:51:37Z nyef: Honestly, you have an end-pointer in the alloc region, you can do the compare, then you "just" need to cause some sort of alloc-overflow trap. 2014-05-23T00:52:02Z nyef: See the PPC version for an example there. 2014-05-23T00:52:36Z stassats: on sparc, the amount of allocation is encoded as an instruction, and the signal handler doesn't always give the right PC in the context 2014-05-23T00:52:48Z stassats: leading to fun 2014-05-23T00:53:30Z nyef: Utterly typical. 2014-05-23T00:53:40Z stassats: so, why not just a function call, like on x86oids? 2014-05-23T00:53:43Z nyef: Is this SPARC generally, or SPARC/Solaris specifically? 2014-05-23T00:54:07Z stassats: solaris, including x86, but x86 doesn't use as much signals 2014-05-23T00:54:08Z nyef: x86oids get away with a LOT of dumb stuff because they have a conservative stack. 2014-05-23T00:55:26Z stassats: and signals are better than functions because of that? 2014-05-23T00:55:50Z stassats: and the sparc thing is at https://bugs.launchpad.net/sbcl/+bug/1248181 2014-05-23T00:56:52Z nyef: An allocation overflow should be a fairly rare event in the first place, and doing a proper alien-funcall to alloc() means doing a PROPER alien-funcall. 2014-05-23T00:57:44Z stassats: can it be a static assembly function? 2014-05-23T00:59:09Z stassats: i mean, what's the difference between a signal and a function call? only that the kernel is saving the context 2014-05-23T01:00:00Z nyef: Well, give it a try, either way. Worst-case is that you find out exactly why it can't be. 2014-05-23T01:00:16Z stassats: that's usually what happens 2014-05-23T01:01:16Z pkhuong: I feel like our signal eagerness is also an artifact of the 90s 2014-05-23T01:02:11Z pkhuong: context switch + MMU flush + context switch isn't quick, esp. with multiple threads (messing with virtual memory will also affect all other threads in the process) 2014-05-23T01:02:39Z stassats: sparc signals just for about anything 2014-05-23T01:02:54Z stassats: fixnum overflows? 2014-05-23T01:03:54Z nyef: Yeah, THAT is a bit weird. Don't all of our VOPs prevent fixnum overflows in the first place? 2014-05-23T01:04:03Z nyef: PPC has some similar noise. 2014-05-23T01:04:22Z pkhuong: nyef: not for fixnum + fixnum => integer 2014-05-23T01:04:22Z stassats: sparc has tagged add 2014-05-23T01:04:54Z nyef: pkhuong: Right, but don't we turn around and just do the add, check for overflow, and box a bignum if necessary? 2014-05-23T01:05:32Z pkhuong: I assume we check for overflow via signals 2014-05-23T01:07:17Z stassats: those seem to be #+nil 2014-05-23T01:07:57Z stassats: taddcctv 2014-05-23T01:12:02Z nyef: And on the PPC side, while the VOPs are there, the corresponding trap handling code in the runtime is disabled or obviously broken. 2014-05-23T01:13:32Z nyef: ... Wait, the profiling interrupt doesn't get deferred by p-a? 2014-05-23T01:14:13Z nyef: Or is it that the handler being delivered to gets switched up? 2014-05-23T01:15:59Z stassats: i reckon that it's deferred 2014-05-23T01:17:51Z nyef: Hrm. 2014-05-23T01:19:41Z krzysz00 quit (Ping timeout: 252 seconds) 2014-05-23T01:21:24Z krzysz00 joined #sbcl 2014-05-23T01:23:49Z nyef: Preliminary conclusion: I'm not going to try and debug this without access to a decent Solaris box, and certainly not now. 2014-05-23T01:24:33Z stassats: it needs decent solaris documentation 2014-05-23T01:24:43Z stassats: or reading the sources 2014-05-23T01:24:53Z stassats: i doubt anybody understands what's going on 2014-05-23T01:28:04Z prxq_ joined #sbcl 2014-05-23T01:29:20Z andreh joined #sbcl 2014-05-23T01:31:27Z prxq quit (Ping timeout: 265 seconds) 2014-05-23T01:34:41Z slyrus joined #sbcl 2014-05-23T01:50:26Z stassats` joined #sbcl 2014-05-23T01:51:45Z White__Flame joined #sbcl 2014-05-23T01:51:53Z pkhuong: we have a couple (declare (values ...)) and I don't think they mean what the author thinks they mean 2014-05-23T01:52:08Z pkhuong: you really want &optional. 2014-05-23T01:58:36Z stassats quit (*.net *.split) 2014-05-23T01:58:36Z White_Flame quit (*.net *.split) 2014-05-23T01:58:36Z psilord quit (*.net *.split) 2014-05-23T02:00:26Z psilord joined #sbcl 2014-05-23T02:01:56Z nyef quit (Quit: G'night all.) 2014-05-23T02:10:43Z ehaliewicz joined #sbcl 2014-05-23T02:18:16Z brucem: pkhuong: all is well. 2014-05-23T02:37:07Z andreh quit (Quit: Quitte) 2014-05-23T02:38:19Z pkhuong: brucem: good to hear! I was about to retweet your other reply and 4G crapped out 2014-05-23T02:38:42Z brucem: pkhuong: all of the TV channels and radio stations are only playing the Army channel. 2014-05-23T02:39:02Z brucem: pkhuong: which is only playing military / nationalistic music in between announcements. 2014-05-23T02:39:18Z christoph_debian quit (Ping timeout: 276 seconds) 2014-05-23T02:39:26Z pkhuong: sounds like an interesting atmosphere :\ 2014-05-23T02:40:07Z brucem: pkhuong: could be tons worse. :) 2014-05-23T02:40:17Z drmeister quit (Remote host closed the connection) 2014-05-23T02:40:41Z brucem: pkhuong: Per Vognsen (who you know, I think from FlipCode?) is in TH too 2014-05-23T02:43:30Z pkhuong: thought he moved to SC... Interesting times. 2014-05-23T02:43:38Z brucem: SC? 2014-05-23T02:43:43Z pkhuong: south carolina 2014-05-23T02:44:08Z brucem: Ahh, he was in TH, then Washington State, now TH again while waiting on some new visas for the US for a new job. 2014-05-23T02:44:59Z pkhuong: in SBCL news, http://paste.lisp.org/display/142660 <- code walking that plays well with others... and with source locations! 2014-05-23T02:47:32Z pkhuong: Krystof: also... a use case for your fancy specialisers ;) 2014-05-23T02:52:10Z christoph_debian joined #sbcl 2014-05-23T02:53:32Z temerson quit (Quit: temerson) 2014-05-23T02:58:12Z stassats` quit (Ping timeout: 245 seconds) 2014-05-23T03:12:02Z ltbarcly joined #sbcl 2014-05-23T03:20:04Z drmeister joined #sbcl 2014-05-23T03:20:15Z drmeister quit (Remote host closed the connection) 2014-05-23T03:39:21Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-23T03:39:45Z attila_lendvai joined #sbcl 2014-05-23T03:44:57Z attila_lendvai quit (Ping timeout: 276 seconds) 2014-05-23T03:49:04Z krzysz00_ joined #sbcl 2014-05-23T03:52:45Z krzysz00 quit (Ping timeout: 276 seconds) 2014-05-23T04:20:01Z momo-reina joined #sbcl 2014-05-23T04:30:17Z oleo quit (Ping timeout: 264 seconds) 2014-05-23T04:30:46Z oleo joined #sbcl 2014-05-23T04:32:39Z nicdev: //build started: Thu May 22 21:01:27 EDT 2014 2014-05-23T04:32:39Z nicdev: //build finished: Fri May 23 00:24:55 EDT 2014 2014-05-23T04:33:05Z nicdev: that's a cross compiled build with CCL on Raspberry Pi 2014-05-23T04:39:41Z mega1 joined #sbcl 2014-05-23T04:43:49Z momo-reina quit (Ping timeout: 265 seconds) 2014-05-23T05:06:57Z oleo quit (Quit: Leaving) 2014-05-23T05:21:06Z drmeister joined #sbcl 2014-05-23T05:25:42Z drmeister quit (Ping timeout: 245 seconds) 2014-05-23T05:38:11Z slyrus quit (Ping timeout: 252 seconds) 2014-05-23T05:41:26Z slyrus joined #sbcl 2014-05-23T05:43:45Z Bike_ joined #sbcl 2014-05-23T05:45:52Z Bike_ is now known as Bicyclidine 2014-05-23T05:46:25Z slyrus_ joined #sbcl 2014-05-23T05:47:32Z slyrus quit (Ping timeout: 252 seconds) 2014-05-23T05:47:33Z slyrus_ is now known as slyrus 2014-05-23T05:54:26Z krzysz00_ quit (Ping timeout: 258 seconds) 2014-05-23T05:56:18Z krzysz00 joined #sbcl 2014-05-23T05:58:08Z pranavrc joined #sbcl 2014-05-23T05:58:08Z pranavrc quit (Changing host) 2014-05-23T05:58:08Z pranavrc joined #sbcl 2014-05-23T06:09:20Z pranavrc_ joined #sbcl 2014-05-23T06:11:47Z pranavrc quit (Ping timeout: 265 seconds) 2014-05-23T06:12:17Z slyrus quit (Ping timeout: 252 seconds) 2014-05-23T06:15:06Z yacks joined #sbcl 2014-05-23T06:43:27Z Krystof: pkhuong: can I also sell you scymtym's optima specializers? 2014-05-23T07:02:32Z zRecursive left #sbcl 2014-05-23T07:10:03Z drmeister joined #sbcl 2014-05-23T07:14:21Z drmeister quit (Ping timeout: 252 seconds) 2014-05-23T07:21:35Z Bicyclidine quit (Ping timeout: 252 seconds) 2014-05-23T07:34:38Z ASau quit (Ping timeout: 240 seconds) 2014-05-23T07:52:48Z yacks quit (Ping timeout: 265 seconds) 2014-05-23T07:57:26Z angavrilov joined #sbcl 2014-05-23T08:01:23Z prxq_ is now known as prxq 2014-05-23T08:18:12Z yacks joined #sbcl 2014-05-23T08:23:44Z yacks quit (Ping timeout: 265 seconds) 2014-05-23T08:25:52Z yacks joined #sbcl 2014-05-23T08:43:02Z attila_lendvai joined #sbcl 2014-05-23T08:47:51Z attila_lendvai quit (Ping timeout: 276 seconds) 2014-05-23T08:57:23Z krzysz00 quit (Ping timeout: 252 seconds) 2014-05-23T08:58:37Z drmeister joined #sbcl 2014-05-23T08:59:30Z krzysz00 joined #sbcl 2014-05-23T09:02:43Z attila_lendvai joined #sbcl 2014-05-23T09:02:43Z attila_lendvai quit (Changing host) 2014-05-23T09:02:43Z attila_lendvai joined #sbcl 2014-05-23T09:03:25Z drmeister quit (Ping timeout: 258 seconds) 2014-05-23T09:39:16Z nyef joined #sbcl 2014-05-23T10:10:04Z Krystof: take that, kludge-nondeterministic-catch-block-size 2014-05-23T10:11:25Z Krystof: better fix it now while there's still another architecture to port to 2014-05-23T10:11:38Z Krystof: (I got an aarch64 qemu running yesterday, eventually) 2014-05-23T10:16:44Z nyef: What'd you do, split out a "not-so-early-objdef" that contained objects without lowtags such as bindings and catch-blocks, and inserted it before target/vm in the build order? 2014-05-23T10:17:55Z Krystof: nah 2014-05-23T10:18:08Z yacks quit (Ping timeout: 252 seconds) 2014-05-23T10:18:24Z Krystof: I moved all of objdef quite early, but delayed evaluating the `forms' collected from define-primitive-object to the current place 2014-05-23T10:18:43Z Krystof: - ,@(forms))))) 2014-05-23T10:18:43Z Krystof: + (setf *!late-primitive-object-forms* 2014-05-23T10:18:43Z Krystof: + (append *!late-primitive-object-forms* 2014-05-23T10:18:43Z Krystof: + ',(forms))))))) 2014-05-23T10:19:32Z nyef: Ahh. 2014-05-23T10:19:45Z nyef: And, being a longstanding issue, it doesn't go in until next month? 2014-05-23T10:19:53Z Krystof: sadly 2014-05-23T10:20:02Z Krystof: we've waited 15 years, we can probably wait one more week 2014-05-23T10:20:08Z nyef: Heh. 2014-05-23T10:24:12Z nyef: Okay, I have a "fix" for 1255782: adding (AVER (NOT (SET-DIFFERENCE ...))) in one place prevents the infinite loop. I still don't know why the one block has the stack "backwards", but this at least detects the issue. 2014-05-23T10:28:30Z segv- joined #sbcl 2014-05-23T10:39:03Z yacks joined #sbcl 2014-05-23T10:46:44Z ehaliewicz quit (Ping timeout: 252 seconds) 2014-05-23T10:47:24Z drmeister joined #sbcl 2014-05-23T10:50:24Z nyef: ... Looks like update-uvl-live-sets is doing something wrong (based on before-and-after calls to print-all-blocks). 2014-05-23T10:50:52Z attila_lendvai quit (Disconnected by services) 2014-05-23T10:50:52Z attila_lendvai1 joined #sbcl 2014-05-23T10:50:52Z attila_lendvai1 quit (Changing host) 2014-05-23T10:50:52Z attila_lendvai1 joined #sbcl 2014-05-23T10:51:50Z drmeister quit (Ping timeout: 240 seconds) 2014-05-23T10:58:43Z krzysz00 quit (Ping timeout: 240 seconds) 2014-05-23T11:00:40Z krzysz00 joined #sbcl 2014-05-23T11:00:49Z attila_lendvai1 quit (Ping timeout: 265 seconds) 2014-05-23T11:01:52Z nyef: Ohhh... 1255782 is caused by the workaround for 308914. 2014-05-23T11:14:02Z attila_lendvai joined #sbcl 2014-05-23T11:14:02Z attila_lendvai quit (Changing host) 2014-05-23T11:14:02Z attila_lendvai joined #sbcl 2014-05-23T11:15:46Z stassats` joined #sbcl 2014-05-23T11:22:13Z nyef: Why do I get the feeling that all it takes to screw up stack analysis at this point is to do something involving TAGBODY, dead code, and an XEP? 2014-05-23T11:23:04Z nyef: ... And possibly an escaped control transfer. 2014-05-23T11:39:16Z attila_lendvai1 joined #sbcl 2014-05-23T11:39:27Z attila_lendvai quit (Disconnected by services) 2014-05-23T11:39:27Z attila_lendvai1 quit (Changing host) 2014-05-23T11:39:27Z attila_lendvai1 joined #sbcl 2014-05-23T11:45:35Z pkhuong: Krystof: yes please 2014-05-23T12:01:03Z attila_lendvai1 quit (Quit: Leaving.) 2014-05-23T12:03:13Z Krystof: pkhuong: http://christophe.rhodes.io/gitweb/?p=specializable.git;a=shortlog;h=refs/heads/pattern-specializers 2014-05-23T12:15:15Z drmeister joined #sbcl 2014-05-23T12:16:49Z edgar-rft quit (Quit: continuation lost by mental death) 2014-05-23T12:23:32Z pkhuong: Krystof: https://github.com/pkhuong/sbcl/tree/composable-codewalking 2014-05-23T12:29:14Z milanj joined #sbcl 2014-05-23T12:29:42Z drmeister quit (Remote host closed the connection) 2014-05-23T12:30:53Z krzysz00 quit (Ping timeout: 264 seconds) 2014-05-23T12:32:20Z krzysz00 joined #sbcl 2014-05-23T12:34:15Z Krystof: so the fun question is: can you implement the PCL code walker in terms of this facility? 2014-05-23T12:34:26Z Krystof: or rather the PCL code walking 2014-05-23T12:35:15Z pkhuong: That's one of my hopes 2014-05-23T12:35:31Z pkhuong: But I don't understand PCL well enough to tell 2014-05-23T12:36:08Z stassats`: does it only code-walk to get to call-next-method and the like? 2014-05-23T12:37:08Z pkhuong: Krystof: would merging pattern specializers into master be painful? 2014-05-23T12:37:36Z pkhuong: I'm trying to read the commit history between the two branches, and it's not super clear ;) 2014-05-23T12:37:38Z tmh_ joined #sbcl 2014-05-23T12:39:13Z pkhuong: One thing that codewalking cleanly makes a lot harder is running analyses that'll affect surrounding code. 2014-05-23T12:39:50Z eudoxia joined #sbcl 2014-05-23T12:39:50Z pkhuong: e.g., does this call c-n-m? If so, we need to setup some environment around it to make c-n-m faster. 2014-05-23T12:41:47Z drmeister joined #sbcl 2014-05-23T12:45:15Z pkhuong: (although, really, I think there are more principled ways to do that, via deftransform) 2014-05-23T12:45:41Z Krystof: we're probably not ready to merge the pattern specializers 2014-05-23T12:46:00Z Krystof: the branch is there because it's our first try and there are some bits that are actually horrible 2014-05-23T12:46:33Z pkhuong: I see. 2014-05-23T12:46:59Z Krystof: stassats: it also walks I think to identify accessors and slot readers within method bodies 2014-05-23T12:47:48Z nyef: ... For what reason the latter? 2014-05-23T12:48:52Z momo-reina joined #sbcl 2014-05-23T12:49:02Z pkhuong: nyef: patch them up with super quick versions based on the argument list's specialisers. 2014-05-23T12:49:26Z nyef: Hrm. So... something that should be farmed off to the compiler in the first place? 2014-05-23T12:49:54Z pkhuong: not easily, I don't think. 2014-05-23T12:50:19Z Krystof: it needs to have lots of indirections 2014-05-23T12:50:42Z pkhuong: We'd likely want a thin codewalking pass to introduce the necessary info, and IR1 could then have at it. 2014-05-23T12:50:55Z Krystof: e.g. an indirection to look up the index of a particular slot in the object's slot vector 2014-05-23T12:51:04Z Krystof: ("permutation vector") 2014-05-23T12:52:00Z Krystof: it would be very cool to build the system with sb-cover and be able to generate reports about coverage from our test suite 2014-05-23T12:52:57Z pkhuong: I also want to replace sb-cover ad-hoc patches to the compiler ;) 2014-05-23T12:53:39Z drmeister quit (Remote host closed the connection) 2014-05-23T12:55:01Z pkhuong: ;; This form was a call to a macro. Maybe it expanded 2014-05-23T12:55:01Z pkhuong: ;; into a declare? Recurse to find out. 2014-05-23T12:55:03Z pkhuong: WHAT? 2014-05-23T12:55:19Z nyef: Nice! 2014-05-23T12:55:24Z nyef: Was that ever legal? 2014-05-23T12:55:59Z Krystof: no 2014-05-23T12:56:08Z davazp joined #sbcl 2014-05-23T12:57:01Z nyef: Oh, right, I need to start fixing up sb-cover at some point. 2014-05-23T12:57:47Z pkhuong: well, scarily parallel design with sb-walker. 2014-05-23T12:59:28Z nyef: One of the first issues that I noticed with sb-cover is that it doesn't always group files that are in the same directory in the output. 2014-05-23T13:01:10Z nyef: And one of the issues that I ran into more recently is that the coverage data from running my test suite at work changes depending on how much code needed to be recompiled, which is partly on my test suite and build system, but partly a lack of ability to merge saved coverage data to produce an overall coverage map. 2014-05-23T13:01:55Z pkhuong: It's really not clear why we need walk-method-lambda 2014-05-23T13:06:32Z pkhuong: test-converters are broken. 2014-05-23T13:07:14Z pkhuong: code converters do the CSE stuff. I think we can do something via IR1 instead 2014-05-23T13:09:46Z pkhuong: not sure what constant converters are for. 2014-05-23T13:10:06Z pkhuong: but, afaict, only code converters actually emit code, the rest is only for analysis purposes 2014-05-23T13:12:06Z pranavrc_ quit 2014-05-23T13:14:41Z stassats` quit (Ping timeout: 252 seconds) 2014-05-23T13:16:20Z pkhuong: really not convinced that the smartness is worth it. 2014-05-23T13:16:39Z pkhuong: or, if it is, that it's worth bypassing the compiler that way. 2014-05-23T13:17:06Z nyef: Clearly, the compiler is insufficiently smart. 2014-05-23T13:17:42Z drmeister joined #sbcl 2014-05-23T13:17:45Z pkhuong: the walker is used to specialise/generalise the method body. 2014-05-23T13:18:21Z pkhuong: it's specialised on the set of of constant temporary values that affect dispatch 2014-05-23T13:18:38Z pkhuong: and generalised by letting it vary at runtime as arguments (but precomputed) 2014-05-23T13:19:10Z pkhuong: that's kept in a hash table that's keyed on the pattern of code that remains once the constants are factored out. 2014-05-23T13:20:02Z pkhuong: ah... *the generator* is specialised and cached. 2014-05-23T13:20:22Z oleo joined #sbcl 2014-05-23T13:20:30Z pkhuong: but, in our case, the generator simply returns a closure 2014-05-23T13:20:46Z pkhuong: so there's little point to this constant extraction/generalisation step. 2014-05-23T13:21:48Z pkhuong: given that it'll also key in on arbitrary constants that are irrelevant to dispatch... 2014-05-23T13:22:00Z pkhuong: path dependency hell. 2014-05-23T13:35:30Z pkhuong: and, AFAICT, the input is a very restricted subset of CL 2014-05-23T13:35:47Z pkhuong: so I don't see why we even have a full blown codewalker instead of a DSL pass 2014-05-23T13:39:47Z ltbarcly joined #sbcl 2014-05-23T13:40:13Z pkhuong: I think the simplest way may be to emit analysis info as a side effect of compilation (replace closed over values with lookups in a simple-vector), and replace the hash lookup with a (move-to-first) list + per-generator predicate. 2014-05-23T13:43:04Z nyef: Hrm. There really IS a missing dead-code-elimination pass somewhere before or during CONTROL analysis, isn't there? 2014-05-23T13:43:50Z pkhuong: we don't have a real DCE pass 2014-05-23T13:44:04Z pkhuong: and yes, it would likely patch over a lot of logic bugs 2014-05-23T13:45:14Z nyef: CONTROL seems to be trying to do DCE as well as set the emit order, but it's treating all lambdas as live when that's not necessarily the case. 2014-05-23T13:45:28Z nyef: We can't even guarantee that all XEPs are live. 2014-05-23T13:45:36Z pkhuong: pretty much. 2014-05-23T13:46:01Z pkhuong: IR1 should probably end with a real DCE pass 2014-05-23T13:46:09Z pkhuong: that assumes everything is dead and moves up 2014-05-23T13:46:34Z nyef: Start from the :TOPLEVEL XEPs and work from there? 2014-05-23T13:46:47Z pkhuong: exactly. 2014-05-23T13:47:00Z pkhuong: at both the block and node level. 2014-05-23T13:47:23Z nyef: I'd settle for block level at this point. 2014-05-23T13:47:46Z nyef: How do you get a dead node in a live block? 2014-05-23T13:47:56Z pkhuong: unused result. 2014-05-23T13:48:24Z pkhuong: (rotatef a b) -> a and b are now live. 2014-05-23T13:48:37Z nyef: Hrm. 2014-05-23T13:49:05Z pkhuong: we're computing the quick and conservative fixed point, as usual ;) 2014-05-23T13:50:08Z momo-rei` joined #sbcl 2014-05-23T13:53:57Z Krystof: the noise storage-base and ignore-me storage class are an impressive bit of naming 2014-05-23T13:54:49Z momo-reina quit (Ping timeout: 265 seconds) 2014-05-23T14:02:25Z krzysz00 quit (Ping timeout: 258 seconds) 2014-05-23T14:04:02Z krzysz00 joined #sbcl 2014-05-23T14:07:00Z drmeister quit (Remote host closed the connection) 2014-05-23T14:20:29Z eudoxia quit (Quit: Lost terminal) 2014-05-23T14:26:19Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-23T14:29:21Z brown`: I built SBCL yesterday on my Raspberry Pi using Clozure to bootstrap. Thanks to everyone who worked on the ARM port!! 2014-05-23T14:32:53Z krzysz00 quit (Ping timeout: 252 seconds) 2014-05-23T14:33:50Z krzysz00 joined #sbcl 2014-05-23T14:35:40Z krzysz00: Hm ... how to dump the collation table ... 2014-05-23T14:37:54Z prxq: brown`: cool! how long did it take? 2014-05-23T14:39:07Z brown`: Not sure. After the contrib build the output has: 2014-05-23T14:39:21Z brown`: 2098.38user 78.82system 37:05.35elapsed 97%CPU 2014-05-23T14:40:47Z brown`: No, that's just part of the time. 2014-05-23T14:43:01Z drmeister joined #sbcl 2014-05-23T14:44:02Z Krystof: nicdev's build using ccl took 3h20 2014-05-23T14:57:18Z brown`: I have one problem so far with ARM SBCL. My SBCL install directory is a symbolic link: /local/software/package/sbcl -> sbcl-1.1.18-dirty and evaluating (sb-unix:unix-stat "/local/software/package/sbcl") returns an error on ARM. 2014-05-23T15:00:29Z drmeister quit (Read error: Connection reset by peer) 2014-05-23T15:03:06Z brown`: Hmmm, no that's not the root problem. 2014-05-23T15:06:42Z momo-rei` quit (Remote host closed the connection) 2014-05-23T15:14:33Z ltbarcly joined #sbcl 2014-05-23T15:29:55Z jackdaniel joined #sbcl 2014-05-23T15:34:14Z krzysz00 quit (Ping timeout: 252 seconds) 2014-05-23T15:36:02Z krzysz00 joined #sbcl 2014-05-23T15:36:03Z brown`: OK, I found the difference. On ARM (sb-unix:unix-realpath "/local/software/bin/../package/sbcl") returns NIL and 2. 2014-05-23T15:37:23Z brown`: Maybe it's a glibc difference or something. 2014-05-23T15:38:23Z Krystof: just to check: your symlink really does point to something? 2014-05-23T15:38:28Z drmeister joined #sbcl 2014-05-23T15:39:03Z Krystof: that is, your observed behaviour is consistent with a broken symlink 2014-05-23T15:39:07Z christoph_debian quit (Ping timeout: 240 seconds) 2014-05-23T15:39:11Z brown`: Sure ... if I use the realpath binary, the right thing happens: 2014-05-23T15:39:15Z brown`: realpath "/local/software/bin/../package/sbcl" 2014-05-23T15:39:24Z brown`: prints /home/brown/local/software/package/sbcl-1.1.18.572-8feebec 2014-05-23T15:41:34Z drmeiste_ joined #sbcl 2014-05-23T15:43:02Z stassats` joined #sbcl 2014-05-23T15:44:20Z Krystof: brown`: what's your distribution? 2014-05-23T15:45:10Z brown`: Raspbian, I think. 2014-05-23T15:45:17Z drmeister quit (Ping timeout: 264 seconds) 2014-05-23T15:45:20Z Krystof: so, the same as mine 2014-05-23T15:46:06Z brown`: When I run a small C program containing the code that calls realpath in runtime/wrap.c, I get the right result. 2014-05-23T15:47:11Z brown`: I just ran "gcc", however, so I may be using different args vs. what the SBCL build uses. 2014-05-23T15:48:14Z brown`: Have to run ... will play with this some more. 2014-05-23T15:48:56Z Krystof: well, could you run sbcl under gdb, break at call_into_lisp 2014-05-23T15:49:10Z Krystof: then print sb_realpath("/local/software/bin/../package/sbcl") 2014-05-23T15:49:21Z brown`: Yes, that would be productive ... hold on. 2014-05-23T15:50:03Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-23T15:50:56Z brown`: Calling sb_realpath from GDB produces the right result. 2014-05-23T15:51:08Z stassats`: stupid emacs tramp breaks after suspend&resume 2014-05-23T15:52:46Z Krystof: brown`: hm, mysterious 2014-05-23T15:52:58Z Krystof: could this have something to do with your current directory? 2014-05-23T15:53:07Z Krystof: are there some amusing relative symlinks lurking? 2014-05-23T15:53:17Z brown`: Yes. Single stepping through the C code when it's called from Lisp yields ... 2014-05-23T15:53:36Z stassats`: mysterious or not, i can reproduce 2014-05-23T15:53:36Z christoph_debian joined #sbcl 2014-05-23T15:53:54Z pkhuong: stassats`: yeah, it's a race to tramp-c-a-c 2014-05-23T15:53:57Z brown`: realpath() returns NULL and "ret" the return value contains: "/home/brown/local/software/package/\024\037\342\266-1.1.18.572-8feebec" 2014-05-23T15:54:33Z stassats`: or not, i'm passing ~ to unix-stat 2014-05-23T15:54:44Z stassats`: no, can't reproduce 2014-05-23T15:56:28Z brown`: Well, I don't think it's a Lisp bug at this point. 2014-05-23T16:01:10Z stassats`: it is really \024\037\342\266 ? 2014-05-23T16:01:15Z brown`: yes 2014-05-23T16:01:33Z stassats`: can you recreate the symlink again? 2014-05-23T16:02:06Z brown`: And it's consistent ... same value when done a secone time. I'll blow away the symlink and try again. 2014-05-23T16:02:06Z ltbarcly joined #sbcl 2014-05-23T16:04:59Z ltbarcly quit (Client Quit) 2014-05-23T16:05:16Z brown`: Yes, I remove the symlink, then recreate ... same result. Looks like maybe a library problem ?? Do you happen to know the exact command line for compiling wrap.c? 2014-05-23T16:07:15Z stassats`: is .. important? 2014-05-23T16:08:14Z Krystof: brown`: make -C src/runtime -n -B wrap.o 2014-05-23T16:08:20Z brown`: probably not ... I compiled my test program with "cc -g -marm -march=armv5" and it still works. 2014-05-23T16:11:41Z brown`: I'll do some more investigation later. Maybe realpath(3) has a cache and something in the SBCL runtime messes it up. 2014-05-23T16:12:17Z stassats`: is \024\037\342\266 on the lisp side, or is that from gdb? 2014-05-23T16:12:28Z brown`: as printed by GDB 2014-05-23T16:14:34Z brown`: Calling p sb_realpath("...") from the GDB prompt returns the right result. Setting a breakpoint in sb_realpath and passing the same file path in by calling sb-unix:unix-realpath produces the bad result. 2014-05-23T16:15:20Z stassats`: is the right string passed? 2014-05-23T16:18:20Z davazp quit (Remote host closed the connection) 2014-05-23T16:18:31Z Krystof: I had a really impressive hypothesis, but I'm out by 1. "/local/software/bin/../package/" is 31 characters 2014-05-23T16:18:32Z stassats`: brown`: can you give me the exact configuratin of your link and the path? 2014-05-23T16:19:03Z brown`: stassats`: As far as I can tell. 2014-05-23T16:22:12Z brown`: stassats`: yes. /local -> /home/brown/local 2014-05-23T16:22:31Z brown`: /home/brown/local/software/package/sbcl -> sbcl-1.1.18.572-8feebec 2014-05-23T16:23:05Z brown`: So two symbolic links. Everything else is a normal directory. 2014-05-23T16:23:07Z stassats`: are the links with absolute paths? 2014-05-23T16:23:33Z brown`: They are exactly as I wrote. One absolute and the other relative. 2014-05-23T16:23:42Z stassats`: alright 2014-05-23T16:24:00Z brown`: sigh 2014-05-23T16:24:19Z brown`: Maybe my machine just needs a reboot. 2014-05-23T16:24:21Z yacks quit (Ping timeout: 252 seconds) 2014-05-23T16:27:53Z stassats`: i recreated it, still works fine 2014-05-23T16:28:11Z brown`: ok, so it's my machine 2014-05-23T16:28:20Z brown`: thanks! 2014-05-23T16:28:24Z stassats`: what is the test you're running? 2014-05-23T16:28:40Z brown`: (sb-unix:unix-realpath "/local/software/bin/../package/sbcl") 2014-05-23T16:28:59Z stassats`: ok, now, that returns NIL 2 2014-05-23T16:29:07Z stassats`: unix-stat returned ok 2014-05-23T16:29:21Z brown`: That's the bug. 2014-05-23T16:29:53Z brown`: If you "apt-get install realpath" and run realpath on the same name it works. 2014-05-23T16:30:04Z jaimef quit (Excess Flood) 2014-05-23T16:30:34Z brown`: ok, so it's not my machine 2014-05-23T16:34:05Z jaimef joined #sbcl 2014-05-23T16:35:50Z krzysz00 quit (Ping timeout: 276 seconds) 2014-05-23T16:39:59Z krzysz00 joined #sbcl 2014-05-23T16:40:07Z stassats`: calling realpath directly works 2014-05-23T16:40:09Z brown`: Yes. Something about how SBCL calls realpath triggers the problem, since calling it from GDB directly works. 2014-05-23T16:40:20Z stassats`: calling from SBCL, that is 2014-05-23T16:44:24Z stassats`: and it produces garbage too 2014-05-23T16:49:09Z brown`: So the interesting thing I'm seeing is that GDB does not think the shared library containing realpath has been loaded yet. 2014-05-23T16:50:10Z |3b|: Krystof: 32 if you add a 0 when turning it into C string (no idea if that makes your guess more likely or not though) 2014-05-23T16:50:27Z pkhuong: |3b|: then it would likely fit just fine 2014-05-23T16:51:06Z |3b|: yeah, if the guess is the 0 gets lost then that wouldn't be a problem 2014-05-23T16:51:25Z nyef: Is the string appearing correctly, C-side? 2014-05-23T16:51:30Z stassats`: yes 2014-05-23T16:51:38Z stassats`: i'm not passing a string anymore 2014-05-23T16:51:38Z |3b| should get an arm device so i can play along also :p 2014-05-23T16:52:17Z rpg joined #sbcl 2014-05-23T16:52:19Z |3b|: anyone know if their arm device of choice has access to opengl es in whatever configuration they are running sbcl? 2014-05-23T16:53:04Z stassats`: i think mine should have opengl of some sort 2014-05-23T16:54:08Z nyef: Has anyone tried to run SBCL as a native android app yet? 2014-05-23T16:59:12Z stassats`: only one idea, stack alignment? 2014-05-23T16:59:48Z |3b|: hmm, 4core arm board w/ 300gflop GPU + 2gb ram, gbit ethernet, usb3 for $192 2014-05-23T17:00:20Z ltbarcly joined #sbcl 2014-05-23T17:01:25Z ltbarcly_ joined #sbcl 2014-05-23T17:02:18Z nyef: stassats`: It'd be Really Neat if that were the issue... Since it's one of the things that we've long known is wrong. 2014-05-23T17:02:25Z oleo quit (Read error: Connection reset by peer) 2014-05-23T17:03:01Z brown`: stassats`: From single stepping through the assembly code ... realpath calls ____lxstat64 with the bogus path "/home/brown/local/software/package/\024\037\342\266-1.1.18.572-8feebec" and it returns an error. 2014-05-23T17:03:07Z ltbarcly_ quit (Client Quit) 2014-05-23T17:03:32Z oleo joined #sbcl 2014-05-23T17:03:38Z nyef: That really is a 32-bit displacement, isn't it? 2014-05-23T17:03:51Z nyef: What's the stack pointer on entry to C? 2014-05-23T17:03:59Z stassats`: it does memcpy before calling lxstat 2014-05-23T17:04:12Z brown`: Sure, a bunch of times. 2014-05-23T17:05:41Z ltbarcly quit (Ping timeout: 264 seconds) 2014-05-23T17:07:52Z stassats`: well, it is 2014-05-23T17:08:11Z stassats`: nah, i'm calling the wrong thing 2014-05-23T17:08:36Z stassats`: but it still is an alignment issue 2014-05-23T17:08:57Z stassats`: bic nsp-tn nsp-tn 7 solves it 2014-05-23T17:12:49Z stassats`: so, do we want nsp to be aligned at all times, or just when calling into c 2014-05-23T17:12:51Z stassats`: what about signals? 2014-05-23T17:13:36Z stassats`: it does that that it has to be aligned at API points, so what constitutes them? 2014-05-23T17:15:39Z stassats`: i reckon a bic inside call_into_c should be enough 2014-05-23T17:16:27Z nyef: I'd recommend keeping it aligned at all times. 2014-05-23T17:16:41Z stassats`: any reason? 2014-05-23T17:16:49Z nyef: Simple consistency. 2014-05-23T17:17:07Z nyef: That said, whatever works. (-: 2014-05-23T17:20:33Z stassats`: my reason for not to, arms are slow and don't have much RAM, so anything to make it more bearable 2014-05-23T17:22:20Z nyef: Fair enough. 2014-05-23T17:22:46Z drmeiste_ quit (Remote host closed the connection) 2014-05-23T17:33:12Z ltbarcly joined #sbcl 2014-05-23T17:43:38Z rpg quit (Quit: rpg) 2014-05-23T17:45:09Z krzysz00: I'm looking for ideas about how to store some data (the Unicode default collation table) efficently without gobbling up too much memory. The table is a mapping from codepoints (usually 1, but currenly up to 3) to collation keys (usually 1, sometimes 2, rarely 3), which are UB32s. I'm currently dumping it to disk as a UB32 array with each entry's length tags stuffed into the high 8 bdts of the first codepoint. The only operation I ne 2014-05-23T17:47:18Z krzysz00: I was thinking hash table (list -> list), but I'm wondering if there's any better options. 2014-05-23T17:48:55Z stassats`: hashing lists isn't really fast 2014-05-23T17:54:06Z Bicyclidine joined #sbcl 2014-05-23T18:02:05Z krzysz00: stassats`: I figured 2014-05-23T18:02:32Z krzysz00: Is hashing UB{24,32} vectors any faster? 2014-05-23T18:02:45Z rpg joined #sbcl 2014-05-23T18:02:50Z stassats`: not sure 2014-05-23T18:03:52Z stassats`: but, (* 21 3) = 63, though that only will help on 64-bit platforms 2014-05-23T18:05:26Z krzysz00: That could work. 2014-05-23T18:05:42Z stassats`: hashing fixnums is fast 2014-05-23T18:06:00Z krzysz00: Krystof's composition code already hashes things that are (* 21 2) bitl, and I haven't noticed anything bad there. 2014-05-23T18:06:50Z krzysz00: *bits 2014-05-23T18:07:56Z stassats`: and to get sign-extension, (sb-c::mask-signed-field 63 (logior #x1FFFFF (ash #x1FFFFF 21) (ash #x1FFFFF 42))) => -1 2014-05-23T18:08:29Z milanj quit (Ping timeout: 252 seconds) 2014-05-23T18:10:06Z krzysz00: Any particular reason I'd want sign extension when everything I'm working with is unsigned? 2014-05-23T18:10:18Z krzysz00: ^Might be a dumb question 2014-05-23T18:11:04Z stassats`: because fixnums are 63 bit 2014-05-23T18:12:16Z nyef: What about when someone does a 61-bit-fixnum build? 2014-05-23T18:12:28Z stassats`: nyef: things will get slow 2014-05-23T18:12:58Z stassats`: on the other hand, arrays or conses can be stack allocated, so, two versions? 2014-05-23T18:13:10Z stassats`: and hashtables can always be adjusted for a particular case 2014-05-23T18:13:25Z stassats`: or, stack-allocating bignums? 2014-05-23T18:13:27Z angavrilov quit (Remote host closed the connection) 2014-05-23T18:13:38Z stassats`: you can already do that, can't you? 2014-05-23T18:14:02Z nyef: Stack-allocated bignums? That's a neat idea... 2014-05-23T18:14:42Z krzysz00: stassats`: I just DPB into that -1, right? 2014-05-23T18:15:45Z stassats`: no, bignums are var-alloc 2014-05-23T18:16:00Z stassats`: krzysz00: that will work too 2014-05-23T18:16:23Z stassats`: or not 2014-05-23T18:17:19Z stassats`: i can't think of another way other than sb-c::mask-signed-field 63 2014-05-23T18:17:56Z krzysz00: (dpb cp1 (byte 21 42) ... (sb-c::mask-signed-field 63 ...)) was what I was thinking I would do with that value, but I might be wrong. 2014-05-23T18:18:37Z stassats`: you build an unsigned-byte 64 value, then mask-signed-field it 2014-05-23T18:19:06Z krzysz00: Makes sense. 2014-05-23T18:19:25Z stassats`: just like in (sb-c::mask-signed-field 63 (logior #x1FFFFF (ash #x1FFFFF 21) (ash #x1FFFFF 42))) 2014-05-23T18:19:37Z stassats`: where #x1FFFFF is a code-point 2014-05-23T18:20:02Z stassats`: basically, you are using the sign bit for storing information 2014-05-23T18:20:36Z krzysz00: Neat trick, thanks! 2014-05-23T18:20:58Z stassats`: just check with (optimize speed) that everything is optimized away 2014-05-23T18:21:08Z Bicyclidine quit (Ping timeout: 265 seconds) 2014-05-23T18:22:09Z stassats`: (defun make-something (a b c) (declare (type (unsigned-byte 21) a b c)) (sb-c::mask-signed-field 63 (logior a (ash b 21) (ash c 42)))) disassembly looks neat 2014-05-23T18:25:08Z krzysz00: SELF-TODO: Learn some assembly 2014-05-23T18:27:23Z sdemarre joined #sbcl 2014-05-23T18:32:54Z stassats`: ok, my bic 7 successfully breaks something 2014-05-23T18:34:07Z nyef: stassats`: ... Unwinding? 2014-05-23T18:34:13Z stassats`: no idea 2014-05-23T18:34:56Z stassats`: the thing just freezes 2014-05-23T18:35:02Z stassats`: or rather, spins 2014-05-23T18:35:16Z nyef: backtrace? 2014-05-23T18:35:46Z milanj joined #sbcl 2014-05-23T18:35:55Z stassats`: #4 0x00022890 in collect_garbage (ignore=0 '\000') at cheneygc.c:182 #5 0x00023274 in call_into_c () at arm-assem.S:236 2014-05-23T18:37:37Z stassats`: it seems to be at random points when i interurpt 2014-05-23T18:37:58Z stassats`: maybe printing just got broken? 2014-05-23T18:39:55Z nyef: How's gencgc going? 2014-05-23T18:40:08Z Krystof: which way does the stack grow? 2014-05-23T18:41:02Z stassats`: down 2014-05-23T18:41:21Z Krystof: the number stack, that is 2014-05-23T18:41:37Z stassats`: right 2014-05-23T18:42:07Z stassats`: maybe i need a full recompile, let's try bic 0 2014-05-23T18:44:14Z stassats`: or maybe it expects the arguments at the top of the stack 2014-05-23T18:45:01Z nyef: You're aligning before moving arguments, right? 2014-05-23T18:45:21Z stassats`: after, i think that's my problem 2014-05-23T18:45:39Z Krystof: yes 2014-05-23T18:45:47Z Krystof: well, both 2014-05-23T18:45:49Z Krystof: dunno 2014-05-23T18:46:45Z stassats`: so, i need to do it in alloc-number-stack-space, but i won't be able to reverse it exactly in dealloc-number-stack-space 2014-05-23T18:47:04Z nyef: Dare I suggest simply keeping the stack aligned in the first place? 2014-05-23T18:47:29Z stassats`: no! 2014-05-23T18:48:08Z Krystof: I say yes please 2014-05-23T18:48:38Z stassats`: in reality, i just don't know how to really ensure that it's aligned 2014-05-23T18:49:17Z stassats`: so, i'll do this now 2014-05-23T18:52:11Z asedeno_ is now known as asedeno 2014-05-23T18:53:45Z sdemarre quit (Ping timeout: 258 seconds) 2014-05-23T18:56:39Z stassats`: that didn't fix unix-realpath 2014-05-23T18:57:46Z stassats`: of course, there's no allocation happening 2014-05-23T19:00:11Z stassats`: actually, i don't think we have things which will benefit from 4-byte alignment 2014-05-23T19:01:00Z stassats`: or no, there are 2014-05-23T19:01:39Z stassats`: i'll align in alloc-number-stack-space for now 2014-05-23T19:11:34Z sdemarre joined #sbcl 2014-05-23T19:18:19Z segv- quit (Ping timeout: 240 seconds) 2014-05-23T19:21:07Z segv- joined #sbcl 2014-05-23T19:23:02Z stassats`: a segfault during running pure tests 2014-05-23T19:28:52Z stassats`: i give in, how do i ensure 8 byte alignment at all times? 2014-05-23T19:31:10Z stassats`: there's bytes-needed-for-non-descriptor-stack-frame, but is it needed if the non-descriptor-stack is defined with :size-alignment 2? 2014-05-23T19:31:46Z Krystof: I suspect so 2014-05-23T19:32:21Z Krystof: just cause you say :size-alignment 2 doesn't really mean that the system knows how to do that 2014-05-23T19:32:57Z stassats`: looks like it was added by pkhuong in 2013 2014-05-23T19:33:04Z stassats`: that explains why it wasn't used anywhere 2014-05-23T19:33:13Z stassats`: let's it try then 2014-05-23T19:35:05Z stassats`: and is bytes-needed-for-non-descriptor-stack-frame the longest function name? 2014-05-23T19:36:07Z stassats`: not by a long shot 2014-05-23T19:36:34Z stassats`: make-optimized-structure-setf-slot-value-using-class-method-function 2014-05-23T19:51:07Z stassats`: gah, that didn't help 2014-05-23T19:51:14Z stassats`: now, let's try size-increment 2014-05-23T19:56:04Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-23T19:56:14Z drmeister joined #sbcl 2014-05-23T19:57:22Z stassats`: that didn't help either 2014-05-23T20:11:42Z stassats`: i guess call_into_lisp is to blame 2014-05-23T20:15:32Z stassats`: yep 2014-05-23T20:38:56Z krzysz00 quit (Ping timeout: 276 seconds) 2014-05-23T20:40:26Z krzysz00 joined #sbcl 2014-05-23T20:40:53Z mega1 quit (Ping timeout: 276 seconds) 2014-05-23T20:42:39Z stassats`: on the 10th try, everything seems to work so far 2014-05-23T20:45:16Z drmeiste_ joined #sbcl 2014-05-23T20:49:20Z drmeister quit (Ping timeout: 276 seconds) 2014-05-23T20:50:04Z stassats`: brown`: your issue should be now solved 2014-05-23T20:53:06Z edgar-rft joined #sbcl 2014-05-23T20:53:14Z brown`: Awesome!! 2014-05-23T20:55:31Z rpg_ joined #sbcl 2014-05-23T20:55:41Z brown`: I'm curious about why 32-bit ARM requires 8-byte alignment. Is it a gcc thing? 2014-05-23T20:55:50Z nyef: It's a double-float thing. 2014-05-23T20:56:29Z brown`: Just for hard float, or for both hard and soft? 2014-05-23T20:57:12Z nyef: For some strange reason, ABI designers like to specify a stack frame alignment that is sufficient for the highest alignment requirement of the machine's native data types. 2014-05-23T20:59:10Z brown`: Maybe that's more robust in the face of architectural changes. If the hardware CPU ever evolves to outlaw unaligned access to wide types, the API is still OK. 2014-05-23T20:59:26Z rpg quit (Ping timeout: 252 seconds) 2014-05-23T20:59:55Z brown`: Anyway, thanks everyone!! Compiling the latest ARM SBCL now ... 2014-05-23T20:59:55Z stassats`: cpus usually evolve to allow more unaligned access 2014-05-23T21:00:09Z nyef: Mmm. ALPHA, for example. 2014-05-23T21:01:14Z nyef: So, I haven't heard anything about the supposed CMUCL ARM port in a while, has anyone else? (-: 2014-05-23T21:01:19Z brown`: I was thinking about the 68K architecture. Maybe I reversed the alignment restrictions of 68K vs. 68030 ... 2014-05-23T21:02:11Z nyef: ... No, I'm not curious enough to get up, walk five steps, and grab my 68k manuals off the shelf. 2014-05-23T21:03:05Z p_l: optimization? didn't x86 move around having 8bit accesses and in general unaligned ones becoming more expensive, till nehalem or so? 2014-05-23T21:04:08Z nyef: Cache effects generally? 2014-05-23T21:04:32Z p_l: nyef: can also be effects of whatever memory bus is involved 2014-05-23T21:04:37Z nyef: A full stack frame being more likely to fit a cache line if it's aligned to some degree? 2014-05-23T21:09:20Z krzysz00 quit (Ping timeout: 265 seconds) 2014-05-23T21:11:05Z krzysz00 joined #sbcl 2014-05-23T21:11:42Z ltbarcly joined #sbcl 2014-05-23T21:22:33Z drmeiste_ quit (Read error: Connection reset by peer) 2014-05-23T21:29:27Z sdemarre quit (Ping timeout: 245 seconds) 2014-05-23T21:31:21Z drmeister joined #sbcl 2014-05-23T21:32:16Z drmeister quit (Read error: Connection reset by peer) 2014-05-23T21:36:19Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-23T21:39:00Z krzysz00: Apparently, U+FDFA goes to 18 collation keys, so I have to mess with the bit-bashing again. 2014-05-23T21:39:23Z stassats`: uffda 2014-05-23T21:45:42Z stassats`: krzysz00: what about tries? 2014-05-23T21:47:57Z ltbarcly joined #sbcl 2014-05-23T21:52:58Z stassats`: maybe something like radix tree? 2014-05-23T21:53:08Z stassats`: and using bytes 2014-05-23T21:58:33Z krzysz00: Well the lookup keys aren't (checked with an assert) ever longer than three codepoints, but the values (which are UB32 vectors) can go up to length 18 in that one case. 2014-05-23T21:58:46Z krzysz00: I just had to make the length tag longer, and that solved a bunch of issues. 2014-05-23T21:59:15Z stassats`: but you don't need to go from 18 characters to U+FFDA? 2014-05-23T22:00:10Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-23T22:01:26Z krzysz00: Nope. 2014-05-23T22:01:32Z milanj quit (Ping timeout: 245 seconds) 2014-05-23T22:01:37Z stassats`: because you don't want to? 2014-05-23T22:02:06Z krzysz00: They're actually not characters, they're tightly packed sort keys. 2014-05-23T22:02:19Z krzysz00: (The values in the hash.) 2014-05-23T22:04:41Z stassats`: so, there is no reverse operation? 2014-05-23T22:05:14Z stassats`: (equal (reverse (sb-impl::normalize-string "ﷺ" :nfkc)) "ﷺ") => T 2014-05-23T22:05:30Z krzysz00: Not for collation, no. 2014-05-23T22:06:10Z krzysz00: For normalization, yes, but that's a different structure. 2014-05-23T22:09:47Z krzysz00: The algorithm boils down to 1) Find best matches for each piece of the string in the table 2) MInor fiddly bits 3) Stick all the sort keys together in a particular way 4) Compare sort keys with < to see which string goes first 2014-05-23T22:21:45Z rpg_ quit (Quit: rpg_) 2014-05-23T22:25:23Z eudoxia joined #sbcl 2014-05-23T22:25:51Z krzysz00: stassats`: :nfkd, on the other hand, expands U+FDFA out a bunch. 2014-05-23T22:42:30Z stassats`: next release, port to hurd 2014-05-23T22:52:34Z drmeister joined #sbcl 2014-05-23T22:57:34Z |3b|: what is the distribution of the size of values? maybe just store 1 or 2 values and have a separate lookup for the others if they are uncommon? 2014-05-23T23:12:11Z ehaliewicz joined #sbcl 2014-05-23T23:24:11Z DGASAU quit (Ping timeout: 252 seconds) 2014-05-23T23:24:55Z DGASAU joined #sbcl 2014-05-23T23:40:28Z ltbarcly joined #sbcl 2014-05-23T23:55:56Z eudoxia quit (Quit: Lost terminal) 2014-05-23T23:56:23Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-24T00:33:04Z drmeister quit (Quit: Leaving...) 2014-05-24T00:35:32Z brown`: Build time for ARM SBCL on Raspberry Pi using CCL is 3.5 hours. 2014-05-24T00:48:44Z nyef: And a good chunk of that is in target-2 or target-contrib. 2014-05-24T00:49:59Z stassats`: gencgc should makes things smoother 2014-05-24T00:55:26Z stassats` quit (Ping timeout: 240 seconds) 2014-05-24T01:11:18Z eudoxia joined #sbcl 2014-05-24T01:13:29Z krzysz00 quit (Ping timeout: 264 seconds) 2014-05-24T01:15:18Z krzysz00 joined #sbcl 2014-05-24T01:19:07Z psilord quit (Ping timeout: 240 seconds) 2014-05-24T01:19:45Z nyef: clhs defstruct 2014-05-24T01:19:45Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/m_defstr.htm 2014-05-24T01:28:38Z prxq_ joined #sbcl 2014-05-24T01:32:05Z prxq quit (Ping timeout: 264 seconds) 2014-05-24T02:25:39Z nyef: Hunh. MAKE-LISP-OBJ considers any 21-bits sitting on top of a character-widetag to be a valid character, so long as the remaining higher bits are zero. 2014-05-24T02:26:02Z nyef: Here's hoping that we don't need more than 21 bits of char-code-limit. 2014-05-24T02:26:56Z nyef: ... Or run into a version of the system compiled with an 8-bit code limit. That could also get awkward. 2014-05-24T02:39:17Z christoph_debian quit (Ping timeout: 264 seconds) 2014-05-24T02:46:35Z krzysz00: nyef: Currently (and I bileive forever) Unicode doesn't go above #x10FFFD (I think #x10FFFF is a reserved noncharacter or something), so 21 bits should be enough. 2014-05-24T02:46:39Z zRecursive joined #sbcl 2014-05-24T02:47:15Z nyef: Not quite my point, but good to know. 2014-05-24T02:47:45Z nyef: What I'm really getting at here is that it's possible to create character objects that don't correspond to anything useful, and could possibly break non-gc parts of the system. 2014-05-24T02:47:56Z nyef: (They won't phase the GC, though, FWIW.) 2014-05-24T02:48:45Z p_l ponders possibility of some extra handling sticking extra bits into "character" entry to help deal with complexities of Unicode 2014-05-24T02:53:20Z christoph_debian joined #sbcl 2014-05-24T02:56:30Z krzysz00: p_l: not planning on it 2014-05-24T02:57:05Z p_l: krzysz00: just figured that if the code tried to handle characters instead of codepoints, it might have happened 2014-05-24T02:57:25Z krzysz00: True. 2014-05-24T02:57:25Z p_l: the 21bit format is already a boon compared to 16bit :) 2014-05-24T02:57:54Z krzysz00: I was thinking of (once the main project is done) adding another sort of string that would handle characters. 2014-05-24T02:58:27Z krzysz00: I already have grapheme breaking on my branch. 2014-05-24T02:59:49Z p_l: krzysz00: given that it's doubtful that unicode will expand codepoints beyond 21 bit encoding, some bits could be reused without much trouble... but oh well :) 2014-05-24T03:00:49Z krzysz00: Yeah. I already hung around LDB a bunch with the Great Database Rewrite (tm). I don't have the urge to go cracking open deep internals anytame soon. 2014-05-24T03:01:14Z ehaliewicz quit (Read error: Connection reset by peer) 2014-05-24T03:01:16Z krzysz00: I'll stick the idea at the back of my head. 2014-05-24T03:01:47Z jsnell_ quit (Ping timeout: 276 seconds) 2014-05-24T03:02:23Z p_l figured using the bits to point "this codepoint is part of character with previous one" or similar 2014-05-24T03:10:19Z eudoxia quit (Quit: leaving) 2014-05-24T03:11:24Z pranavrc joined #sbcl 2014-05-24T03:26:14Z edgar-rft quit (Ping timeout: 240 seconds) 2014-05-24T03:26:23Z jsnell joined #sbcl 2014-05-24T03:27:59Z zRecursive quit (Remote host closed the connection) 2014-05-24T03:33:00Z edgar-rft joined #sbcl 2014-05-24T03:53:55Z drmeister joined #sbcl 2014-05-24T04:07:17Z tmh_ quit (Ping timeout: 258 seconds) 2014-05-24T04:16:31Z krzysz00 quit (Ping timeout: 252 seconds) 2014-05-24T04:18:20Z nyef quit (Quit: G'night all.) 2014-05-24T04:18:29Z krzysz00 joined #sbcl 2014-05-24T04:19:21Z ehaliewicz joined #sbcl 2014-05-24T04:25:45Z pranavrc quit (Remote host closed the connection) 2014-05-24T04:32:04Z attila_lendvai joined #sbcl 2014-05-24T04:47:32Z krzysz00 quit (Ping timeout: 265 seconds) 2014-05-24T04:48:54Z momo-reina joined #sbcl 2014-05-24T04:49:07Z krzysz00 joined #sbcl 2014-05-24T05:04:21Z oleo quit (Read error: Connection reset by peer) 2014-05-24T05:04:48Z attila_lendvai quit (Quit: Leaving.) 2014-05-24T05:05:36Z oleo joined #sbcl 2014-05-24T05:11:42Z tmh_ joined #sbcl 2014-05-24T05:12:13Z milanj joined #sbcl 2014-05-24T05:12:55Z milanj quit (Client Quit) 2014-05-24T05:15:13Z attila_lendvai joined #sbcl 2014-05-24T05:15:13Z attila_lendvai quit (Changing host) 2014-05-24T05:15:13Z attila_lendvai joined #sbcl 2014-05-24T05:18:09Z stassats` joined #sbcl 2014-05-24T05:25:02Z les_ quit (Ping timeout: 240 seconds) 2014-05-24T05:27:41Z prxq_ is now known as prxq 2014-05-24T05:32:28Z les joined #sbcl 2014-05-24T05:32:28Z les quit (Changing host) 2014-05-24T05:32:28Z les joined #sbcl 2014-05-24T05:44:11Z psilord joined #sbcl 2014-05-24T05:44:16Z les quit (Ping timeout: 258 seconds) 2014-05-24T05:51:05Z les joined #sbcl 2014-05-24T06:12:13Z john3213 joined #sbcl 2014-05-24T06:15:01Z DGASAU quit (Ping timeout: 265 seconds) 2014-05-24T06:17:16Z john3213 left #sbcl 2014-05-24T06:22:35Z mega1 joined #sbcl 2014-05-24T06:27:16Z sdemarre joined #sbcl 2014-05-24T06:31:59Z mega1 quit (Ping timeout: 252 seconds) 2014-05-24T06:37:57Z attila_lendvai1 joined #sbcl 2014-05-24T06:37:57Z attila_lendvai quit (Disconnected by services) 2014-05-24T06:37:57Z attila_lendvai1 quit (Changing host) 2014-05-24T06:37:57Z attila_lendvai1 joined #sbcl 2014-05-24T06:56:51Z DGASAU joined #sbcl 2014-05-24T07:05:58Z DGASAU` joined #sbcl 2014-05-24T07:07:44Z DGASAU quit (Ping timeout: 252 seconds) 2014-05-24T07:08:36Z stassats` quit (Ping timeout: 258 seconds) 2014-05-24T07:41:32Z sdemarre quit (Ping timeout: 265 seconds) 2014-05-24T07:57:35Z sdemarre joined #sbcl 2014-05-24T08:18:03Z krzysz00_ joined #sbcl 2014-05-24T08:21:07Z krzysz00 quit (Ping timeout: 245 seconds) 2014-05-24T08:33:51Z erikvarga joined #sbcl 2014-05-24T08:52:08Z krzysz00_ quit (Ping timeout: 276 seconds) 2014-05-24T08:53:46Z krzysz00 joined #sbcl 2014-05-24T09:54:31Z yacks joined #sbcl 2014-05-24T10:20:27Z DGASAU` is now known as DGASAU 2014-05-24T10:55:32Z ehaliewicz quit (Ping timeout: 258 seconds) 2014-05-24T11:03:22Z stassats` joined #sbcl 2014-05-24T11:21:10Z angavrilov joined #sbcl 2014-05-24T11:23:31Z krzysz00 quit (Ping timeout: 258 seconds) 2014-05-24T11:25:27Z krzysz00 joined #sbcl 2014-05-24T11:45:26Z nyef joined #sbcl 2014-05-24T11:59:32Z momo-reina quit (Remote host closed the connection) 2014-05-24T12:09:39Z edgar-rft quit (Quit: session ended because no effect found) 2014-05-24T13:08:27Z attila_lendvai1 quit (Ping timeout: 252 seconds) 2014-05-24T13:36:19Z segv- quit (Ping timeout: 240 seconds) 2014-05-24T14:26:57Z davazp joined #sbcl 2014-05-24T14:41:32Z erikvarga quit (Ping timeout: 245 seconds) 2014-05-24T14:44:59Z davazp quit (Remote host closed the connection) 2014-05-24T14:52:28Z ltbarcly joined #sbcl 2014-05-24T14:57:40Z ASau joined #sbcl 2014-05-24T15:02:12Z mega1 joined #sbcl 2014-05-24T15:31:56Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-24T15:35:58Z carvite quit (Ping timeout: 252 seconds) 2014-05-24T15:37:26Z tmh_ quit (Ping timeout: 252 seconds) 2014-05-24T16:00:59Z carvite joined #sbcl 2014-05-24T16:06:39Z Blkt_ is now known as Blkt 2014-05-24T16:12:31Z pkhuong: Krystof: pattern specialisers seem to recompile the discriminating function at each invocation. 2014-05-24T16:46:32Z pkhuong: and there seems to be issues with pattern that have the same shape but bind different variables 2014-05-24T16:47:44Z Krystof: I need to look at the stuff I've merged, clearly 2014-05-24T16:50:03Z Krystof: so unlikely to make a paper deadline :-( 2014-05-24T16:57:17Z eudoxia joined #sbcl 2014-05-24T16:59:41Z erikvarga joined #sbcl 2014-05-24T17:03:05Z pkhuong: well, at least the stuff is seeing use on fairly complicated patterns 2014-05-24T17:09:36Z pkhuong: the IGNORE declaration in discriminating function also doesn't work 2014-05-24T17:09:56Z pkhuong: optima emits nested LETs, and it sometimes reports variables that aren't actually bound. 2014-05-24T17:10:32Z oleo quit (Ping timeout: 252 seconds) 2014-05-24T17:14:33Z drmeister quit (Quit: Leaving...) 2014-05-24T17:16:04Z stassats`: having a go at gencgc 2014-05-24T17:20:26Z ASau quit (Ping timeout: 276 seconds) 2014-05-24T17:21:16Z ASau joined #sbcl 2014-05-24T17:27:50Z slyrus joined #sbcl 2014-05-24T17:30:58Z oleo joined #sbcl 2014-05-24T17:33:42Z attila_lendvai joined #sbcl 2014-05-24T17:33:42Z attila_lendvai quit (Changing host) 2014-05-24T17:33:42Z attila_lendvai joined #sbcl 2014-05-24T17:34:34Z ltbarcly joined #sbcl 2014-05-24T17:34:54Z stassats`: confused at pseudo-atomic.h macros 2014-05-24T17:35:16Z nyef: Not entirely surprised, they were bad enough to begin with, and only got more confusing over time. 2014-05-24T17:35:20Z tmh_ joined #sbcl 2014-05-24T17:35:32Z stassats`: why does it touch dynamic_space_free_pointer? 2014-05-24T17:35:49Z nyef: In which of several versions? 2014-05-24T17:36:02Z stassats`: non-x86-non-sb-thread 2014-05-24T17:36:48Z stassats`: i guess i have to do what x86 does 2014-05-24T17:37:20Z nyef: Yeah, we need to use the x86oid versions. 2014-05-24T17:37:43Z nyef: The other is for systems with reg_ALLOC, where traditionally we also use a couple of bits for P-A bits. 2014-05-24T17:37:55Z stassats`: i see 2014-05-24T17:38:25Z nyef: Actually, it's even worse: We have separate P-A-A and P-A-I symbols. 2014-05-24T17:39:08Z nyef: ... This really needs to be broken up along a few different lines. /-: 2014-05-24T17:40:10Z nyef: And having a non-conservative x86-64 build option is looking better all the time, just to force a lot of x86oid cruft into breaking apart in favor of more descriptive features. 2014-05-24T17:41:04Z stassats`: now to learn gcc inline asm 2014-05-24T17:41:30Z nyef: Oh, for the P-A noise? 2014-05-24T17:41:35Z stassats`: yep 2014-05-24T17:41:54Z nyef: Don't bother. 2014-05-24T17:42:04Z stassats`: why? 2014-05-24T17:42:31Z stassats`: why does get_pseudo_atomic_atomic logands with -1? 2014-05-24T17:42:36Z nyef: Because that's R-M-W noise for x86oids, really. 2014-05-24T17:42:56Z stassats`: so, i'm to use C? 2014-05-24T17:43:14Z stassats`: how atomic is that? 2014-05-24T17:43:58Z nyef: Hrm. Why *IS* this like this? 2014-05-24T17:44:16Z stassats`: an eternal question 2014-05-24T17:44:21Z nyef: Right. 2014-05-24T17:44:43Z nyef: I suspect that this is largely because x86oids use a single P-A-BITS symbol. 2014-05-24T17:45:28Z stassats`: i'd want ARM to use a single symbol too, but later 2014-05-24T17:45:34Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-24T17:45:40Z pkhuong: wee. ANF-style continuation and stepper transforms work independently and compose fine 2014-05-24T17:46:28Z nyef: There's a couple of reasons why we use separate symbols, one of which being the cutesy end-of-P-A sequence that we use with the conditional syscall. 2014-05-24T17:46:38Z pkhuong: you get to choose if you want to trace the ANF transform's output, or get delimited continuations on top of the tracing code. 2014-05-24T17:47:11Z stassats`: nyef: i know, but there's surely some hidden trick 2014-05-24T17:47:13Z Krystof: pkhuong: recompile the discriminating function, or the dispatch network? 2014-05-24T17:47:23Z pkhuong: Krystof: the dispatch network seems more likely. 2014-05-24T17:48:14Z pkhuong: It's recompiling the part when you frob the pattern matching code to only return T/NIL and ignore any capture variable (I mostly notice because the ignore bit is wrong). 2014-05-24T17:48:49Z Krystof: next question: is scymtym awake? :-) 2014-05-24T17:49:11Z pkhuong: stassats`: it's ~1, not -1. 2014-05-24T17:49:14Z stassats`: now i need to get PC in the c version 2014-05-24T17:49:32Z nyef: Why do you need PC? 2014-05-24T17:49:50Z pkhuong: We use odd/even because that way we can just store a fixnum-aligned value (e.g., RBP) to clear the PA flag. 2014-05-24T17:50:05Z stassats`: pkhuong: ah, right, that leaves the first bit clear 2014-05-24T17:50:23Z stassats`: nyef: to get something larger than NULL? 2014-05-24T17:50:49Z stassats`: 1+null could work 2014-05-24T17:51:34Z nyef: P-A-A itself would work. 2014-05-24T17:52:35Z nyef: Oh, hell. Have a look at the P-A entry sequences in arm-assem.S and tell me what's wrong with them. 2014-05-24T17:52:58Z pkhuong: 1315 style warnings, all from PCL ;) 2014-05-24T17:55:29Z stassats`: and there are already pa functions in arm-arch.c 2014-05-24T17:55:33Z stassats`: why the duplication? 2014-05-24T17:56:36Z stassats`: but, i don't care about style now 2014-05-24T17:56:38Z nyef: Because x86oids are weird? 2014-05-24T17:58:23Z nyef: Ah! And one set is for gencgc use, while the other is the more general version which needs to be updated, compare mips-arch.c to ppc-arch.c. 2014-05-24T17:58:45Z nyef: Umm... Oh, hell. 2014-05-24T17:59:10Z nyef: Wasn't there something mentioned recently about SPARC having occasional issues with gencgc and somethingorother? 2014-05-24T17:59:30Z stassats`: with signals 2014-05-24T17:59:43Z stassats`: so, what did you see wrong in arm-assem.S? 2014-05-24T17:59:45Z nyef: Compare sparc-arch.c as well. 2014-05-24T18:00:04Z nyef: In arm-assem.S? Typically, the runtime loads below static-space. 2014-05-24T18:00:25Z nyef: With obvious implications for the value of pc. 2014-05-24T18:00:48Z attila_lendvai quit (Disconnected by services) 2014-05-24T18:00:48Z attila_lendvai1 joined #sbcl 2014-05-24T18:00:48Z attila_lendvai1 quit (Changing host) 2014-05-24T18:00:48Z attila_lendvai1 joined #sbcl 2014-05-24T18:02:57Z stassats`: C code used != 2014-05-24T18:03:04Z stassats`: not > 2014-05-24T18:03:27Z nyef: Hrm. 2014-05-24T18:03:48Z nyef: Ugh. Too much stuff in my head right now to try and figure this one out. 2014-05-24T18:04:04Z stassats`: it's not clear why assembly is using LT 2014-05-24T18:04:43Z nyef: Because it looked like it would work, and meant that NE/EQ was still available for other possible conditional traps. 2014-05-24T18:05:37Z nyef: If you decide to change it, remember that you also need to fix up the corresponding bit in arm-arch.c. 2014-05-24T18:06:19Z pkhuong: Krystof: I think we have an ILC paper ;) 2014-05-24T18:09:48Z nyef: ... Why do the SVREF and %SVSET transforms use declared element type rather than specialized element type? 2014-05-24T18:11:22Z pkhuong: nyef: because we can, and it can give slightly tighter code downstream. 2014-05-24T18:11:43Z pkhuong: http://paste.lisp.org/display/142686 2014-05-24T18:12:18Z nyef: lp 1258716 begs to differ. 2014-05-24T18:12:23Z nyef: lp 1258716 2014-05-24T18:12:23Z specbot: https://bugs.launchpad.net/bugs/1258716 2014-05-24T18:13:24Z nyef: Declared is a bogus type, so the data-vector-ref templates can't fire, but specialized is wild-type, so... 2014-05-24T18:14:51Z pkhuong: but that's unrelated to the transforms. 2014-05-24T18:15:31Z pkhuong: d-v-ref is perhaps to blame. 2014-05-24T18:15:54Z pkhuong: or really, the source transform should just pass on bogus element types. 2014-05-24T18:16:17Z nyef: Right, so I'll update the bug a bit more, and then move on. 2014-05-24T18:16:30Z angavrilov quit (Remote host closed the connection) 2014-05-24T18:17:32Z stassats`: ok, got the runtime to build 2014-05-24T18:20:23Z Krystof: pkhuong: glad to hear it! (be sure to cite every single other SBCL paper in the history of the universe, for maximum h-index gamification) 2014-05-24T18:20:24Z Krystof: http://program-transformation.org/GPCE14/CallForPapers 2014-05-24T18:20:43Z Krystof: I was hoping to get pattern specializers into an interesting enough shape for GPCE, but realistically that's not going to happen :-( 2014-05-24T18:20:58Z stassats`: no, it won't work, i need to save descriptor registers on the descriptor stack 2014-05-24T18:21:09Z Krystof: a week is theoretically long enough, but a week where I'm at a musicology workshop and a pedagogy conference? Unlikely 2014-05-24T18:22:40Z pkhuong: I just don't know the scheme field well enough for the lit review. 2014-05-24T18:23:11Z Krystof: pkhuong: so there's one obvious place in the code where recompilation happens every time 2014-05-24T18:23:12Z Krystof: ;; TODO store in specializer later 2014-05-24T18:23:26Z Krystof: but that's on something that should only be called if the generalizer protocol is not doing its job 2014-05-24T18:24:03Z pkhuong: I only see tons of recompilation when I invoke methods specialised on two different classes (both trace and stackhack) 2014-05-24T18:28:24Z Krystof: waaaait 2014-05-24T18:28:33Z Krystof: where's generalizer-of-using-class 2014-05-24T18:30:05Z Krystof: no, wait, I have a different question 2014-05-24T18:30:08Z Krystof: why is git grep lying to me 2014-05-24T18:30:48Z pkhuong: wrong branch? or file accidentally not committed. 2014-05-24T18:31:24Z Krystof: or a consistent inability to reliably distinguish between generalizer and specializer 2014-05-24T18:31:46Z nyef: clhs return 2014-05-24T18:31:46Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/m_return.htm 2014-05-24T18:32:38Z attila_lendvai1 quit (Quit: Leaving.) 2014-05-24T18:36:15Z nyef: If I say (block nil (let ((foo ...)) (declare (dynamic-extent foo)) (return (bar foo))), does FOO get de-allocated before calling BAR? 2014-05-24T18:37:01Z stassats`: control stack is full ascending, isn't it? 2014-05-24T18:37:38Z nyef: Empty ascending. 2014-05-24T18:37:50Z nyef: number stack is full descending. 2014-05-24T18:37:54Z stassats`: blimey 2014-05-24T18:38:38Z Krystof: pkhuong: do you mean "generic functions with methods between them specialized on two different classes"? 2014-05-24T18:39:11Z pkhuong: nyef: It shouldn't. (DX and TCO combine to make everything complicated) 2014-05-24T18:39:36Z pkhuong: Krystof: sounds like how i'd describe the issue if I understood PCL better ;) 2014-05-24T18:39:39Z nyef: Yeah, I figured that it shouldn't. I'm looking for the guarantee in CLHS, though. 2014-05-24T18:40:29Z pkhuong: nyef: I don't see why they'd need to explicitly call out that case. 2014-05-24T18:40:54Z pkhuong: (bar foo) is regular evaluation. 2014-05-24T18:41:07Z eudoxia quit (Quit: leaving) 2014-05-24T18:41:12Z nyef: It's the use of RETURN, which is a special operator. 2014-05-24T18:41:47Z Krystof: and you're specializing on classes not on optima:class patterns? 2014-05-24T18:42:08Z pkhuong: Krystof: right 2014-05-24T18:42:27Z nyef: Hrm. 2014-05-24T18:42:36Z pkhuong: nyef: which is only in play once (BAR FOO) has been fully evaluated. 2014-05-24T18:42:45Z stassats`: control stack is aligned in some way? 2014-05-24T18:42:54Z nyef: That's what I figure, but I'm looking for the language in the spec that guarantees that. 2014-05-24T18:43:09Z stassats`: i guess i can just save reg_null there 2014-05-24T18:43:16Z nyef: Control stack isn't especially aligned, IIRC. 2014-05-24T18:43:32Z nyef: It's always word aligned, but we have align-csp for a reason. 2014-05-24T18:43:35Z Krystof: ok, I see some recompilation 2014-05-24T18:44:19Z pkhuong: I think I really want CONS specialisers though 2014-05-24T18:45:04Z Krystof: those are more likely to work without whining today 2014-05-24T18:46:07Z pkhuong: (or silently binding variables to NIL ;) 2014-05-24T18:46:33Z stassats`: ok, saving on the stack tramp ready, let's try to run it 2014-05-24T18:48:32Z Krystof: ah, I think you might be a victim of my reworking of scymtym's patches without testing 2014-05-24T18:48:44Z Krystof: are your problematic methods specializing on exactly one arg? 2014-05-24T18:50:15Z Krystof: because if so it's all my fault 2014-05-24T18:50:19Z pkhuong: They all do (defmethod walk/pattern ((hook hook-class) (reason (eql ...)) (form (pattern ...)) ...) 2014-05-24T18:50:35Z pkhuong: Plus one that has a pattern instead of EQL 2014-05-24T18:51:36Z Krystof: that looks less likely to be my fault but I have definitely found at least one problem 2014-05-24T18:54:25Z stassats`: i expect a cold-init crash 2014-05-24T18:55:04Z stassats`: how did i guess that? 2014-05-24T18:56:40Z Krystof: woot, caching 2014-05-24T18:56:53Z Krystof: caching *and* variable binding 2014-05-24T18:58:52Z Krystof: it works! 2014-05-24T18:58:59Z stassats`: maybe i need to build a better frame in alloc_tramp 2014-05-24T18:59:03Z prxq quit (Remote host closed the connection) 2014-05-24T18:59:21Z Krystof: (it works best if everything is a pattern specializer; there's clearly plenty of interop work to do. Maybe this will be ready for _next_ year's conference season...) 2014-05-24T19:01:41Z Krystof: (defmethod bar ((x (pattern-specializer:pattern (list x1 x2))) (y (pattern-specializer:pattern (class symbol)))) (list x x1 x2 y)) 2014-05-24T19:02:00Z Krystof: (bar (list 3 5) t) ; => ((3 5) 3 5 t) and no complaints 2014-05-24T19:08:25Z pkhuong: Krystof: I also get a lot of "can't find type for specializer (CONS PROGN) in SB-PCL::PARAMETER-SPECIALIZER-DECLARATION-IN-DEFMETHOD." 2014-05-24T19:08:44Z Krystof: that's a PCL `feature' 2014-05-24T19:09:09Z Krystof: I've not got around to protocolizing that 2014-05-24T19:09:30Z Krystof: but that one's expected and is basically harmless 2014-05-24T19:12:55Z yacks quit (Ping timeout: 252 seconds) 2014-05-24T19:29:25Z pkhuong: yup, cons specialiser work fine. 2014-05-24T19:30:44Z pkhuong: patterns would have been nice for destructuring, but that's about it; I don't need fancy patterns (because we don't repeatedly apply transforms). 2014-05-24T19:31:50Z nyef: stassats`: I've added fixing the SPARC P-A noise to my task list for early post-freeze. 2014-05-24T19:44:50Z ehaliewicz joined #sbcl 2014-05-24T19:49:58Z stassats`: i guess i'm not allocating things right 2014-05-24T19:53:14Z prxq joined #sbcl 2014-05-24T19:56:44Z stassats`: boxed_region.free_pointer is #x10a 2014-05-24T19:56:50Z stassats`: doesn't seem right 2014-05-24T20:03:35Z krzysz00 quit (Ping timeout: 276 seconds) 2014-05-24T20:04:06Z nyef: Is it appropriately initialized at call_into_lisp? 2014-05-24T20:04:25Z stassats`: haven't touched call_into_lisp 2014-05-24T20:05:10Z krzysz00 joined #sbcl 2014-05-24T20:05:36Z nyef: Right, but I mean "is it at least correct when starting the core"? 2014-05-24T20:05:45Z stassats`: define correct 2014-05-24T20:06:03Z nyef: Either a valid region or an empty region. 2014-05-24T20:06:19Z nyef: I forget what the actual correct version would be. 2014-05-24T20:06:27Z stassats`: it's an empty region 2014-05-24T20:06:42Z nyef: Okay, so it's plausibly the allocation sequence. 2014-05-24T20:06:51Z stassats`: i suspect my alloc_tramp isn't great either 2014-05-24T20:06:56Z erikvarga left #sbcl 2014-05-24T20:08:40Z nyef: Do you want a second pair of eyes on it? 2014-05-24T20:09:01Z stassats`: not yet 2014-05-24T20:09:14Z stassats`: i don't expect it to be "mostly working" 2014-05-24T20:09:20Z stassats`: i expect it to be completely broken 2014-05-24T20:20:05Z stassats`: i forgot a branch after CMP, there's that 2014-05-24T20:21:44Z eudoxia joined #sbcl 2014-05-24T20:22:53Z stassats`: GC invariant lost, good 2014-05-24T20:24:00Z stassats`: alloc(0) 2014-05-24T20:33:11Z stassats`: now onto memory fault at 0 2014-05-24T20:34:24Z stassats`: maybe i just need a recompile 2014-05-24T20:35:10Z stassats`: back to alloc(0) 2014-05-24T20:35:31Z stassats`: mixing words and bytes again 2014-05-24T20:37:13Z stassats`: now the clock is ahead 2014-05-24T20:37:24Z stassats`: foiling make 2014-05-24T20:44:40Z stassats`: alloc(8), now that seems more plausible 2014-05-24T20:47:01Z pkhuong: how do we feel about trying to make high debug level features work as source-to-source transformations? 2014-05-24T20:48:42Z nyef: Somewhat leery. I'd almost rather push to have the debugger enhanced so that it can do more "high-debug" things at lower debug levels by directly editing the instruction stream and such. 2014-05-24T20:49:24Z nyef: On the other hand, anything involving directly editing the instruction stream (breakpoints, trace :encapsulate nil, and so on) is substantially broken on all backends... 2014-05-24T20:50:07Z pkhuong: ^ summarises my thinking 2014-05-24T20:50:27Z stassats`: one allocation succeeds, yay 2014-05-24T20:50:33Z nyef: stassats`: Congratulations. 2014-05-24T20:50:43Z stassats`: "apparently" 2014-05-24T20:59:15Z sdemarre quit (Ping timeout: 252 seconds) 2014-05-24T21:20:10Z edgar-rft joined #sbcl 2014-05-24T21:27:27Z eudoxia quit (Quit: leaving) 2014-05-24T21:37:43Z davazp joined #sbcl 2014-05-24T21:52:52Z bege joined #sbcl 2014-05-24T21:54:48Z stassats`: some nonsensical register values 2014-05-24T21:58:00Z stassats`: a value, apparently, migrates from r2 to r1 2014-05-24T21:58:18Z stassats`: and inexplicably 2014-05-24T21:59:28Z stassats`: it looks like i'm clobbering it, but then, how does it get a lowtag? 2014-05-24T21:59:37Z stassats`: lowtag is orred on the lisp side 2014-05-24T22:06:01Z DGASAU quit (Remote host closed the connection) 2014-05-24T22:06:58Z DGASAU joined #sbcl 2014-05-24T22:25:58Z bege left #sbcl 2014-05-24T22:27:00Z prxq quit (Ping timeout: 252 seconds) 2014-05-24T22:32:54Z stassats`: survived 5 allocations 2014-05-24T22:33:17Z mega1 quit (Ping timeout: 265 seconds) 2014-05-24T22:48:07Z drmeister joined #sbcl 2014-05-24T23:09:13Z aboutGod joined #sbcl 2014-05-24T23:14:19Z aboutGod left #sbcl 2014-05-24T23:59:08Z stassats`: another mysterious low address fault 2014-05-25T00:14:52Z nyef: Hrm. I have an angle to work around at least one more high-importance stack-analysis bug, but it really is doing things wrong. 2014-05-25T00:29:02Z stassats`: i have a hashtable structure with totally bogus slots 2014-05-25T00:29:57Z stassats`: no calls to alloc happened, so it must have been made bogus some other time 2014-05-25T00:30:34Z stassats`: in other news, i made gencgc space start from 04000000, is that important? 2014-05-25T00:37:50Z stassats`: boxed_region looks ok 2014-05-25T00:42:36Z nyef: gencgc space should take up basically the same region as cheneygc dynamic space. 2014-05-25T00:42:44Z nyef: At least to start with. 2014-05-25T00:43:02Z nyef: Needs to at least be after static space. 2014-05-25T00:43:04Z stassats`: but it wouldn't explain my strange results, now would it? 2014-05-25T00:43:16Z stassats`: i copied from ppc 2014-05-25T00:44:23Z stassats`: i don't have anything else to try 2014-05-25T00:44:26Z nyef: Hrm. 2014-05-25T00:44:52Z nyef: You... put the gencgc space to start from read-only-space? 2014-05-25T00:45:22Z stassats`: no idea 2014-05-25T00:46:05Z nyef: There's a fixed minimum for static-space-start, related to the BREAK_POINT syscall number. 2014-05-25T00:46:14Z nyef: And dynamic space must come after static-space. 2014-05-25T00:46:24Z nyef: ... At least, ISTR that it must. 2014-05-25T00:46:53Z stassats`: !gencgc-space-setup should take care of that 2014-05-25T00:47:02Z stassats`: by i'm now trying manually 2014-05-25T00:51:10Z stassats`: that didn't help 2014-05-25T00:53:15Z nyef: And you've done a clean build? 2014-05-25T00:53:31Z stassats`: yes 2014-05-25T00:53:49Z nyef: Umm... and compared your changes to the single-commit deployment of gencgc on sparc? 2014-05-25T00:53:59Z stassats`: the first to slots in hashtable are alright, and then it goes haywire 2014-05-25T00:56:50Z nyef: Is this pre- or post-first-gc? 2014-05-25T00:57:07Z stassats`: it's really early in cold-init 2014-05-25T00:57:14Z stassats`: 5 calls to alloc() before that 2014-05-25T00:57:16Z nyef: So, well-pre. 2014-05-25T00:57:54Z nyef: Get a trace-file for code/hash-table.lisp and verify that the allocation size in %make-hash-table is correct? 2014-05-25T00:58:41Z stassats`: the hashtable itself seems to be ok, the objects inside it are strange 2014-05-25T00:59:17Z stassats`: even the ones that didn't need to be allocated 2014-05-25T01:06:53Z stassats`: one possibility, broken CODE 2014-05-25T01:07:55Z stassats`: make-hash-table has a lot of constants 2014-05-25T01:10:04Z stassats`: but how it could have survived so much 2014-05-25T01:11:58Z stassats`: maybe the constants section itself is messed up 2014-05-25T01:12:15Z stassats`: at what point are the constants loaded? 2014-05-25T01:12:30Z stassats`: i would assume during loading fasls 2014-05-25T01:47:48Z Hydan joined #sbcl 2014-05-25T01:53:54Z edgar-rft quit (Quit: computation disappeared into paranoid failure) 2014-05-25T02:09:26Z krzysz00 quit (Ping timeout: 240 seconds) 2014-05-25T02:09:27Z davazp quit (Remote host closed the connection) 2014-05-25T02:11:21Z krzysz00 joined #sbcl 2014-05-25T02:14:49Z zRecursive joined #sbcl 2014-05-25T02:17:13Z stassats`: pff, i see the problem 2014-05-25T02:17:44Z stassats`: i'm treating the free pointer as the allocated objectr 2014-05-25T02:17:46Z stassats`: d 2014-05-25T02:22:21Z stassats`: /enabling GC /doing first GC ... * 2014-05-25T02:22:21Z stassats`: 2014-05-25T02:22:51Z stassats`: that was a stupid mistake 2014-05-25T02:34:34Z stassats`: make-target-2 success 2014-05-25T02:37:53Z nyef: Congratulations. 2014-05-25T02:38:38Z christoph_debian quit (Ping timeout: 240 seconds) 2014-05-25T02:39:13Z nyef: Now, assuming that reg_NULL gets switched out for a TLS pointer, and one of the early TLS slots is used to hold a NIL, do you think you can get threading working by, say, mid-June? 2014-05-25T02:39:42Z stassats`: make-target-contrib success, save for sb-sprof 2014-05-25T02:39:52Z stassats`: i need to work on interrupt safety of the alloc_tramp 2014-05-25T02:44:46Z stassats`: NIL itself can be used as an immediate, but that doesn't make it easier to go through offsets 2014-05-25T02:45:17Z stassats`: but mov reg_X, #nil would achieve the same thing without needing NIL to be always live 2014-05-25T02:45:42Z stassats`: T can be arranged cleverly to be immediate too 2014-05-25T02:45:55Z stassats`: so, at least returning / comparing would be cheap 2014-05-25T02:46:37Z nyef: Hrm... They're symbols at known addresses, and small addresses at that... 2014-05-25T02:47:36Z nyef: Hrm. We should be able to synthesize everything up to *control-stack-end* in two instructions. 2014-05-25T02:47:58Z nyef: Any static symbol generally in three. 2014-05-25T02:48:35Z stassats`: and gencgc is not that fast so far 2014-05-25T02:50:11Z stassats`: i presume memory bandwidth being limited plays a role 2014-05-25T02:52:13Z christoph_debian joined #sbcl 2014-05-25T02:54:14Z stassats`: gc.impure.lisp succeeds 2014-05-25T03:09:16Z stassats` quit (Ping timeout: 265 seconds) 2014-05-25T03:10:27Z nyef quit (Quit: G'night all.) 2014-05-25T03:15:25Z zRecursive left #sbcl 2014-05-25T03:32:08Z pranavrc joined #sbcl 2014-05-25T03:32:08Z pranavrc quit (Changing host) 2014-05-25T03:32:08Z pranavrc joined #sbcl 2014-05-25T03:35:52Z edgar-rft joined #sbcl 2014-05-25T04:10:39Z krzysz00 quit (Ping timeout: 265 seconds) 2014-05-25T04:12:32Z krzysz00 joined #sbcl 2014-05-25T04:31:24Z sdemarre joined #sbcl 2014-05-25T04:37:57Z tmh_ quit (Ping timeout: 252 seconds) 2014-05-25T04:39:56Z tmh_ joined #sbcl 2014-05-25T05:07:11Z sdemarre quit (Ping timeout: 252 seconds) 2014-05-25T05:14:47Z yacks joined #sbcl 2014-05-25T05:37:29Z oleo quit (Ping timeout: 264 seconds) 2014-05-25T05:38:15Z oleo joined #sbcl 2014-05-25T05:42:05Z prxq joined #sbcl 2014-05-25T06:21:06Z ASau quit (Read error: Connection reset by peer) 2014-05-25T06:21:44Z ASau joined #sbcl 2014-05-25T07:09:18Z mega1 joined #sbcl 2014-05-25T07:10:29Z prxq quit (Ping timeout: 252 seconds) 2014-05-25T07:21:02Z sdemarre joined #sbcl 2014-05-25T07:40:25Z sdemarre quit (Ping timeout: 265 seconds) 2014-05-25T07:56:29Z Hydan quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) 2014-05-25T07:56:58Z sdemarre joined #sbcl 2014-05-25T08:09:15Z pranavrc quit (Remote host closed the connection) 2014-05-25T08:15:28Z angavrilov joined #sbcl 2014-05-25T08:31:24Z michael_lee joined #sbcl 2014-05-25T09:49:15Z sdemarre quit (Ping timeout: 252 seconds) 2014-05-25T10:02:14Z nyef joined #sbcl 2014-05-25T10:02:28Z nyef: G'morning all. 2014-05-25T10:20:24Z ehaliewicz quit (Remote host closed the connection) 2014-05-25T10:21:31Z mega1 quit (Ping timeout: 240 seconds) 2014-05-25T10:33:57Z Krystof: morning 2014-05-25T10:34:26Z Krystof: what's the status on current sbcl and breaking some vast fraction of quicklisp? 2014-05-25T10:36:26Z nyef: I haven't heard any update on that since Thursday. 2014-05-25T10:41:49Z nyef: Looks like I committed a fix for one thing on Thursday, and stassats committed a fix for another thing yesterday. 2014-05-25T10:42:48Z nyef: I've been wondering if I should be trying to set up cl-test-grid locally, but the prerequisites seem to be a bit sketchy. 2014-05-25T10:45:32Z Krystof: it's the kind of thing that a release manager should be doing too 2014-05-25T10:47:41Z krzysz00 quit (Ping timeout: 264 seconds) 2014-05-25T10:49:14Z krzysz00 joined #sbcl 2014-05-25T11:14:42Z pillton joined #sbcl 2014-05-25T11:48:51Z krzysz00 quit (Ping timeout: 265 seconds) 2014-05-25T11:50:23Z krzysz00 joined #sbcl 2014-05-25T11:50:49Z LiamH joined #sbcl 2014-05-25T12:43:01Z pranavrc joined #sbcl 2014-05-25T12:47:41Z michael_lee quit (Remote host closed the connection) 2014-05-25T12:53:12Z fiveop joined #sbcl 2014-05-25T12:53:41Z stassats` joined #sbcl 2014-05-25T12:57:59Z fiveop quit (Client Quit) 2014-05-25T13:03:58Z loke__: Are there any missing pieces needed to get SBCL running on Android? 2014-05-25T13:04:08Z stassats`: work 2014-05-25T13:04:15Z DGASAU quit (Ping timeout: 265 seconds) 2014-05-25T13:07:32Z nyef: Try it and find out? 2014-05-25T14:21:35Z krzysz00 quit (Ping timeout: 265 seconds) 2014-05-25T14:23:06Z krzysz00 joined #sbcl 2014-05-25T14:29:07Z michael_lee joined #sbcl 2014-05-25T14:42:14Z loke__: stassats`: What kind of work is needed? I'm most certainly willing to do what I can. 2014-05-25T14:42:35Z stassats`: figuring-things-out kind of work 2014-05-25T14:42:37Z loke__: I just need some advice on where to get started, the most important of which is knowing that is there and what is not 2014-05-25T14:42:52Z loke__: OK, let me put is this way: Has anyone tried? :-) 2014-05-25T14:43:05Z nyef: I haven't outside of a debian chroot. 2014-05-25T14:43:16Z stassats`: no, i'm planning after polishing gencgc 2014-05-25T14:43:19Z prxq joined #sbcl 2014-05-25T14:43:23Z loke__: OK, so the first step would be to get the build workng with the cross-compiler, I guess. 2014-05-25T14:43:26Z nyef: And I haven't even tried that since well before we got a working REPL. 2014-05-25T14:43:44Z stassats`: first thing would be to get NDK 2014-05-25T14:43:59Z loke__: I'm quite experienced with the NDK already 2014-05-25T14:44:16Z stassats`: having a rooted android helps 2014-05-25T14:44:41Z loke__: I have all of that, of course. 2014-05-25T14:51:14Z benkard joined #sbcl 2014-05-25T14:51:45Z krzysz00 quit (Ping timeout: 252 seconds) 2014-05-25T14:53:25Z DGASAU joined #sbcl 2014-05-25T14:53:46Z krzysz00 joined #sbcl 2014-05-25T14:56:07Z notori0us quit (Ping timeout: 245 seconds) 2014-05-25T14:59:05Z pranavrc quit (Remote host closed the connection) 2014-05-25T15:08:53Z prxq quit (Ping timeout: 252 seconds) 2014-05-25T15:23:10Z krzysz00 quit (Ping timeout: 276 seconds) 2014-05-25T15:23:55Z stassats`: sprof causes PA problems, for some reason PA is not set during a call to alloc 2014-05-25T15:24:25Z krzysz00 joined #sbcl 2014-05-25T15:29:13Z nyef: stassats`: Compare ppc arch_whatever_pseudo_atomic_whatever functions to the sparc versions, make the arm versions more like ppc, and it might fix that up a bit. 2014-05-25T15:30:29Z stassats`: the call to alloc is from alloc_tramp, meaning, from inside the allocation macro, and that should always be used within the pseudo-atomic macro 2014-05-25T15:31:23Z nyef: You're not setting ffca, are you? 2014-05-25T15:31:37Z stassats`: i am 2014-05-25T15:31:41Z nyef: (You really shouldn't be, if you're trying to stay in p-a.) 2014-05-25T15:33:02Z stassats`: well, ppc does to, during fake_foreign_function_call 2014-05-25T15:33:36Z nyef: Okay, in that case you need to adjust the arch_whatever_pseudo_atomic_whatever functions work like the PPC versions with respect to ffca. 2014-05-25T15:33:54Z nyef: If both are already the case, then I'm at a bit of a loss. 2014-05-25T15:34:44Z stassats`: i'm looking at pseudo-atomic-atomic variable, its value is 0 2014-05-25T15:34:47Z Krystof: are we sure that ppc survives the stress test of sprof? 2014-05-25T15:35:06Z Krystof: alternate possibilities: mismatch between C and Lisp boolean testing 2014-05-25T15:35:43Z stassats`: i forgot to press R on static-symbols.h, sigh 2014-05-25T15:36:10Z stassats`: the value is NIL 2014-05-25T15:42:11Z nyef: stassats`: Is this before or after the SPROF handler runs? 2014-05-25T15:43:04Z stassats`: i don't know 2014-05-25T15:43:11Z nyef: Actually, scratch that. 2014-05-25T15:43:19Z stassats`: time to fire up SBCL_DYNDEBUG 2014-05-25T15:43:27Z nyef: Have you touched arch_pseudo_atomic_atomic() at all? 2014-05-25T15:43:45Z nyef: Or does it still start with return (!foreign_function_call_active)? 2014-05-25T15:44:30Z stassats`: it still does 2014-05-25T15:44:34Z nyef: Fix it. 2014-05-25T15:45:48Z nyef: maybe_defer_handler() uses this to determine if we're in P-A, and in the non-deferred case we allocate a couple of SAPs which means setting P-A from the runtime. 2014-05-25T15:48:03Z stassats`: now sprof is chugging along 2014-05-25T15:48:53Z stassats`: and returning a result 2014-05-25T15:50:30Z notori0us joined #sbcl 2014-05-25T15:50:40Z benkard quit (Quit: Textual IRC Client: www.textualapp.com) 2014-05-25T15:51:19Z stassats`: why does ppc check for foreign_function_call_active and why did it work before on ARM? 2014-05-25T15:53:21Z krzysz00 quit (Ping timeout: 252 seconds) 2014-05-25T15:53:36Z nyef: Hrm. 2014-05-25T15:53:40Z nyef: There's something odd here. 2014-05-25T15:54:10Z nyef: It worked before because cheneygc doesn't use p-a in the runtime. 2014-05-25T15:54:35Z nyef: PPC is broken on non-thread gencgc. 2014-05-25T15:54:42Z stassats`: i'm checking that 2014-05-25T15:55:06Z krzysz00 joined #sbcl 2014-05-25T16:01:40Z nyef: You're checking to see if PPC is broken on non-thread gencgc? 2014-05-25T16:01:46Z stassats`: yes 2014-05-25T16:02:01Z nyef: I can tell by looking: It is. And it's not newly broken, either. 2014-05-25T16:02:17Z stassats`: thinks can be deceiving 2014-05-25T16:03:44Z stassats`: the sb-sprof test didn't fail, for one 2014-05-25T16:05:45Z nyef: See commits 42d824066eff6e6dc70596814d35b8bf9484836f and 42d824066eff6e6dc70596814d35b8bf9484836f for starters. 2014-05-25T16:07:26Z stassats`: that's the same commit 2014-05-25T16:07:40Z nyef: What? Damned gitk. 2014-05-25T16:07:51Z nyef: 9a4436ba9bd089de52bc71391466119a82828a37 is the other one. 2014-05-25T16:08:49Z stassats`: it may be broken, but not for sb-sprof, and allocation is done via signals, not a function call 2014-05-25T16:09:38Z nyef: It's still wrong, and it's going on my list of stuff to fix. 2014-05-25T16:09:56Z stassats`: i would prefer a test case going from broken to unbroken 2014-05-25T16:12:33Z nyef: Might be able to manage that, but it'd be ugly, since it has to call a C function that sets pseudo-atomic, arrange for an interrupt to arrive that should be deferred, then check to make sure that it actually *WAS* deferred before leaving p-a. 2014-05-25T16:13:35Z nyef: Honestly, you wouldn't have batted an eye if I'd gotten it right four years ago. 2014-05-25T16:13:40Z oleo quit (Quit: Leaving) 2014-05-25T16:13:48Z stassats`: grovel-headers.c, can we make it so that it only needs a preprocesor? 2014-05-25T16:14:01Z stassats`: would make it easier to cross-compile 2014-05-25T16:14:47Z stassats`: cpp outputting lisp code, should be fun 2014-05-25T16:15:19Z stassats`: :interrupt-open test seems to think too much 2014-05-25T16:15:41Z stassats`: or even not think, just hang 2014-05-25T16:18:27Z stassats`: ok, interrupting a hanging test leave you without any information about the passed tests, i need to fix that 2014-05-25T16:19:19Z nyef: Umm... There was another issue with the test suite if you run a single test file that doesn't include any named tests. 2014-05-25T16:20:25Z stassats`: it could wrap each top-level form with something 2014-05-25T16:20:42Z stassats`: ok, interrupt-open reliably hangs 2014-05-25T16:22:29Z nyef: On ARM/gencgc? 2014-05-25T16:22:39Z stassats`: yes 2014-05-25T16:23:02Z nyef: Check your signal masks and pending signals? 2014-05-25T16:23:04Z stassats`: the last word is /maybe_defer_handler: deferred (RACE=0) /store_signal_data_for_later: signal: 14 2014-05-25T16:23:38Z nyef: So, SIGALRM. 2014-05-25T16:23:48Z stassats`: yeah, it's with-timeout 2014-05-25T16:23:59Z nyef: It's two, nested with-timeouts. 2014-05-25T16:25:03Z nyef: Do timeouts stack like that, or can they be lost if interrupt response is too slow? 2014-05-25T16:26:16Z nyef: And, actually, is that the first SIGALRM or the second being deferred? 2014-05-25T16:26:27Z stassats`: the first 2014-05-25T16:26:57Z nyef: ... Lovely. 2014-05-25T16:27:27Z stassats`: call_into_c sets PA 2014-05-25T16:28:54Z nyef: Right, but it should also *CLEAR* it once it's in C... Which might be the bug. 2014-05-25T16:29:09Z nyef: Compare to the logic in PPC call_into_c, I suppose. 2014-05-25T16:29:57Z stassats`: why does it need PA there? 2014-05-25T16:30:04Z erikvarga joined #sbcl 2014-05-25T16:31:52Z nyef: Because it wants to do all of the various aspects of fake_foreign_function_call() (and the corresponding undo) atomically. 2014-05-25T16:32:22Z stassats`: is that necessary? 2014-05-25T16:33:04Z stassats`: the only problematic thing i can see is moving the arguments 2014-05-25T16:33:53Z nyef: I'm seeing the saved stack and frame pointers, and the dynamic space free pointer. 2014-05-25T16:33:54Z stassats`: and i suppose foreign_function_call_active can motivate it not to run GC 2014-05-25T16:34:42Z stassats`: stack pointers should survive the interrupt, but why does it save the dynamic space pointer? 2014-05-25T16:35:25Z nyef: ffca is used to indicate that the context registers don't need to be scanned for roots, to deal with a certain amount of lisp state saving (see fake_foreign_function_call), and where to look for pseudo-atomic if the runtime needs to be able to use the p-a mechanism itself. 2014-05-25T16:36:33Z ASau` joined #sbcl 2014-05-25T16:38:16Z stassats`: another thing to consider, if an interrupt unwinds, but that should restore nsp and friends 2014-05-25T16:38:18Z psilord1 joined #sbcl 2014-05-25T16:38:30Z stassats`: so, that leaves dynamic_space_free_pointer 2014-05-25T16:39:31Z nyef: ... Now, why isn't call_into_c clearing p-a-a? 2014-05-25T16:40:00Z carvite_ joined #sbcl 2014-05-25T16:40:03Z nyef: And the only thing that comes to mind is that r10 might be getting used as a temporary register? 2014-05-25T16:41:28Z stassats`: that's a bad excuse 2014-05-25T16:42:09Z nyef: Right, because we need that for the address overall. 2014-05-25T16:42:12Z stassats`: and it does leave PA before the call, doesn't it? 2014-05-25T16:42:20Z nyef: It *SHOULD*, yes. 2014-05-25T16:42:38Z stassats`: it looks like it does 2014-05-25T16:43:28Z prxq joined #sbcl 2014-05-25T16:43:55Z nyef: So, looks fine for call_into_c, looking at an old disassebmly. 2014-05-25T16:43:59Z stassats`: p-a-a and p-a-i are null during the hang 2014-05-25T16:44:04Z michael_lee quit (*.net *.split) 2014-05-25T16:44:04Z ASau quit (*.net *.split) 2014-05-25T16:44:04Z carvite quit (*.net *.split) 2014-05-25T16:44:04Z psilord quit (*.net *.split) 2014-05-25T16:44:14Z nyef: That's odd. 2014-05-25T16:44:19Z nyef: But the interrupt is deferred anyway? 2014-05-25T16:44:57Z stassats`: INTERRUPTS_ENABLED is NIL 2014-05-25T16:45:10Z nyef: Hunh. 2014-05-25T16:45:32Z nyef: Good luck. (-: 2014-05-25T16:47:26Z michael_lee joined #sbcl 2014-05-25T16:50:52Z carvite_ quit (Changing host) 2014-05-25T16:50:52Z carvite_ joined #sbcl 2014-05-25T16:51:02Z carvite_ is now known as carvite 2014-05-25T16:58:50Z stassats`: unclear how that happens 2014-05-25T17:00:55Z stassats`: the interrupts are enable just before calling open(2) 2014-05-25T17:01:29Z stassats`: maybe they are just disabled within ldb? 2014-05-25T17:02:09Z stassats`: plain gdb confirms NIL 2014-05-25T17:02:31Z stassats`: in-without-gcing is T 2014-05-25T17:02:39Z michael_lee quit (Ping timeout: 252 seconds) 2014-05-25T17:03:16Z stassats`: i get it, with-pinned objects is done with without-gcing, isn't it? 2014-05-25T17:04:39Z nyef: That'd be it, yeah. 2014-05-25T17:05:18Z nyef: Pull the PPC or SPARC version, one that does a d-x allocation onto the pinned object list on gencgc, and kills gcing on cheneygc. 2014-05-25T17:10:33Z oleo joined #sbcl 2014-05-25T17:11:40Z stassats`: success 2014-05-25T17:21:42Z stassats`: so, echo "#include \n(defconstant o_rdonly O_RDONLY)" | cpp works, but now, how to get sizeof 2014-05-25T17:25:15Z nyef: Isn't that going to be vulnerable to stupid header tricks? 2014-05-25T17:25:38Z oleo quit (Remote host closed the connection) 2014-05-25T17:26:09Z stassats`: i guess adb shell /push/pull can be used to automate grovelling 2014-05-25T17:26:32Z stassats`: using CPP is a nice idea, but sizeof doesn't appear to work 2014-05-25T17:30:21Z stassats`: and i think i just need to duplicate what Krystof did for rsync 2014-05-25T17:32:29Z stassats`: actually doing all this sounds boring 2014-05-25T17:37:04Z ASau` is now known as ASau 2014-05-25T17:44:39Z ehaliewicz joined #sbcl 2014-05-25T17:55:12Z krzysz00 quit (Ping timeout: 252 seconds) 2014-05-25T17:57:15Z krzysz00 joined #sbcl 2014-05-25T18:01:51Z stassats`: no other test failures 2014-05-25T18:27:48Z oleo joined #sbcl 2014-05-25T18:48:39Z oleo quit (Quit: Leaving) 2014-05-25T19:02:41Z stassats` quit (Ping timeout: 264 seconds) 2014-05-25T19:04:43Z oleo joined #sbcl 2014-05-25T19:07:12Z mega1 joined #sbcl 2014-05-25T19:29:01Z yacks quit (Quit: Leaving) 2014-05-25T19:44:52Z ehaliewicz quit (Ping timeout: 245 seconds) 2014-05-25T19:55:42Z eudoxia joined #sbcl 2014-05-25T19:56:53Z _8hzp` joined #sbcl 2014-05-25T19:58:13Z _8hzp quit (Ping timeout: 240 seconds) 2014-05-25T20:06:53Z tmh_ quit (Ping timeout: 264 seconds) 2014-05-25T20:10:50Z erikvarga left #sbcl 2014-05-25T20:11:20Z eudoxia quit (Quit: leaving) 2014-05-25T20:16:48Z stassats` joined #sbcl 2014-05-25T20:25:10Z stassats` quit (Ping timeout: 252 seconds) 2014-05-25T20:37:07Z krzysz00 quit (Ping timeout: 240 seconds) 2014-05-25T20:39:05Z krzysz00 joined #sbcl 2014-05-25T20:39:55Z stassats` joined #sbcl 2014-05-25T20:44:13Z krzysz00 quit (Ping timeout: 240 seconds) 2014-05-25T20:44:44Z Hydan joined #sbcl 2014-05-25T20:46:24Z krzysz00 joined #sbcl 2014-05-25T21:06:59Z angavrilov quit (Remote host closed the connection) 2014-05-25T21:27:50Z irsol quit (Ping timeout: 258 seconds) 2014-05-25T21:29:10Z Hydan quit (Quit: Textual IRC Client: www.textualapp.com) 2014-05-25T21:56:50Z mega1 quit (Ping timeout: 252 seconds) 2014-05-25T21:57:02Z irsol joined #sbcl 2014-05-25T21:59:04Z mega1 joined #sbcl 2014-05-25T22:07:21Z mega1 quit (Ping timeout: 252 seconds) 2014-05-25T22:14:46Z ehaliewicz joined #sbcl 2014-05-25T22:14:50Z nyef: Hrm. I'd been thinking that a dead-code pass for dealing with the junk blocks that occasionally screw up STACK analysis should be performed no later than PHYSENVANAL, but it's worse than that: lp#1308328 is a manifestation of the same sort of dead code structure, and it bombs before we even get into COMPILE-COMPONENT. 2014-05-25T22:15:39Z stassats`: got ndk to build src/runtime/sbcl 2014-05-25T22:16:12Z stassats`: make-host-2.sh didn't like it 2014-05-25T22:16:14Z ehaliewicz quit (Remote host closed the connection) 2014-05-25T22:16:40Z nyef: ... nm file in the wrong formaT? 2014-05-25T22:16:47Z stassats`: some symbols are missing, nl_langinfo 2014-05-25T22:16:50Z nyef: Ah. 2014-05-25T22:17:29Z nyef: Yeah, you're probably looking at a rampantly custom libc and surrounding environment there. 2014-05-25T22:17:50Z stassats`: not that much 2014-05-25T22:19:32Z stassats`: after nl_langinfo, it compiled 2014-05-25T22:24:24Z stassats`: unrecognized trap instruction 00000b08 2014-05-25T22:26:26Z stassats`: pc for some reason is at NIL 2014-05-25T22:29:26Z stassats`: it fails surprisingly close to where i removed nl_langinfo 2014-05-25T22:29:54Z stassats`: it looks like it has a trouble setting up *default-pathname-defaults* 2014-05-25T22:30:36Z stassats`: getcwd, Math result not re-presentable? 2014-05-25T22:31:09Z stassats`: i may have not grovelled the headers 2014-05-25T22:31:52Z prxq quit (Remote host closed the connection) 2014-05-25T22:34:48Z stassats`: and for some reason it doesn't want to find termios symbols when linking 2014-05-25T22:35:18Z stassats`: for ldso_stubs, but run-program.c seems to be compiled alright 2014-05-25T22:42:06Z stassats`: perhaps gcc does some magic on them 2014-05-25T22:44:48Z stassats`: tcsetattr &co are static inline in termios.h 2014-05-25T22:47:40Z stassats`: will need to add some wrappers, but will just #!-android for now 2014-05-25T22:58:51Z ehaliewicz joined #sbcl 2014-05-25T23:16:23Z stassats`: couldn't get away using :linux as a feature 2014-05-25T23:18:57Z pkhuong: lp#1308328 is messed up 2014-05-25T23:20:15Z pkhuong: I feel like there's something wrong about the way we construct IR1 while sanity checking user input 2014-05-25T23:20:24Z stassats`: lp 1308328 2014-05-25T23:20:24Z specbot: https://bugs.launchpad.net/bugs/1308328 2014-05-25T23:22:13Z stassats`: for some reason now it fails when calling the initial function 2014-05-25T23:22:40Z stassats`: wants to collect some garbage 2014-05-25T23:23:30Z stassats`: i didn't copy the sbcl binary, did i 2014-05-25T23:24:04Z stassats`: ok, back to getcwd failing 2014-05-25T23:36:03Z stassats`: cold-init can't succeed without the source directory, !debug-info-cold-init access some files 2014-05-25T23:36:47Z stassats`: ok, i'm past cold-init on android 2014-05-25T23:37:33Z stassats`: (software-type) => "Android" 2014-05-25T23:41:03Z stassats`: #ifdef LISP_FEATURE_ALPHA inside android-os.c looks a bit funny 2014-05-25T23:46:18Z pkhuong: heh 2014-05-25T23:46:31Z pkhuong: "just in case" ;) 2014-05-25T23:49:29Z stassats`: getting to run on android was quite easy, mostly search and replace LINUX/ANDROID, disabling a couple of features and changing arch_get_reg_from_context 2014-05-25T23:50:45Z krzysz00 quit (Ping timeout: 252 seconds) 2014-05-25T23:52:12Z stassats`: probie-file doesn't work 2014-05-25T23:52:36Z krzysz00 joined #sbcl 2014-05-25T23:56:13Z pkhuong: does android still have files? ;) 2014-05-25T23:56:25Z stassats`: both stat and real-path work 2014-05-25T23:56:29Z stassats`: probe-file does not 2014-05-26T00:00:30Z nyef: pkhuong: At this point I'm writing up some notes on how various parts of the compiler work, what constraints I can find for them, improvements that could be made, and unanswered questions that I still have. 2014-05-26T00:01:06Z nyef: And it's partly informed by investigations made while digging into bugs that are still open... or recently closed. 2014-05-26T00:02:34Z stassats`: maybe unix-stat has a different interpretiation of results 2014-05-26T00:03:46Z stassats`: doesn't look like 2014-05-26T00:04:21Z nyef: What file are you probing? 2014-05-26T00:04:26Z stassats`: any 2014-05-26T00:04:34Z stassats`: looks like the problem is with errno 2014-05-26T00:04:53Z nyef: ... #include 2014-05-26T00:05:15Z stassats`: or no, maybe wrong pathname parsing 2014-05-26T00:05:51Z stassats`: (probe-file "output") probes /output 2014-05-26T00:06:06Z stassats`: it may be due to *default-pathname-defaults* being unititalized 2014-05-26T00:06:21Z stassats`: which due to getcwd not working properly 2014-05-26T00:07:13Z zRecursive joined #sbcl 2014-05-26T00:10:07Z stassats`: getcwd NULL 0 for some reason returns NULL 2014-05-26T00:12:28Z stassats`: allocating a buffer works 2014-05-26T00:12:48Z stassats`: but, i'm looking at the code of bionic, and it supports NULL 0 2014-05-26T00:16:55Z stassats`: git log says, enhance getcwd(3) to handle NULL like glibc, in 2012 2014-05-26T00:17:02Z stassats`: and my phone is older than that 2014-05-26T00:40:49Z stassats`: fixed that, make-target goes further along, but it looks like sigtrap_handler can't figure out the fault address 2014-05-26T00:43:06Z nyef: Dare I ask, is this an OABI system? 2014-05-26T00:44:19Z stassats`: eabi 2014-05-26T00:45:41Z nyef: Oh, good. 2014-05-26T00:45:55Z nyef: I was somewhat afraid of having to support OABI as well. 2014-05-26T00:45:57Z stassats` uses gdbserver for the first time 2014-05-26T00:46:11Z nyef: I still remember getting blindsided by the OABI to EABI switch. 2014-05-26T00:50:33Z stassats`: maybe it doesn't get the PC right 2014-05-26T00:51:44Z stassats`: since there's no ucontext, i had to do something else 2014-05-26T00:53:11Z stassats`: or there is ucontext 2014-05-26T00:54:42Z stassats`: a git checkout of bionic has ucontext, but ndk doesn't 2014-05-26T00:55:38Z stassats`: i guess i'll just add ucontext for now 2014-05-26T01:02:45Z stassats`: well, now arm-android-os.c is the same as arm-linux-os.c 2014-05-26T01:03:36Z nyef: ... So, how long until we have mips-android-os.c and x86-android-os.c? 2014-05-26T01:04:24Z stassats`: about the same time as alpha-android-os.c 2014-05-26T01:04:58Z nyef: The critical difference is that there actually are MIPS and x86 android ports out there. 2014-05-26T01:06:56Z Bike: follow in ssl's footsteps http://opensslrampage.org/post/83031733755/ 2014-05-26T01:07:08Z pkhuong: big endian x86? 2014-05-26T01:08:22Z stassats`: can't make up this stuff 2014-05-26T01:08:52Z pkhuong: oh, hey. solid guess (: 2014-05-26T01:11:11Z nyef: Wow. Just... wow. 2014-05-26T01:11:37Z nyef: And part of me is wondering... "is it possible to make a big-endian x86 system?" 2014-05-26T01:11:59Z nyef: I mean, some maniacs made a little-endian ppc, right? 2014-05-26T01:13:29Z stassats`: blimey, of all things, sh ./run-sbcl.sh files with "dirname: not found" 2014-05-26T01:13:57Z Bike: apparently the supported thing is an OS by stratus which is big endian everywhere "On little endian servers with x86 processors, the compilers [output] a byte swap before reading or writing values to memory to transform the data to or from the native little endian format." 2014-05-26T01:13:59Z stassats`: in other news, sbcl now works on android 2014-05-26T01:15:11Z stassats`: things to do: writing stubs for termios things 2014-05-26T01:19:06Z stassats`: next stop: threads 2014-05-26T01:20:34Z stassats`: probably over the next weekend 2014-05-26T01:21:16Z stassats`: the platform table is going to expand in both directions 2014-05-26T01:22:30Z stassats`: i think the most unportable thing the runtime is using are signals 2014-05-26T01:29:13Z nyef: Heh. Just checked my email and saw the report, from just less than 90 minutes ago, for the bug that I fixed on Thursday. 2014-05-26T01:29:43Z nyef: And the response, thank you stassats`. 2014-05-26T01:32:10Z stassats`: looked at porting onto plan 9, it doesn't have signals at all 2014-05-26T01:32:51Z stassats`: something called notes instead 2014-05-26T01:33:52Z nyef: So, gencgc and threading on all backends by the end of the year? 2014-05-26T01:36:10Z stassats`: and ports to haiku, plan9, minix 3, OpenVMS 2014-05-26T01:36:47Z nyef: ... OpenVMS on what hardware? 2014-05-26T01:36:53Z stassats`: itanium! 2014-05-26T01:36:59Z nyef: And what's involved in getting a license? 2014-05-26T01:37:12Z nyef: Does it run on generic itanic, or does it need HP hardware? 2014-05-26T01:37:31Z nyef: (I guess I can get an itanic rp3440, it'll sit well next to my HPPA...) 2014-05-26T01:38:37Z stassats`: in reality, i have a hard time motivating myself for systems i'm not going to use 2014-05-26T01:39:39Z stassats`: i think i have access to IBM AIX as well 2014-05-26T01:39:41Z stassats`: on ppc 2014-05-26T01:39:52Z nyef: The system that I'm going to use is SBCL. I want the compiler to be the best that it can be, across the board. 2014-05-26T01:40:17Z p_l: stassats`: notes are essentially signals that have text designations instead of numbers, iirc 2014-05-26T01:40:24Z stassats`: there are two aspects, depth and breadth 2014-05-26T01:40:34Z p_l: nyef: non-commercial license for OpenVMS is a question of few emails 2014-05-26T01:40:42Z stassats`: so, after i get GUI apps on android, i'll switch back to depth 2014-05-26T01:40:57Z p_l: nyef: and you need HP hw 2014-05-26T01:41:00Z nyef: On the other hand, I'm not too fussed about supporting any OS other than Linux, unless it's not too inconvenient. 2014-05-26T01:41:20Z nyef: p_l: So, another rp3440, this one with itanium CPUs instead of HPPA? 2014-05-26T01:41:33Z stassats`: openvms runs on hppa? 2014-05-26T01:42:04Z nyef: No, there's an upgrade path to run itanium cpus on the rp3440 chassis. 2014-05-26T01:42:51Z p_l: nyef: I strongly suspect that model might not run OpenVMS 2014-05-26T01:42:52Z stassats`: aren't HP dropping itanium? 2014-05-26T01:43:10Z nyef: p_l: Yeah, that's about what I figured. Pity. 2014-05-26T01:43:12Z p_l: Itanium is dead 2014-05-26T01:43:15Z p_l: pretty much 2014-05-26T01:43:27Z p_l: nyef: alpha is runnable in emulation :) 2014-05-26T01:43:42Z nyef: ... Hrm. 2014-05-26T01:43:50Z p_l: nyef: mind you, OpenVMS might require support for allocation in low-memory zone 2014-05-26T01:43:59Z stassats`: so, if itanium is dead, what's left? ibm's power? 2014-05-26T01:44:17Z nyef: Eh, there's a *LOT* of potential in terms of hacking up the alpha backend. 2014-05-26T01:45:23Z nyef: Itanium is really dead? Aww. )-: 2014-05-26T01:45:25Z stassats`: what about VAX? 2014-05-26T01:45:28Z p_l: stassats`: x86/amd64, POWER, ARM, SPARC, IBM z, AS/400... 2014-05-26T01:45:33Z p_l: stassats`: EOLed in 2000 2014-05-26T01:45:50Z p_l: or rather, "finally killed" 2014-05-26T01:46:10Z p_l: there are places that are still running VAX software on dedicated emulation appliances 2014-05-26T01:46:13Z stassats`: p_l: do those listed have the "mainframy" high-availability and other buzzwordy technologies? 2014-05-26T01:46:31Z stassats`: but you can run VMS on VAX 2014-05-26T01:46:40Z p_l: stassats`: POWER, SPARC, IBM z, AS/400, all have mainframy stuff 2014-05-26T01:48:00Z p_l: of course, IBM z *is* a mainframe, down to being the only one out of those that boots by editing a register and hitting "run" 2014-05-26T01:48:54Z nyef: AS/400 these days is PPC. 2014-05-26T01:49:04Z nyef: (Well, give-or-take) 2014-05-26T01:49:06Z p_l: nyef: *implementation* is POWER - application never see it 2014-05-26T01:49:08Z stassats`: did hppa support bitrot much? 2014-05-26T01:49:35Z nyef: Hrm. 2014-05-26T01:49:46Z p_l: nyef: AS/400 has its own instruction set and "VM" (128bit addressing!) and dynamic recompiler 2014-05-26T01:50:01Z nyef: stassats`: I'd expect so, I only just got my HPPA hardware recently and have yet to install Linux on it, so I don't know. 2014-05-26T01:50:08Z stassats`: SBCL is really bad at abstracting things away and not leaking hardware details 2014-05-26T01:50:38Z p_l: nyef: VMS would be weird target (though honestly Tru64 would be as well) due to three memory/linkage models 2014-05-26T01:50:58Z nyef: ... Don't we have vestigial Tru64 support? 2014-05-26T01:51:06Z stassats`: just wait until the Mill cpu 2014-05-26T01:51:22Z p_l: nyef: isn't that from the time the Alpha port was essentially 32bit on 64bit cpu? 2014-05-26T01:51:32Z stassats`: it still is 2014-05-26T01:51:35Z p_l: ah 2014-05-26T01:52:10Z p_l: well, both Tru64 and VMS (that one definitely) had equivalent of Linux x32 ABI (except it was just done in linking, OS ABI was same for all) 2014-05-26T01:53:58Z p_l: that one post about weird pragmas in OpenSSL for VMS was actually a result of someone doing a weird, stupid & unnecessary hack, which was later found by someone even more clueless - iirc TCP Services was running in 32bit address space so that both 64bit and 32bit applications could call it (and the whole ioctl() thing was emulated anyway) 2014-05-26T02:17:29Z jsnell quit (Remote host closed the connection) 2014-05-26T02:17:32Z stassats` quit (Ping timeout: 252 seconds) 2014-05-26T02:20:37Z jsnell joined #sbcl 2014-05-26T02:28:26Z michael_lee joined #sbcl 2014-05-26T02:37:28Z attila_lendvai joined #sbcl 2014-05-26T02:37:28Z attila_lendvai quit (Changing host) 2014-05-26T02:37:28Z attila_lendvai joined #sbcl 2014-05-26T02:38:47Z christoph_debian quit (Ping timeout: 252 seconds) 2014-05-26T02:49:13Z nyef quit (Quit: G'night all.) 2014-05-26T02:52:14Z christoph_debian joined #sbcl 2014-05-26T03:10:13Z psilord1 quit (Ping timeout: 252 seconds) 2014-05-26T03:26:10Z psilord joined #sbcl 2014-05-26T03:47:25Z LiamH quit (Ping timeout: 276 seconds) 2014-05-26T04:04:58Z gingerale quit (Ping timeout: 276 seconds) 2014-05-26T04:35:08Z pranavrc joined #sbcl 2014-05-26T05:02:09Z ASau` joined #sbcl 2014-05-26T05:05:17Z ASau quit (Ping timeout: 245 seconds) 2014-05-26T05:05:44Z oleo quit (Quit: Leaving) 2014-05-26T05:11:28Z attila_lendvai quit (Quit: Leaving.) 2014-05-26T06:01:40Z Shinmera joined #sbcl 2014-05-26T06:10:45Z mega1 joined #sbcl 2014-05-26T06:22:56Z ASau` is now known as ASau 2014-05-26T06:34:40Z attila_lendvai joined #sbcl 2014-05-26T06:34:52Z attila_lendvai quit (Changing host) 2014-05-26T06:34:52Z attila_lendvai joined #sbcl 2014-05-26T06:43:47Z yacks joined #sbcl 2014-05-26T06:46:54Z samskulls joined #sbcl 2014-05-26T06:52:37Z yacks quit (Quit: Leaving) 2014-05-26T06:52:49Z yacks joined #sbcl 2014-05-26T07:13:55Z angavrilov joined #sbcl 2014-05-26T07:14:58Z zRecursive quit (Remote host closed the connection) 2014-05-26T07:32:02Z erikvarga joined #sbcl 2014-05-26T07:38:12Z ASau quit (Ping timeout: 245 seconds) 2014-05-26T07:41:57Z yacks quit (Quit: Leaving) 2014-05-26T07:49:47Z attila_lendvai quit (Quit: Leaving.) 2014-05-26T07:58:02Z Shinmera quit (Quit: bbl) 2014-05-26T08:09:50Z yacks joined #sbcl 2014-05-26T08:14:42Z attila_lendvai joined #sbcl 2014-05-26T08:14:52Z attila_lendvai quit (Changing host) 2014-05-26T08:14:52Z attila_lendvai joined #sbcl 2014-05-26T08:30:47Z attila_lendvai quit (Quit: Leaving.) 2014-05-26T08:49:03Z prxq joined #sbcl 2014-05-26T09:38:41Z mega1 quit (Ping timeout: 264 seconds) 2014-05-26T10:28:39Z ehaliewicz quit (Read error: Connection reset by peer) 2014-05-26T11:02:19Z leo2007 quit (Ping timeout: 240 seconds) 2014-05-26T11:03:05Z mega1 joined #sbcl 2014-05-26T11:39:09Z samskulls quit (Ping timeout: 252 seconds) 2014-05-26T11:48:58Z LiamH joined #sbcl 2014-05-26T12:02:35Z stassats` joined #sbcl 2014-05-26T12:38:14Z yacks quit (Quit: Leaving) 2014-05-26T12:57:59Z pranavrc quit 2014-05-26T13:03:55Z krzysz00 quit (Ping timeout: 240 seconds) 2014-05-26T13:05:50Z krzysz00 joined #sbcl 2014-05-26T13:18:54Z yacks joined #sbcl 2014-05-26T13:24:25Z loke__ quit (Remote host closed the connection) 2014-05-26T13:46:23Z eudoxia joined #sbcl 2014-05-26T14:14:51Z oleo joined #sbcl 2014-05-26T14:15:31Z stassats` quit (Ping timeout: 240 seconds) 2014-05-26T14:16:03Z oleo quit (Read error: Connection reset by peer) 2014-05-26T14:20:30Z oleo joined #sbcl 2014-05-26T14:23:24Z gingerale joined #sbcl 2014-05-26T14:35:24Z tmh_ joined #sbcl 2014-05-26T14:43:14Z oleo quit (Quit: Leaving) 2014-05-26T14:56:08Z oleo joined #sbcl 2014-05-26T15:05:58Z krzysz00 quit (Ping timeout: 240 seconds) 2014-05-26T15:07:25Z oleo quit (Ping timeout: 252 seconds) 2014-05-26T15:08:02Z krzysz00 joined #sbcl 2014-05-26T15:16:15Z loke_ joined #sbcl 2014-05-26T15:21:26Z nyef joined #sbcl 2014-05-26T15:25:24Z oleo joined #sbcl 2014-05-26T15:44:19Z attila_lendvai joined #sbcl 2014-05-26T15:56:34Z drmeister quit (Remote host closed the connection) 2014-05-26T16:06:46Z drmeister joined #sbcl 2014-05-26T16:07:18Z krzysz00 quit (Ping timeout: 252 seconds) 2014-05-26T16:09:11Z krzysz00 joined #sbcl 2014-05-26T16:17:18Z crixus joined #sbcl 2014-05-26T16:25:53Z Munksgaard_ left #sbcl 2014-05-26T16:25:59Z leo2007 joined #sbcl 2014-05-26T16:33:40Z attila_lendvai quit (Quit: Leaving.) 2014-05-26T16:36:29Z oleo quit (Remote host closed the connection) 2014-05-26T18:00:23Z yacks quit (Ping timeout: 265 seconds) 2014-05-26T18:19:23Z mega1 quit (Remote host closed the connection) 2014-05-26T18:25:54Z sdemarre joined #sbcl 2014-05-26T18:30:26Z oleo joined #sbcl 2014-05-26T18:31:43Z oleo quit (Read error: Connection reset by peer) 2014-05-26T18:32:10Z oleo joined #sbcl 2014-05-26T18:33:22Z Bike_ joined #sbcl 2014-05-26T18:33:38Z Bike quit (Disconnected by services) 2014-05-26T18:33:43Z Bike_ is now known as Bike 2014-05-26T18:39:59Z stassats` joined #sbcl 2014-05-26T19:00:02Z sdemarre quit (Ping timeout: 276 seconds) 2014-05-26T19:03:38Z erikvarga quit (Remote host closed the connection) 2014-05-26T19:04:27Z erikvarga joined #sbcl 2014-05-26T19:15:49Z sdemarre joined #sbcl 2014-05-26T19:36:32Z erikvarga left #sbcl 2014-05-26T19:42:13Z stassats` quit (Ping timeout: 258 seconds) 2014-05-26T19:49:53Z eudoxia quit (Quit: leaving) 2014-05-26T19:50:40Z angavrilov quit (Remote host closed the connection) 2014-05-26T19:59:34Z ehaliewicz joined #sbcl 2014-05-26T20:06:17Z michael_lee quit (Remote host closed the connection) 2014-05-26T20:11:44Z krzysz00 quit (Ping timeout: 258 seconds) 2014-05-26T20:13:23Z krzysz00 joined #sbcl 2014-05-26T20:16:16Z scymtym quit (Ping timeout: 252 seconds) 2014-05-26T20:23:25Z mega1 joined #sbcl 2014-05-26T20:36:32Z sdemarre quit (Ping timeout: 245 seconds) 2014-05-26T20:41:57Z krzysz00 quit (Ping timeout: 245 seconds) 2014-05-26T20:44:02Z krzysz00 joined #sbcl 2014-05-26T21:02:26Z prxq quit (Ping timeout: 252 seconds) 2014-05-26T21:37:14Z jdz joined #sbcl 2014-05-26T21:37:15Z jdz is now known as Guest19497 2014-05-26T22:02:28Z Guest19497 quit (Quit: ZNC - http://znc.in) 2014-05-26T22:02:44Z jdz_ joined #sbcl 2014-05-26T22:03:04Z jdz_ quit (Client Quit) 2014-05-26T22:05:14Z jdz_ joined #sbcl 2014-05-26T22:05:17Z slyrus quit (Ping timeout: 245 seconds) 2014-05-26T22:42:29Z crixus quit (Quit: Leaving) 2014-05-26T23:38:55Z zRecursive joined #sbcl 2014-05-26T23:40:43Z Bike quit (Ping timeout: 240 seconds) 2014-05-26T23:42:40Z Bike joined #sbcl 2014-05-26T23:57:37Z ASau joined #sbcl 2014-05-27T00:15:57Z krzysz00 quit (Ping timeout: 252 seconds) 2014-05-27T00:17:43Z krzysz00 joined #sbcl 2014-05-27T00:28:59Z ltbarcly joined #sbcl 2014-05-27T00:36:34Z slyrus joined #sbcl 2014-05-27T01:01:54Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-27T01:54:16Z nyef quit (Quit: G'night all.) 2014-05-27T02:38:35Z christoph_debian quit (Ping timeout: 252 seconds) 2014-05-27T02:44:15Z samskulls joined #sbcl 2014-05-27T02:51:59Z christoph_debian joined #sbcl 2014-05-27T02:52:53Z ltbarcly joined #sbcl 2014-05-27T03:13:27Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-27T03:16:39Z michael_lee joined #sbcl 2014-05-27T03:17:37Z LiamH quit (Quit: Leaving.) 2014-05-27T03:35:05Z attila_lendvai joined #sbcl 2014-05-27T03:35:05Z attila_lendvai quit (Changing host) 2014-05-27T03:35:05Z attila_lendvai joined #sbcl 2014-05-27T03:47:39Z wbooze__ joined #sbcl 2014-05-27T03:49:05Z oleo is now known as Guest73298 2014-05-27T03:49:50Z Guest73298 quit (Ping timeout: 252 seconds) 2014-05-27T03:50:59Z Hydan joined #sbcl 2014-05-27T03:51:38Z gingerale quit (Ping timeout: 240 seconds) 2014-05-27T04:06:54Z kanru quit (Remote host closed the connection) 2014-05-27T04:07:39Z kanru joined #sbcl 2014-05-27T04:26:07Z attila_lendvai quit (Quit: Leaving.) 2014-05-27T04:39:05Z attila_lendvai joined #sbcl 2014-05-27T04:39:05Z attila_lendvai quit (Changing host) 2014-05-27T04:39:05Z attila_lendvai joined #sbcl 2014-05-27T04:50:06Z yacks joined #sbcl 2014-05-27T05:04:16Z wbooze__ quit (Quit: Verlassend) 2014-05-27T05:17:54Z krzysz00_ joined #sbcl 2014-05-27T05:21:03Z krzysz00 quit (Ping timeout: 258 seconds) 2014-05-27T05:41:57Z |3b| quit (Read error: Connection reset by peer) 2014-05-27T05:42:46Z |3b| joined #sbcl 2014-05-27T05:55:49Z samskulls quit (Quit: Lost terminal) 2014-05-27T06:00:07Z |3b| quit (Read error: Connection reset by peer) 2014-05-27T06:00:57Z |3b| joined #sbcl 2014-05-27T06:02:41Z samskulls joined #sbcl 2014-05-27T06:06:53Z michael_lee quit (Ping timeout: 264 seconds) 2014-05-27T06:08:04Z michael_lee joined #sbcl 2014-05-27T06:08:25Z pranavrc joined #sbcl 2014-05-27T06:22:32Z attila_lendvai quit (Quit: Leaving.) 2014-05-27T06:41:04Z sdemarre joined #sbcl 2014-05-27T06:51:13Z yacks quit (Ping timeout: 252 seconds) 2014-05-27T06:53:05Z krzysz00_ quit (Ping timeout: 264 seconds) 2014-05-27T06:53:47Z sdemarre quit (Ping timeout: 252 seconds) 2014-05-27T06:54:37Z krzysz00 joined #sbcl 2014-05-27T06:57:30Z yacks joined #sbcl 2014-05-27T07:10:18Z prxq joined #sbcl 2014-05-27T07:14:38Z ehaliewicz quit (Remote host closed the connection) 2014-05-27T07:15:28Z erikvarga joined #sbcl 2014-05-27T07:19:36Z angavrilov joined #sbcl 2014-05-27T07:25:58Z michael_lee quit (Quit: Ex-Chat) 2014-05-27T07:30:12Z zRecursive left #sbcl 2014-05-27T07:59:31Z ASau quit (Ping timeout: 240 seconds) 2014-05-27T08:15:24Z yacks quit (Ping timeout: 265 seconds) 2014-05-27T08:27:17Z samskulls quit (Ping timeout: 252 seconds) 2014-05-27T08:29:14Z samskulls joined #sbcl 2014-05-27T08:38:19Z yacks joined #sbcl 2014-05-27T08:55:29Z samskulls quit (Ping timeout: 264 seconds) 2014-05-27T08:56:53Z samskulls joined #sbcl 2014-05-27T09:03:16Z samskulls quit (Quit: leaving) 2014-05-27T09:06:54Z erikvarga left #sbcl 2014-05-27T09:38:45Z Hydan quit (Quit: -a- Android IRC) 2014-05-27T09:55:42Z krzysz00 quit (Ping timeout: 245 seconds) 2014-05-27T09:57:43Z krzysz00 joined #sbcl 2014-05-27T10:05:52Z prxq quit (Ping timeout: 258 seconds) 2014-05-27T10:22:56Z prxq joined #sbcl 2014-05-27T10:56:14Z |3b| quit (Read error: Connection reset by peer) 2014-05-27T10:57:03Z |3b| joined #sbcl 2014-05-27T11:00:38Z karswell quit (Ping timeout: 240 seconds) 2014-05-27T11:12:07Z stassats joined #sbcl 2014-05-27T11:14:05Z karswell joined #sbcl 2014-05-27T11:21:50Z momo-reina joined #sbcl 2014-05-27T11:52:43Z erikvarga joined #sbcl 2014-05-27T12:09:56Z edgar-rft quit (Quit: continuation closed because of unknown reasons) 2014-05-27T12:11:48Z attila_lendvai joined #sbcl 2014-05-27T12:12:30Z loke_ quit (Remote host closed the connection) 2014-05-27T12:15:23Z attila_lendvai quit (Client Quit) 2014-05-27T12:19:56Z jdz_ is now known as jdz 2014-05-27T12:22:48Z momo-reina quit (Ping timeout: 252 seconds) 2014-05-27T12:23:11Z nyef joined #sbcl 2014-05-27T12:23:22Z nyef: G'morning all. 2014-05-27T12:23:35Z Krystof: morning 2014-05-27T12:24:36Z nyef: So, I take it that no new critical issues were reported since... about Thursday? 2014-05-27T12:25:20Z hlavaty joined #sbcl 2014-05-27T12:26:14Z Krystof: I got a message from Xach saying that there weren't any regressions 2014-05-27T12:26:17Z Krystof: so I called it done 2014-05-27T12:26:32Z nyef: Wonderful. 2014-05-27T12:26:41Z nyef: (Thank you, Xach!) 2014-05-27T12:33:27Z nyef: So, what's our criteria for 1.3.0 or 2.0.0? 2014-05-27T12:33:51Z nyef: Or is it going to be "it's been a while, and someone just landed a major chunk of functionality, such as a new backend"? 2014-05-27T12:33:52Z Krystof: when I get bored of typing 1.2 2014-05-27T12:33:57Z nyef: Heh. 2014-05-27T12:35:26Z flip214: well, how about "new architecture arrived"? 2014-05-27T12:35:48Z flip214: I'm thinking about ARM, which was quite a chunk of work, right? 2014-05-27T12:36:18Z nyef: I'm looking at the "Porting" page on the website, which now seems a little bit out-of-date. 2014-05-27T12:38:03Z nyef: We're going to have to have at least four columns in the platform table for ARM, aren't we? 2014-05-27T12:38:16Z nyef: For hard/soft float, and for big/little endian. 2014-05-27T12:42:30Z p_l: hmm. Does sbcl run on little-endian ppc? :) 2014-05-27T12:44:00Z nyef: Probably not, but it shouldn't be too hard to make it happen if you had such a box. 2014-05-27T12:49:30Z psilord quit (Quit: Leaving.) 2014-05-27T12:51:35Z yacks quit (Ping timeout: 255 seconds) 2014-05-27T12:51:55Z erikvarga quit (Ping timeout: 240 seconds) 2014-05-27T12:54:57Z erikvarga joined #sbcl 2014-05-27T12:57:01Z eudoxia joined #sbcl 2014-05-27T12:57:21Z pranavrc quit 2014-05-27T13:00:13Z stassats quit (Ping timeout: 240 seconds) 2014-05-27T13:02:08Z temerson joined #sbcl 2014-05-27T13:02:41Z pkhuong: no regression? incredible work. 2014-05-27T13:06:28Z pkhuong: which reminds me... I should retry soft write barriers on a strict safepoint build. 2014-05-27T13:14:43Z Krystof: thank you all 2014-05-27T13:23:14Z temerson: Krystof: can you send me a pointer to your latest work? 2014-05-27T13:29:15Z nyef: ... Are you looking for krzysz00 ? 2014-05-27T13:30:40Z krzysz00: temerson: Here's my latest https://github.com/krzysz00/sbcl/tree/unicode-algorithms . I'm going to finish actually writing the collation algorithm this morning (hopefully). 2014-05-27T13:30:58Z temerson: nyef: indeed I am, d’oh. Thanks. I should type before caffein 2014-05-27T13:32:05Z temerson: krzysz00: sweet. 2014-05-27T13:32:38Z krzysz00: I'll push it up there when it's done. 2014-05-27T13:33:04Z erikvarga: At least now I'm not the only one who mixed up the two usernames :) 2014-05-27T13:35:03Z krzysz00: The one with the @ by his name is the Evil Overlord^W^W release manager. 2014-05-27T13:39:44Z temerson: krzysz00: I just call you K. It’s easier that way. 2014-05-27T13:39:54Z krzysz00: Sure. 2014-05-27T13:44:52Z Krystof: haha 2014-05-27T13:46:54Z karswell` joined #sbcl 2014-05-27T13:49:52Z karswell quit (Ping timeout: 245 seconds) 2014-05-27T13:50:24Z temerson: k: don’t take it to be in any way related with the protagonist in Kafka’s “The Castle” though. Really. 2014-05-27T13:51:17Z karswell` quit (Read error: Connection reset by peer) 2014-05-27T13:51:36Z karswell` joined #sbcl 2014-05-27T13:52:00Z segv- joined #sbcl 2014-05-27T13:58:12Z jdz: so, I just built meself a fresh SBCL 1.2, and I'm getting the following Failure: debug.impure.lisp / BACKTRACE-INTERRUPTED-CONDITION-WAIT 2014-05-27T13:58:18Z oleo joined #sbcl 2014-05-27T13:58:20Z jdz: OSX mavericks this is 2014-05-27T13:58:31Z oleo: morning 2014-05-27T13:59:12Z jdz: the test code seems to be not modified anytime recent 2014-05-27T13:59:35Z jdz: is this another broken debug.impure test? 2014-05-27T14:00:48Z yacks joined #sbcl 2014-05-27T14:00:49Z temerson_ joined #sbcl 2014-05-27T14:01:24Z temerson_ quit (Client Quit) 2014-05-27T14:01:31Z temerson quit (Ping timeout: 240 seconds) 2014-05-27T14:02:54Z temerson joined #sbcl 2014-05-27T14:11:45Z temerson quit (Quit: temerson) 2014-05-27T14:13:29Z psilord joined #sbcl 2014-05-27T14:18:03Z scymtym joined #sbcl 2014-05-27T14:26:53Z temerson joined #sbcl 2014-05-27T14:29:03Z temerson quit (Client Quit) 2014-05-27T14:31:30Z temerson joined #sbcl 2014-05-27T14:34:31Z Poenikatu joined #sbcl 2014-05-27T14:36:32Z temerson quit (Quit: temerson) 2014-05-27T14:37:39Z pkhuong: probably more like OS X threads being broken. 2014-05-27T14:43:07Z fridim_ joined #sbcl 2014-05-27T14:47:42Z pkhuong: http://isocpp.org/blog/2014/05/n4028 <- C++ abi. 2014-05-27T14:55:55Z gingerale joined #sbcl 2014-05-27T14:58:55Z ltbarcly joined #sbcl 2014-05-27T15:02:23Z pkhuong: erikvarga: I'm pkhuong@gmail.com 2014-05-27T15:03:29Z erikvarga: pkhuong: All right, just a moment, I haven't installed the hangouts plugin yet 2014-05-27T15:03:34Z segv- quit (Remote host closed the connection) 2014-05-27T15:04:28Z pkhuong: Ah, yes. I'll install skype as a fallback. 2014-05-27T15:04:44Z drmeister quit (Remote host closed the connection) 2014-05-27T15:04:58Z leo2007 quit (Ping timeout: 240 seconds) 2014-05-27T15:05:43Z segv- joined #sbcl 2014-05-27T15:08:17Z temerson joined #sbcl 2014-05-27T15:09:09Z drmeister joined #sbcl 2014-05-27T15:12:46Z drmeister quit (Remote host closed the connection) 2014-05-27T15:18:03Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-27T15:31:30Z ltbarcly joined #sbcl 2014-05-27T15:38:39Z ASau joined #sbcl 2014-05-27T15:38:46Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-27T15:40:05Z Poenikatu left #sbcl 2014-05-27T15:40:19Z erikvarga: Hi everyone, a fork where I'm working on my div-by-mul project can be found here: https://github.com/erikvarga/sbcl 2014-05-27T15:40:27Z erikvarga: So far, I've optimized the unsigned truncate transformer. I'll commit my changes there as I progress. 2014-05-27T15:40:38Z erikvarga: If anyone has feedback on my work so far, I'd be glad to hear it. 2014-05-27T15:54:06Z krzysz00: erikvarga: (I'm the other GSoC guy) I don't have any comment on your actual work, but, IIRC, it's a good idea to do work on a branch other than master. 2014-05-27T15:59:06Z nyef: Indeed. What happens if you want another branch? 2014-05-27T16:00:07Z erikvarga: Oh, I didn't know that. Thanks, I'll relocate my commits to a new branch then. 2014-05-27T16:04:31Z nyef: Is it just the two commits so far? 2014-05-27T16:06:20Z nyef: ... How do you tell github to ignore whitespace changes in the commit view? 2014-05-27T16:08:17Z krzysz00: nyef: Add ?w=1 to the end of the URL 2014-05-27T16:09:06Z nyef: Mmm. Just found that. Why on earth isn't there an obvious control for it? 2014-05-27T16:10:32Z erikvarga: nyef: Yeah, there are 2 commits so far. I've started working on the signed division, but it doesn't all "come together" yet, so I haven't added any commits on that. 2014-05-27T16:11:32Z oleo is now known as Guest52059 2014-05-27T16:12:09Z wbooze__ joined #sbcl 2014-05-27T16:12:27Z nyef: Looks interesting, even if the math is a bit more than I'm prepared to dig into at this point. 2014-05-27T16:12:28Z ltbarcly joined #sbcl 2014-05-27T16:13:07Z slyrus quit (Ping timeout: 240 seconds) 2014-05-27T16:13:32Z wbooze__ is now known as oleo 2014-05-27T16:13:54Z nyef: I'm a little concerned about the number of anonymous nested CONDs, though. It might be worth moving some of them out to LABELS and relying on the compiler to realize that they can be inlined. 2014-05-27T16:14:25Z Guest52059 quit (Ping timeout: 252 seconds) 2014-05-27T16:14:40Z fridim_ quit (Ping timeout: 276 seconds) 2014-05-27T16:14:42Z eudoxia quit (Quit: Lost terminal) 2014-05-27T16:15:25Z nyef: I wouldn't recommend taking that suggestion as gospel, though, I have no idea how this optimizer works or what's really appropriate here. (-: 2014-05-27T16:15:45Z eudoxia joined #sbcl 2014-05-27T16:26:15Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-27T16:36:53Z pkhuong: The next step is probably to add a file to the build process, something like src/compiler/divtran.lisp 2014-05-27T16:37:26Z pkhuong: The reason is that the order in which transforms are loaded defines their priority. 2014-05-27T16:38:13Z pkhuong: so you'll want everything in a centralised place to easily control which transforms should fire first (or, eventually, move to a few master transforms that dispatch to the approriate function) 2014-05-27T16:46:45Z fridim_ joined #sbcl 2014-05-27T17:04:06Z krzysz00: temerson , Krystof: I've pushed collation (and tests for it) onto my unicode-algorithms branch 2014-05-27T17:04:45Z temerson: K: OK, great. What are you using for test data? 2014-05-27T17:05:32Z krzysz00: They have a big file of it. 2014-05-27T17:06:04Z temerson: I noticed that the Mac OS X x64 binaries are not up-to-date. Is this because there is no one to build and test the packages? I’m willing to do this (under Mavricks). 2014-05-27T17:06:25Z temerson: K: ok, you’re using the UCs test data, excellent. Did you implement language-specific overrides? 2014-05-27T17:06:52Z krzysz00: Haven't done any tailoring on any of the algorithms yet. 2014-05-27T17:07:35Z temerson: K: is that something you’re planning to do? 2014-05-27T17:11:42Z krzysz00: Yes, but not at the moment 2014-05-27T17:13:19Z krzysz00: (The CLDR data looks /fun/ to try to integrate) 2014-05-27T17:17:11Z krzysz00: temerson: Any thoughts (quality-wise) on the huge pile of code I've written? 2014-05-27T17:18:47Z temerson: krzysz00: I haven’t had time to look at it in detail yet, but will this afternoon. 2014-05-27T17:19:19Z krzysz00: Great. I'll try to figure out what to do next. Any suggestions? 2014-05-27T17:21:28Z sdemarre joined #sbcl 2014-05-27T17:24:21Z temerson: krzysz00: wrt CLDR it would be interesting but probably a separate project. 2014-05-27T17:24:44Z krzysz00: CLDR has the collation tailorings in it. 2014-05-27T17:25:23Z krzysz00: I can probably add in the Turkish i rules and the final sigma stuff this afternoon. 2014-05-27T17:26:55Z temerson: krzysz00: indeed, but it has a lot of things that aren’t directly related to sb-unicode. I can envision a sb-locale or sb-cldr though. 2014-05-27T17:27:21Z ltbarcly joined #sbcl 2014-05-27T17:28:08Z krzysz00: temerson: I was mainly thinking of incorporating the CLDR tailorings into the collation functions, which I might do later this summer. 2014-05-27T17:28:21Z krzysz00: Do we have a function to get the current locale? 2014-05-27T17:30:09Z temerson: One little thing I would find useful is the ability to type Unicode characters with #\U+xxxx as well as the existing #\Uxxxx syntax. When I share code between SBCL and CCL I run into that issue. 2014-05-27T17:31:23Z krzysz00: Good idea. 2014-05-27T17:32:45Z temerson: It also only accepts 4 or 8 hex digits: IMHO we should accept any number and treat them as 0-padded. Why #\U00209F5 when #\U209F5 is sufficient? Indeed, the TUS only uses the 5 digits. 2014-05-27T17:33:18Z temerson: WRT CLDR and tailorings, I think that’s a good approach: we just want to think about how that would work if/when CLDR support is added. 2014-05-27T17:35:30Z foom: Accepting variable numbers of digits is bugprone 2014-05-27T17:38:48Z pkhuong: temerson: re binaries, it is mostly that no one has the time and energy to bundle up a tarball. 2014-05-27T17:39:08Z samskulls joined #sbcl 2014-05-27T17:39:12Z Blkt: is it possible to build SBCL 1.2.0 sources downloaded from the official website under ARM (Raspberry) or do I have to pull them from another online repository? 2014-05-27T17:39:16Z krzysz00: foom: How? (I figure that, if we're specifying by codepoint, we want names to be U\+?[0-9A-Fa-f]{1,6} ) 2014-05-27T17:46:29Z stassats joined #sbcl 2014-05-27T17:47:04Z temerson: krzysz00: WRT locale: sb-posix does not contain a binding for setlocale. WRT #\U your regexp captures it. I don’t see an issue with accepting any number of hex-digits from 1 to 6 since they have defined semantics. I don’t know how this is bugprone either. 2014-05-27T17:47:53Z temerson: pkhuong: i’m able to build the Mac OS X tarball, no problem. Shall I do this and put it somewhere for someone to double check? 2014-05-27T17:48:17Z sdemarre quit (Ping timeout: 252 seconds) 2014-05-27T17:50:05Z nicdev: Blkt: i think you can build from those source. i did a build on Raspberry Pi from the main git repository which I am sure that's where the source come from 2014-05-27T17:50:31Z Blkt: nicdev: thanks 2014-05-27T17:53:16Z stassats: one problem with a native android port, grovellers calling gcc 2014-05-27T17:53:46Z stassats: the reverse problem is easy, adb pull/push/shell can be used from the host 2014-05-27T17:54:06Z stassats: maybe something like printing "run this command on the host: ..." 2014-05-27T17:56:22Z drmeister joined #sbcl 2014-05-27T17:57:03Z stassats: looks like adb can be run on the device too 2014-05-27T17:58:05Z dto joined #sbcl 2014-05-27T17:58:25Z stassats: ok, then it's only a matter of writing all the code 2014-05-27T17:58:42Z dto: congrats on the new release! and stassats i saw your comment about native android for the next version. sounds exciting. i will probably get a device soon then. i'd like to do anything i can to help sort things out 2014-05-27T18:03:08Z oleo quit (Quit: Verlassend) 2014-05-27T18:03:35Z dto: stassats what sort of android device will i need? would one of those pre-rooted android tv boxes work? 2014-05-27T18:03:45Z dto: or does it need to be a tablet? 2014-05-27T18:04:12Z sdemarre joined #sbcl 2014-05-27T18:04:12Z drmeister quit (Read error: Connection reset by peer) 2014-05-27T18:04:46Z stassats: just any old device 2014-05-27T18:04:51Z stassats: the faster the better 2014-05-27T18:04:59Z dto: ok cool. hmm 2014-05-27T18:05:06Z dto: does it need to be rooted/ 2014-05-27T18:05:07Z dto: ? 2014-05-27T18:05:25Z oleo joined #sbcl 2014-05-27T18:05:32Z stassats: preferably, but not necessarily 2014-05-27T18:07:58Z drmeister joined #sbcl 2014-05-27T18:15:45Z nyef: Don't necessarily root your device yet, but it might be a good idea to make sure that it *CAN* be rooted? 2014-05-27T18:16:28Z slyrus joined #sbcl 2014-05-27T18:19:07Z edgar-rft joined #sbcl 2014-05-27T18:19:23Z stassats: looks like i can't actually connect with the adb on the devices to the host 2014-05-27T18:20:44Z eudoxia quit (Quit: Lost terminal) 2014-05-27T18:21:32Z stassats: i guess i can write some java thingy 2014-05-27T18:22:23Z oleo quit (Quit: Verlassend) 2014-05-27T18:25:49Z Blkt: mmm 2014-05-27T18:25:55Z Blkt: my raspberry can't find time... 2014-05-27T18:25:58Z Blkt: that's annoying 2014-05-27T18:26:37Z dto: stassats, nyef .ok i'll try to choose wisely. 2014-05-27T18:27:32Z drmeister quit (Read error: Connection reset by peer) 2014-05-27T18:34:30Z oleo joined #sbcl 2014-05-27T18:34:30Z dto-00 joined #sbcl 2014-05-27T18:34:44Z nyef: dto: There's also likely to be some question about android version compatibility, and you might run into issues around the amount of RAM or flash storage available, and some devices have truly horrible display resolution. 2014-05-27T18:35:57Z dto quit (Ping timeout: 252 seconds) 2014-05-27T18:36:32Z dto-00: sounds like fun! 2014-05-27T18:36:37Z dto-00 is now known as dto 2014-05-27T18:37:14Z dto: stassats: i'm totally expecting to have to scale down cypress to 720p. i've planned ahead in the code 2014-05-27T18:38:02Z dto: also the big-ass background snow/meadow textures, might need to be redone as tiled textures 2014-05-27T18:39:54Z oleo: whew, wow, sbcl-1.2 is nice! 2014-05-27T18:44:51Z dto: hey oleo . 2014-05-27T18:51:00Z krzysz00: temerson: Improved Unicode reader coming up as soon as it survives the testsuite/I get lunch. 2014-05-27T18:51:18Z temerson: No rush. Pace yourself. 2014-05-27T18:51:37Z temerson left #sbcl 2014-05-27T18:53:01Z rpg joined #sbcl 2014-05-27T18:55:02Z drmeister joined #sbcl 2014-05-27T19:00:53Z pkhuong: well, someone from the mill team reached out to understand how we do tagging and arg passing better. 2014-05-27T19:01:20Z pkhuong: that's... interesting (: 2014-05-27T19:03:36Z yacks quit (Quit: Leaving) 2014-05-27T19:05:45Z stassats: so, i need to write a binary named "gcc" which connects to another host and calls the actual gcc 2014-05-27T19:07:40Z nyef: stassats: Can you "just" hook the grovel machinery on the lisp side instead? 2014-05-27T19:07:54Z nyef: pkhuong: Dare I ask? 2014-05-27T19:08:16Z stassats: i can do things with the sb-grovel, but other code may use something else 2014-05-27T19:08:31Z pkhuong: nyef: ask what? 2014-05-27T19:08:35Z stassats: and i first need to grovel things to get sb-bsd-sockets working in the first place 2014-05-27T19:08:58Z nyef: First question that comes to mind is what "the mill team" is. 2014-05-27T19:09:25Z krzysz00: Hom's suggested reader improvements are on my unicode-algorithms branch and on a plus-in-character-reader branch at me github fork. 2014-05-27T19:09:32Z krzysz00: *Tom's 2014-05-27T19:09:52Z pkhuong: ah, , lead by Ivan Godard, a literal whitebeard. 2014-05-27T19:10:16Z nyef: stassats: Would it make sense to push the part of contrib building that generates the grovel files back to host-1? 2014-05-27T19:11:30Z pkhuong: interesting ideas on adapting hardware to the bursty workloads that are common nowadays: short sections of code that benefit from huge IPC, separated by ill predictable branches 2014-05-27T19:11:54Z stassats: nyef: i want to handle grovelling smooth anyway 2014-05-27T19:11:57Z nyef: Hunh. 2014-05-27T19:11:58Z stassats: ly 2014-05-27T19:12:31Z dto quit (Remote host closed the connection) 2014-05-27T19:14:48Z stassats: i'm not to thrilled writing networking code in C 2014-05-27T19:15:16Z stassats: maybe just cross-compile rsync? 2014-05-27T19:15:28Z stassats: or, telnet 2014-05-27T19:22:13Z oleo: hi dto 2014-05-27T19:31:46Z stassats: looks like i can make a java application, run it with dalvikvm, and make a shell script named "gcc" 2014-05-27T19:32:25Z slyrus quit (Ping timeout: 252 seconds) 2014-05-27T19:38:30Z erikvarga left #sbcl 2014-05-27T19:52:52Z oleo: one of the few release which starts without mucking about some libs, even when old.... 2014-05-27T19:53:59Z oleo: with some releases there were always problems, i had to either disable some of the libs.... or bug fix them ( if i could) for what reason i don't know tho.... 2014-05-27T20:13:16Z angavrilov quit (Remote host closed the connection) 2014-05-27T20:23:37Z sdemarre quit (Ping timeout: 276 seconds) 2014-05-27T20:33:27Z slyrus joined #sbcl 2014-05-27T20:36:41Z krzysz00 quit (Ping timeout: 255 seconds) 2014-05-27T20:38:27Z krzysz00 joined #sbcl 2014-05-27T20:41:40Z ehaliewicz joined #sbcl 2014-05-27T20:54:03Z rpg_ joined #sbcl 2014-05-27T20:54:04Z rpg_ quit (Client Quit) 2014-05-27T20:58:18Z rpg quit (Ping timeout: 258 seconds) 2014-05-27T21:16:58Z fridim_ quit (Ping timeout: 240 seconds) 2014-05-27T21:26:16Z nyef: Hunh. I just noticed something in the MacLachlan paper: The "ICR optimize" phase supposedly does if-if elimination. 2014-05-27T21:26:59Z nyef: ... And there's a block-merge step? Damnit, what on earth is going on with that one DX bug, then? 2014-05-27T21:34:13Z pkhuong: yeah, we do a lot of if-if stuff 2014-05-27T21:34:58Z pkhuong: rewrote a bunch of it to get it to fire more quickly, because we really depend on it, via IR1 tran of predicates 2014-05-27T21:40:37Z krzysz00: TODO tomorrow: Script property support. 2014-05-27T21:47:15Z psilord quit (Quit: Leaving.) 2014-05-27T21:47:52Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-27T21:50:03Z prxq quit (Ping timeout: 258 seconds) 2014-05-27T22:02:22Z stassats quit (Ping timeout: 245 seconds) 2014-05-27T22:02:30Z White__Flame quit (Ping timeout: 252 seconds) 2014-05-27T22:27:26Z mega1 quit (Ping timeout: 252 seconds) 2014-05-27T22:45:27Z ChibaPet joined #sbcl 2014-05-27T22:58:17Z drmeister quit (Remote host closed the connection) 2014-05-27T23:05:14Z ltbarcly joined #sbcl 2014-05-27T23:06:07Z segv- quit (Ping timeout: 276 seconds) 2014-05-27T23:09:12Z psilord joined #sbcl 2014-05-27T23:10:57Z DGASAU quit (Ping timeout: 252 seconds) 2014-05-27T23:11:31Z ehaliewicz quit (Remote host closed the connection) 2014-05-27T23:12:03Z ehaliewicz joined #sbcl 2014-05-27T23:13:48Z drmeister joined #sbcl 2014-05-27T23:16:47Z slyrus quit (Remote host closed the connection) 2014-05-27T23:22:00Z DGASAU joined #sbcl 2014-05-27T23:33:23Z drmeister quit (Read error: Connection reset by peer) 2014-05-27T23:33:24Z stassats joined #sbcl 2014-05-27T23:37:28Z psilord quit (Quit: Leaving.) 2014-05-27T23:43:56Z jackdaniel quit (Remote host closed the connection) 2014-05-27T23:45:50Z drmeister joined #sbcl 2014-05-27T23:46:26Z DGASAU` joined #sbcl 2014-05-27T23:47:05Z DGASAU quit (Ping timeout: 264 seconds) 2014-05-27T23:51:28Z stassats: i had an idea the other day, what if the boxed values on the stack are stored at even stack slots, and unboxed at odd? 2014-05-27T23:51:31Z stassats: instead of having two stacks 2014-05-27T23:52:20Z nyef: Three problems spring immediately to mind. 2014-05-27T23:52:39Z nyef: First, some unboxed objects can consume up to four stack slots. 2014-05-27T23:53:25Z nyef: Second, dynamic-extent and unknown-values allocation consume arbitrary-sized stack chunks, in some cases without any serious alignment. 2014-05-27T23:53:41Z stassats: right 2014-05-27T23:53:49Z nyef: Third, we still need an unboxed stack in order to call out to C, and that stack needs to sit in the machine stack pointer. 2014-05-27T23:55:49Z nyef: Actually, here's a challenge for you: We should be able to d-x allocate unboxed arrays on the number stack, at least in theory. 2014-05-27T23:56:10Z stassats: stack allocated bignums! 2014-05-27T23:56:30Z nyef: ... No, that still frightens me. 2014-05-27T23:58:21Z stassats: why are structures dxed only when they don't have unboxed parts? the dynamic space can contain them, why not the boxed stack? 2014-05-27T23:59:13Z nyef: Because the boxed stack is scavenged under different rules, and there's also the question of what happens after its extent ends and the header gets overwritten. Or *doesn't* get overwritten. 2014-05-27T23:59:31Z stassats: the latter makes sense 2014-05-28T00:00:07Z stassats: back to the drawing board 2014-05-28T00:00:11Z nyef: There are two ways to poison a boxed stack: First is to arrange for live pointers to be treated as unboxed. Second is to arrange for unboxed data to be treated as live pointers. 2014-05-28T00:01:18Z stassats: strict safepoints allow for things like "in this section, all bets are off what's in the stack or registers" 2014-05-28T00:01:21Z leo2007 joined #sbcl 2014-05-28T00:01:36Z nyef: You'd still need to scrub the stack. 2014-05-28T00:02:01Z stassats: right, it may be not atomatic, something like a declaration 2014-05-28T00:02:36Z nyef: One of the bugs that I had to track down with PPC GENCGC (possibly threaded) was that the stack wasn't getting scrubbed on GC, and once the stack usage crept back up post-gc there would be stale pointers in there, causing the *next* gc to blow up. 2014-05-28T00:03:01Z nyef: You'd need to make sure that any UWP scrubs the relevant part of the stack as well. 2014-05-28T00:03:46Z nyef: And IIRC the scavenge logic very carefully operates a word at a time, so that stale headers from boxed allocation don't blow past the end of the stack space. 2014-05-28T00:04:38Z stassats: fixnums are both boxed and do not require scanning, are they allowed inside structures / arrays? 2014-05-28T00:04:46Z zRecursive joined #sbcl 2014-05-28T00:04:52Z stassats: i can just look 2014-05-28T00:06:03Z stassats: right, it checks for T and fixnum 2014-05-28T00:11:27Z stassats: i both don't like conservativeness and the cost required for precision 2014-05-28T00:14:08Z stassats: does java have two stacks too? 2014-05-28T00:17:38Z nyef: Probably depends on the JVM. 2014-05-28T00:18:58Z Bike quit (Ping timeout: 240 seconds) 2014-05-28T00:19:11Z nyef: I have some ideas as to how to get a precise scavenge off of a unified stack, complete with decent unwind through alien code, but it's sufficiently intricate that I haven't worked out the details. 2014-05-28T00:19:20Z stassats: i can see a stack map, but not with unbounded stack allocation 2014-05-28T00:19:42Z stassats: only if the allocation is only of one kind 2014-05-28T00:19:50Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-28T00:20:42Z stassats: and a register map 2014-05-28T00:20:55Z brown`: I have compiled sbcl 1.2.0 for ARM. I'm seeing some test failures. Is that expected? 2014-05-28T00:21:12Z Bike joined #sbcl 2014-05-28T00:21:14Z nyef: Oh, please. Any dx or uv allocation sequence starts by saving off the control stack pointer, and stack analysis tells you which order the packets are in when they're live. 2014-05-28T00:21:21Z stassats: brown`: floats and encapsulate? 2014-05-28T00:21:27Z nyef: brown`: sb-gmp, sb-mpfr? 2014-05-28T00:21:47Z brown`: So far sb-gmp and sb-mpfr are ok. 2014-05-28T00:22:06Z brown`: ./run-tests.sh bit-vector.impure-cload.lisp produces: 2014-05-28T00:22:13Z brown`: The function SB-EXT:DYNAMIC-SPACE-SIZE is undefined. 2014-05-28T00:22:14Z stassats: that's known 2014-05-28T00:22:25Z brown`: ... during compilation. 2014-05-28T00:22:30Z stassats: nyef: i fixed those to be ignored if the libraries are missing and to try more libraries 2014-05-28T00:22:40Z nyef: Ahh. 2014-05-28T00:22:56Z brown`: I installed the gmp and mpfr libraries ... 2014-05-28T00:23:50Z brown`: Yes, there are two encapsulate test failures, but also 4 gc.impure.lisp failures. 2014-05-28T00:23:59Z stassats: the dynamic space size on cheney is fixed, isn't it? 2014-05-28T00:24:09Z stassats: brown`: right, those too, so, you're fine 2014-05-28T00:24:23Z stassats: those are all bogus tests, with the exception of encapsulate 2014-05-28T00:24:27Z brown`: ok, just figured I'd let you folks know. 2014-05-28T00:25:15Z brown`: Compiling everything today took 3.5 hours ... running off an SD card. 2014-05-28T00:25:48Z drmeister quit (Remote host closed the connection) 2014-05-28T00:26:54Z nyef: Eh, the first step in the encapsulate mechanism is bogus too, and that's across all platforms. 2014-05-28T00:29:02Z stassats: without-gcing could get a better implementation too 2014-05-28T00:29:22Z stassats: not that have any ideas 2014-05-28T00:29:37Z Bike_ joined #sbcl 2014-05-28T00:30:30Z stassats: i, that is 2014-05-28T00:30:43Z Bike quit (Disconnected by services) 2014-05-28T00:30:45Z Bike_ is now known as Bike 2014-05-28T00:30:51Z nyef: ... There are two reasons for without-gcing. One is because you're about to do something horrible with a pointer to an object and you need the object to Not Move. The other is that you're about to do something horrible to an object and you need the GC to Not Look At It. 2014-05-28T00:31:38Z stassats: well, i got things mixed up and wanted to say with-pinned-objects 2014-05-28T00:32:04Z stassats: on gencgc, pushing into a list doesn't sound all that great 2014-05-28T00:32:17Z nyef: It's supposed to be D-X allocation. 2014-05-28T00:32:21Z stassats: still 2014-05-28T00:32:23Z drmeister joined #sbcl 2014-05-28T00:32:46Z nyef: Well, what would you suggest instead? 2014-05-28T00:32:52Z stassats: something better! 2014-05-28T00:33:06Z stassats: somebody has to come up with it, though 2014-05-28T00:33:20Z nyef: The whole "let's force a reference to the stack" thing that the x86oids have going on is kindof icky as far as I'm concerned. 2014-05-28T00:34:39Z stassats: so, if we go the map route, the object can be saved on the stack and an additional per-frame map for not moving it 2014-05-28T00:36:12Z nyef: Which requires maps, which requires (and enables) reliable backtrace. 2014-05-28T00:36:24Z stassats: that can't hurt 2014-05-28T00:36:49Z stassats: what's so problematic with reliable backtraces? 2014-05-28T00:37:32Z pkhuong: interrupts in the middle of a call prologue/epilogue, iirc 2014-05-28T00:37:58Z stassats: safepoints? 2014-05-28T00:38:20Z nyef: Safepoints would probably help with the stack and register maps as well. 2014-05-28T00:39:07Z pkhuong: yeah. we could just fix debug info if we had safepoints ;) 2014-05-28T00:40:38Z krzysz00 quit (Ping timeout: 240 seconds) 2014-05-28T00:42:36Z krzysz00 joined #sbcl 2014-05-28T00:42:39Z drmeister quit (Remote host closed the connection) 2014-05-28T00:42:53Z stassats: safepoints can make some things more lax, like respecting the stack pointer, but that also means maintaining two copies of code, which is never a good thing 2014-05-28T00:42:56Z nyef: Attacking some of the debugger issues is on my someday/maybe list. Too much to deal with in the compiler, first. 2014-05-28T00:43:30Z stassats: and i need to write some java code, ha 2014-05-28T00:43:36Z stassats: and even check it into the tree 2014-05-28T00:45:40Z nyef: ... Maybe I shouldn't have started in on an ARM port if *that's* where it leads. 2014-05-28T00:46:11Z stassats: a port to android-x86 could have been made too 2014-05-28T00:46:43Z p_l: not much to port there, if it already works on ARM :D 2014-05-28T00:47:14Z stassats: there wasn't much to port to android-arm too, but now for the support infrastructure 2014-05-28T00:47:44Z stassats: smoothly cross-compiling everything and groveling C from the target 2014-05-28T00:51:11Z drmeister joined #sbcl 2014-05-28T00:58:34Z stassats quit (Ping timeout: 276 seconds) 2014-05-28T01:06:49Z DGASAU`` joined #sbcl 2014-05-28T01:08:18Z DGASAU` quit (Ping timeout: 240 seconds) 2014-05-28T01:16:31Z nyef: ... It's looking like the only flow-sensitive passes that are actually able to delete code are DFO and CONTROL. 2014-05-28T01:17:05Z nyef: And they are both overconservative on roots. 2014-05-28T01:17:14Z nyef: (Or is that overgenerous?) 2014-05-28T01:17:53Z nyef: Whatever, they both honor some roots that probably shouldn't be honored as true roots. 2014-05-28T01:28:27Z White_Flame joined #sbcl 2014-05-28T01:41:25Z ltbarcly joined #sbcl 2014-05-28T01:41:40Z pkhuong: they treat all XEP as roots, iirc. 2014-05-28T01:42:25Z pkhuong: and I'm not even sure control deletes block 2014-05-28T01:52:34Z pkhuong: not sure how I feel about the special to control ctype-of's behaviour 2014-05-28T01:53:09Z pkhuong: I could see a well timed interrupt + clos => weird compiler behaviour 2014-05-28T01:53:50Z nyef: Speaking of which, is there a way to reliably land a well-timed interrupt to somewhere within the runtime? 2014-05-28T01:55:04Z nyef: Reason I ask is that I'm now aware of a hole in the interrupt handling on non-threaded, non-x86oid gencgc environments (meaning PPC and SPARC), but stassats mentioned preferring to see a test-case for it. 2014-05-28T01:55:27Z nyef: Hrm. 2014-05-28T01:55:56Z nyef: Might be another way around building a test case for this, but it'll require a bit of digging. Should be *SAFER*, though, at least. 2014-05-28T01:57:25Z nyef notes that about a third of the high-importance bugs in launchpad match my current filter for "interesting" bugs. 2014-05-28T02:00:04Z nyef: Is block compilation actually known to be broken, or is it just unmaintained and untested in ages? 2014-05-28T02:03:33Z pkhuong: gutted out in the early 00s 2014-05-28T02:04:12Z nyef: Logic actually removed? 2014-05-28T02:04:28Z pkhuong: iirc, yes. Back when SBCL was a WHN show. 2014-05-28T02:04:51Z nyef: Hrm. Oh well, that's why we have source control. 2014-05-28T02:05:00Z pkhuong: I have a feeling that a mix of derive-function-types and unboxed calling convention would get a lot more bang for less buck. 2014-05-28T02:06:06Z nyef: My feeling is that unboxed calling conventions would happen a lot easier within the context of block compilation, but there's a lot more for me to understand (and possibly fix) before I get to that point. 2014-05-28T02:06:34Z pkhuong: It'd happen more easily in a transparent manner. 2014-05-28T02:06:53Z pkhuong: But I think a lot of us would be ok with a declaration 2014-05-28T02:30:57Z DGASAU``` joined #sbcl 2014-05-28T02:31:07Z nicdev` joined #sbcl 2014-05-28T02:31:49Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-28T02:33:07Z DGASAU`` quit (Read error: Connection reset by peer) 2014-05-28T02:33:23Z fikusz quit (Ping timeout: 252 seconds) 2014-05-28T02:33:42Z nicdev quit (Remote host closed the connection) 2014-05-28T02:34:06Z fikusz joined #sbcl 2014-05-28T02:35:28Z psilord joined #sbcl 2014-05-28T02:37:18Z nicdev` is now known as nicdev 2014-05-28T02:39:00Z christoph_debian quit (Ping timeout: 240 seconds) 2014-05-28T02:52:38Z christoph_debian joined #sbcl 2014-05-28T03:02:23Z nyef quit (Quit: G'night all.) 2014-05-28T03:27:04Z owl-v- joined #sbcl 2014-05-28T03:27:29Z owl-v-: what is extension file name of sbcl? 2014-05-28T03:27:52Z Bike: of source files? 2014-05-28T03:30:55Z kanru quit (Remote host closed the connection) 2014-05-28T03:31:26Z kanru joined #sbcl 2014-05-28T03:47:24Z tmh_ quit (Ping timeout: 240 seconds) 2014-05-28T03:54:34Z tmh_ joined #sbcl 2014-05-28T04:04:21Z owl-v- quit (Quit: This computer has gone to sleep) 2014-05-28T04:07:07Z yacks joined #sbcl 2014-05-28T04:27:03Z oleo is now known as Guest22961 2014-05-28T04:27:48Z oleo__ joined #sbcl 2014-05-28T04:29:52Z Guest22961 quit (Ping timeout: 245 seconds) 2014-05-28T04:36:57Z gingerale quit (Ping timeout: 276 seconds) 2014-05-28T05:07:59Z oleo__ quit (Quit: Verlassend) 2014-05-28T05:11:58Z mega1 joined #sbcl 2014-05-28T05:12:35Z ehaliewicz quit (Ping timeout: 255 seconds) 2014-05-28T05:59:45Z pranavrc joined #sbcl 2014-05-28T05:59:55Z pranavrc quit (Changing host) 2014-05-28T05:59:55Z pranavrc joined #sbcl 2014-05-28T06:02:38Z attila_lendvai joined #sbcl 2014-05-28T06:16:10Z yacks quit (Read error: Connection reset by peer) 2014-05-28T06:17:56Z yacks joined #sbcl 2014-05-28T06:24:15Z attila_lendvai quit (Quit: Leaving.) 2014-05-28T06:25:05Z sdemarre joined #sbcl 2014-05-28T06:51:27Z fridim_ joined #sbcl 2014-05-28T06:55:55Z sdemarre quit (Ping timeout: 240 seconds) 2014-05-28T07:07:52Z zRecursive left #sbcl 2014-05-28T07:12:33Z prxq joined #sbcl 2014-05-28T07:19:52Z karswell` quit (Ping timeout: 245 seconds) 2014-05-28T07:44:59Z angavrilov joined #sbcl 2014-05-28T08:05:16Z ehaliewicz joined #sbcl 2014-05-28T08:17:11Z ASau quit (Ping timeout: 265 seconds) 2014-05-28T08:55:43Z DGASAU``` is now known as DGASAU 2014-05-28T10:11:35Z owl-v- joined #sbcl 2014-05-28T10:12:34Z owl-v-: ah, yes. when writing source code in sbcl 2014-05-28T10:12:49Z owl-v-: probably not important but... 2014-05-28T10:15:09Z stassats joined #sbcl 2014-05-28T10:16:31Z Krystof: I suggest ".lisp" 2014-05-28T10:16:52Z Krystof: your code will most likely be portable or nearly so to other Common Lisp implementations 2014-05-28T10:36:22Z ehaliewicz quit (Ping timeout: 252 seconds) 2014-05-28T11:21:07Z krzysz00 quit (Ping timeout: 240 seconds) 2014-05-28T11:23:18Z krzysz00 joined #sbcl 2014-05-28T11:28:22Z owl-v-: how do i load hello.lisp? 2014-05-28T11:28:28Z owl-v-: or run 2014-05-28T11:28:44Z stassats: this channel is not for basic support, sorry 2014-05-28T11:28:44Z stassats: try #lisp 2014-05-28T11:29:01Z White_Flame quit (Remote host closed the connection) 2014-05-28T11:30:28Z owl-v-: stassats: i'm talking about sbcl 2014-05-28T11:30:42Z stassats: so am i 2014-05-28T11:31:05Z owl-v-: stassats: then that question is not for u 2014-05-28T11:32:13Z stassats: no, this channel is not for the kind of questions you are asking, whether you like it or not 2014-05-28T11:35:58Z White_Flame joined #sbcl 2014-05-28T11:38:08Z owl-v-: hm... this is just for dev? 2014-05-28T11:38:28Z stassats: yes 2014-05-28T11:38:32Z owl-v-: ah 2014-05-28T12:26:36Z attila_lendvai joined #sbcl 2014-05-28T12:26:36Z attila_lendvai quit (Changing host) 2014-05-28T12:26:36Z attila_lendvai joined #sbcl 2014-05-28T12:36:53Z White_Flame quit (Ping timeout: 264 seconds) 2014-05-28T12:40:24Z Krystof: well curses 2014-05-28T12:40:37Z Krystof: there goes my plan for getting a nice arm binary into the hands of people 2014-05-28T12:40:55Z Krystof: sb-gmp delivers a corruption warning when running its tests 2014-05-28T12:41:14Z Krystof: Memory fault at 67ef9000 (pc=0x40718588, sp=(nil)) 2014-05-28T12:44:05Z karswell` joined #sbcl 2014-05-28T12:44:25Z stassats: allocating large bignums, the tail is in the protected page, and it's passed into C 2014-05-28T12:45:29Z stassats: i'm not sure i want to pessimize bignum code just for sb-gmp to work on cheneygc 2014-05-28T12:46:52Z stassats: sb-gmp itself needs to touch up the digits on cheneygc 2014-05-28T12:47:21Z nyef joined #sbcl 2014-05-28T12:47:36Z nyef: G'morning all. 2014-05-28T12:47:39Z stassats: i'm now running tests for arm-gencgc, then with gencgc disabled, then committing it 2014-05-28T13:06:50Z davazp joined #sbcl 2014-05-28T13:15:30Z eudoxia joined #sbcl 2014-05-28T13:18:03Z attila_lendvai quit (Quit: Leaving.) 2014-05-28T13:18:14Z pranavrc quit 2014-05-28T13:23:32Z krzysz00 quit (Ping timeout: 255 seconds) 2014-05-28T13:25:26Z krzysz00 joined #sbcl 2014-05-28T13:25:46Z drmeister quit (Remote host closed the connection) 2014-05-28T13:54:44Z segv- joined #sbcl 2014-05-28T14:04:48Z oleo joined #sbcl 2014-05-28T14:05:45Z foom: Hey, really awesome that ARM support is released! GJ everyone. You make it look so easy. :) 2014-05-28T14:09:14Z nyef: A lot of that was stassats finding (and for the later stuff, fixing) issues. 2014-05-28T14:11:37Z stassats: about to push gencgc, now i'm not to sure where to push descriptor regs 2014-05-28T14:12:20Z stassats: now i'm pushing them after CFP/LRA/CODE bits 2014-05-28T14:13:13Z stassats: and thinking, should that be considered as a part of a foreign function? but then, foreign functions do not use the control stack 2014-05-28T14:13:25Z foom: Of curiosity: was there a particular impetus for completing the arm port, or just cause it's fun? 2014-05-28T14:13:46Z p_l: foom: more devs with capable enough hw? 2014-05-28T14:14:16Z stassats: for me, it was a mostly working port, and the desire to run apps written in lisp on my phone 2014-05-28T14:15:28Z stassats: saved a cons in a register, made a consing loop, and it does move the cons successfully, so i guess it doesn't matter where it's saved 2014-05-28T14:15:54Z nyef: foom: Someone asked about how to help with it on January 1st, which prompted me to blow the dust off of it and get %PRIMITIVE PRINT working, which was getting very close to being able to call-out. After that, it was an on-and-off slog through cold-init. 2014-05-28T14:16:35Z foom: Hmm, android apps in lisp, that'd be interesting. Does the dalvik runtime get along with sbcl runtime? 2014-05-28T14:17:16Z foom: I could imagine that they might not be terribly happy living together. :) 2014-05-28T14:17:20Z stassats: as a separate process? sure 2014-05-28T14:17:39Z drmeister joined #sbcl 2014-05-28T14:17:43Z tmh_ quit (Ping timeout: 252 seconds) 2014-05-28T14:20:18Z tmh_ joined #sbcl 2014-05-28T14:20:43Z stassats: and arm-gencgc is in 2014-05-28T14:21:38Z stassats: now for the android port 2014-05-28T14:36:54Z krzysz00: Krystof: Script property support has landed in my branch. I still haven't figured out what to do about the line break property, though. 2014-05-28T14:51:08Z stassats: no large_file support in NDK 2014-05-28T14:51:48Z stassats: probably can do it manually, call 64 bit versions, but using headers would have been nicer 2014-05-28T14:53:37Z stassats: and android support is in too, cross building is still manual 2014-05-28T14:55:08Z foom: boggle. why would anyone build a brand new platform where large file support wasn't just the one, only, default, mode. 2014-05-28T14:55:23Z stassats: overhead? 2014-05-28T14:55:32Z stassats: and java probably has it 2014-05-28T14:55:58Z huangjs joined #sbcl 2014-05-28T14:56:08Z foom: Overhead? For file offsets? Hardly seems likely to be a problem. 2014-05-28T14:56:42Z stassats: the kernel has it, just the headers do not support it 2014-05-28T15:07:20Z stassats: i can't never get rsync to rsync directories right 2014-05-28T15:08:07Z gingerale joined #sbcl 2014-05-28T15:08:27Z foom: handy tip: always use a trailing slash 2014-05-28T15:08:57Z foom: sometimes you don't need it. But, easiest to remember as just always use it. 2014-05-28T15:09:07Z slyrus joined #sbcl 2014-05-28T15:19:06Z slyrus: oops. somebody break the build on macos? 2014-05-28T15:20:22Z slyrus: Unhandled SIMPLE-TYPE-ERROR in thread #: The value of STUB is '("cfgetispeed" "cfgetospeed" "cfsetispeed" "cfsetospeed"), which is not of type STRING. 2014-05-28T15:22:42Z stassats: yeah, well, that got to be broken everywhere 2014-05-28T15:23:01Z stassats: i thought it flattens the list, but it just appends things 2014-05-28T15:25:13Z stassats: slyrus: fixed, thanks 2014-05-28T15:25:33Z slyrus: ok, thank you! 2014-05-28T15:26:05Z krzysz00 quit (Ping timeout: 264 seconds) 2014-05-28T15:26:09Z slyrus quit (Remote host closed the connection) 2014-05-28T15:27:15Z slyrus joined #sbcl 2014-05-28T15:27:37Z krzysz00 joined #sbcl 2014-05-28T16:14:47Z edgar-rft quit (Quit: activity finished by permanent something) 2014-05-28T16:17:32Z michael_lee joined #sbcl 2014-05-28T16:19:10Z White_Flame joined #sbcl 2014-05-28T16:26:38Z nyef: Well, that was a fun hour spent updating some code to deal with the removal of SB-KERNEL:FDEFINITION-OBJECT. /-: 2014-05-28T16:47:59Z sdemarre joined #sbcl 2014-05-28T16:49:19Z stassats: i'm not sure whether i want to fix sb-gmp on cheneygc or not 2014-05-28T17:01:47Z ltbarcly joined #sbcl 2014-05-28T17:04:01Z stassats: self building with gencgc, i wouldn't be too surprised if it takes longer 2014-05-28T17:05:28Z fridim_ quit (Ping timeout: 265 seconds) 2014-05-28T17:06:53Z ltbarcly quit (Ping timeout: 264 seconds) 2014-05-28T17:07:27Z krzysz00: Krystof et al.: Do the various external-formats guarantee that all surrogate pairs will be dmapped to their value before higher-level code sees them? (That is, if I see a surrogate during line breaking (undefined behavior), can I just hurl an error because that shouldn't happen?) 2014-05-28T17:10:41Z Krystof: I suspect that our utf-8 is not careful enough for that 2014-05-28T17:10:57Z Krystof: I think signalling an error is OK anyway, though 2014-05-28T17:11:17Z huangjs quit (Quit: This computer has gone to sleep) 2014-05-28T17:12:01Z krzysz00: But our UTF-16/UCS-2 (the only excuse for surrogates) handles them properly, right? 2014-05-28T17:12:28Z Krystof: I would hope so 2014-05-28T17:16:12Z foom: While they're not supposed to be in unicode strings, generally surrogates should be handled without throwing an error, just as any other arbitrary codepoint. 2014-05-28T17:18:45Z sdemarre quit (Ping timeout: 276 seconds) 2014-05-28T17:21:43Z krzysz00: The line-breaking behavior of surrogates is undefined (UTS #14) unless they're in UTF-16 text. In UTF-16, the surrogates have to be mapped before line-breaking, which they are. So, if there's still in a surrogate in the string by the time LINE-BREAK sees it, something has gone wrong. 2014-05-28T17:21:43Z oleo is now known as Guest58286 2014-05-28T17:22:04Z krzysz00: And I can't make demons fly out of the user's nose, so an error will have to do. 2014-05-28T17:22:30Z foom: what do you do for completely unknown codepoints? 2014-05-28T17:23:59Z foom: e.g. if the string has a #\U101111 in it. 2014-05-28T17:24:42Z huangjs joined #sbcl 2014-05-28T17:25:07Z oleo joined #sbcl 2014-05-28T17:25:29Z Guest58286 quit (Ping timeout: 264 seconds) 2014-05-28T17:26:38Z krzysz00 quit (Ping timeout: 240 seconds) 2014-05-28T17:28:45Z krzysz00 joined #sbcl 2014-05-28T17:30:56Z eudoxia quit (Quit: Lost terminal) 2014-05-28T17:33:18Z slyrus quit (Ping timeout: 240 seconds) 2014-05-28T17:33:49Z sdemarre joined #sbcl 2014-05-28T17:38:11Z stassats: ok, self build time, 33:55 2014-05-28T17:38:24Z stassats: it was 37 minutes before, so, gencgc is a bit faster than cheney 2014-05-28T17:39:08Z stassats: but make-target-2 and contrib building was done with cheney 2014-05-28T17:39:44Z nyef: Whatever you're using is faster than my RPi, and about on par with many of my other systems. 2014-05-28T17:40:19Z stassats: 1200 MHz cortex A9 with disabled donwscaling 2014-05-28T17:41:51Z stassats: and that's 3-4 years old, the current ones should be even faster 2014-05-28T17:42:06Z stassats: i'm now thinking of getting a new phone, to run SBCL on it 2014-05-28T17:42:49Z ltbarcly joined #sbcl 2014-05-28T17:43:22Z stassats: i guess i should wait until phones with 64-bit arm 2014-05-28T17:44:31Z fridim_ joined #sbcl 2014-05-28T17:47:21Z drmeister quit (Ping timeout: 276 seconds) 2014-05-28T17:49:53Z davazp quit (Remote host closed the connection) 2014-05-28T17:51:05Z fridim_ quit (Ping timeout: 255 seconds) 2014-05-28T17:51:10Z foom: iphone has that already, doesn't it? 2014-05-28T17:51:28Z stassats: right, but it's not easy to use for sbcl development 2014-05-28T17:51:45Z stassats: and i would add, not easy to use at all 2014-05-28T17:54:20Z Bike_ joined #sbcl 2014-05-28T17:56:32Z foom: Shouldn't be too bad if you root it and install an ssh server, probably. :) 2014-05-28T17:57:18Z stassats: on android, i have a full blown debian in chroot 2014-05-28T18:02:16Z Bike_ is now known as Bicyclidine 2014-05-28T18:02:51Z foom: Yes, it won't have debian's breadth of packages, but they do use apt at least. 2014-05-28T18:05:25Z foom: ('course, I haven't actually used an iphone for 3-4 years now, so I'm not exactly sure how the hacker community is doing these days) 2014-05-28T18:11:40Z drmeister joined #sbcl 2014-05-28T18:15:05Z stassats: uploaded ARMel binaries 2014-05-28T18:15:25Z jaimef quit (Excess Flood) 2014-05-28T18:17:58Z drmeister quit (Ping timeout: 265 seconds) 2014-05-28T18:18:04Z stassats: a report indicating that SBCL 1.0.54 is used, that's like, two years ago 2014-05-28T18:18:53Z jaimef joined #sbcl 2014-05-28T18:18:58Z nyef: It's probably the current version in Fedora. 2014-05-28T18:19:45Z stassats: i was sure that was fixed, and testing it confirmed this 2014-05-28T18:19:55Z stassats: now i need to restrain myself when answering that email 2014-05-28T18:21:43Z stassats: what's more funny, 1.0.54 was released on Mon Dec 5 2014-05-28T18:21:49Z stassats: the pipe problem was fixed on Wed Dec 7 2014-05-28T18:23:23Z stassats: (and that would be 2011) 2014-05-28T18:25:54Z eudoxia joined #sbcl 2014-05-28T18:26:11Z eudoxia quit (Client Quit) 2014-05-28T18:30:18Z jackdaniel joined #sbcl 2014-05-28T18:30:39Z drmeister joined #sbcl 2014-05-28T18:30:59Z jaimef quit (Excess Flood) 2014-05-28T18:35:19Z brown`: stassats: What's the hardware you used for the 33:55 self build? 2014-05-28T18:35:32Z brown`: oh, just saw the description ... sorry 2014-05-28T18:36:23Z jaimef joined #sbcl 2014-05-28T18:38:47Z stassats quit (Ping timeout: 252 seconds) 2014-05-28T18:38:49Z owl-v-: in (car '(1 2 3)) does (car) returns a reference of (1) or copy of value (1)? 2014-05-28T18:41:11Z nyef: 1 is a FIXNUM, which is represented as a boxed word, so it is a copy of the value. 2014-05-28T18:41:31Z prxq quit (Ping timeout: 240 seconds) 2014-05-28T18:47:00Z drmeister quit (Ping timeout: 240 seconds) 2014-05-28T18:55:17Z krzysz00: Line break property lookup implemented. A Unicode line breaking implemantation is coming either today or tomorrow. 2014-05-28T19:18:27Z huangjs quit (Quit: This computer has gone to sleep) 2014-05-28T19:32:19Z slyrus joined #sbcl 2014-05-28T19:34:58Z ivan4th joined #sbcl 2014-05-28T19:36:34Z stassats joined #sbcl 2014-05-28T19:45:32Z angavrilov quit (Remote host closed the connection) 2014-05-28T19:52:59Z oleo quit (Remote host closed the connection) 2014-05-28T19:58:58Z oleo joined #sbcl 2014-05-28T20:07:10Z slyrus quit (Remote host closed the connection) 2014-05-28T20:13:39Z drmeister joined #sbcl 2014-05-28T20:16:25Z ivan4th quit (Read error: Connection reset by peer) 2014-05-28T20:21:02Z owl-v- quit (Quit: This computer has gone to sleep) 2014-05-28T20:24:25Z White_Flame quit (Read error: Connection reset by peer) 2014-05-28T20:25:07Z drmeister quit (Ping timeout: 252 seconds) 2014-05-28T20:25:40Z White_Flame joined #sbcl 2014-05-28T20:30:00Z krzysz00 quit (Ping timeout: 252 seconds) 2014-05-28T20:31:56Z krzysz00 joined #sbcl 2014-05-28T20:47:56Z sdemarre quit (Ping timeout: 255 seconds) 2014-05-28T20:54:57Z prxq joined #sbcl 2014-05-28T21:13:24Z yacks quit (Ping timeout: 240 seconds) 2014-05-28T21:14:23Z michael_lee quit (Ping timeout: 265 seconds) 2014-05-28T21:20:23Z stassats: mop s-v-u-c 2014-05-28T21:20:23Z specbot: slot-value-using-class: http://metamodular.com/CLOS-MOP/slot-value-using-class.html 2014-05-28T21:22:18Z slyrus joined #sbcl 2014-05-28T21:22:22Z stassats: we really do "The results are undefined" 2014-05-28T21:24:01Z stassats: slot-value-using-class on a symbol or a fixnum => memory fault 2014-05-28T21:24:40Z stassats: the class argument being anything => ignored 2014-05-28T21:40:14Z stassats: ok, i still don't get why call_into_c needs pseudo-atomic 2014-05-28T21:40:31Z |3b| wonders if the 'comments and remarks' on that page says what it intended to 2014-05-28T21:41:11Z stassats: was it for slot-boundp-using-class? 2014-05-28T21:41:14Z stassats: mop s-b-u-c 2014-05-28T21:41:14Z specbot: slot-boundp-using-class: http://metamodular.com/CLOS-MOP/slot-boundp-using-class.html 2014-05-28T21:41:33Z |3b|: yeah, it would make more sense there 2014-05-28T21:42:15Z stassats: that's beach's copy error 2014-05-28T21:50:15Z nyef: stassats: Upon further review, because on the outbound leg it monkeys with dynamic_space_free_pointer, and on the inbound leg likewise. 2014-05-28T21:50:54Z stassats: that's what i'm looking now, the question shifts to, why does it touch dynamic_space_free_pointer? 2014-05-28T21:51:20Z nyef: Partly parallelism with most of the other backends. 2014-05-28T21:51:51Z stassats: it isn't needed on gencgc (or is it?) and on cheneygc, it's only needed during GC or allocations, which are going from signals 2014-05-28T21:52:09Z nyef: Might also have something to do with backtrace. 2014-05-28T21:54:13Z stassats decides to come up with a way to get P-A-A and P-A-I into a single variable 2014-05-28T21:56:25Z nyef: Easy enough, use SWP. 2014-05-28T21:57:11Z nyef: My original design was crazier, it had P-A-I literally *in a register*. It didn't exist outside of a P-A context. 2014-05-28T21:57:12Z stassats: i got sidetracked into fixing static symbols annotations 2014-05-28T21:57:56Z nyef: Honestly, though, it's a load/store setup, you need an atomic swap in order to combine the two. 2014-05-28T21:58:04Z nyef: Or for them to be in a register. 2014-05-28T21:58:09Z nyef: And we don't have a register to spare. 2014-05-28T21:58:25Z pkhuong: I don't think we've had mem-mem swaps since 68k died 2014-05-28T21:58:38Z nyef: Reg/mem swap is sufficient for this. 2014-05-28T21:58:52Z nyef: You need to clear the p-a state while reading the p-a-i state. 2014-05-28T21:59:05Z nyef: And you need to Not Lose An Interrupt. 2014-05-28T21:59:07Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-28T21:59:33Z nyef: How about we convince the compiler to emit two copies of the P-A block and encode the P-A-I state in the program counter? 2014-05-28T21:59:59Z pkhuong: you just need an rmw isntruction. 2014-05-28T22:00:17Z pkhuong: swap, cas, atomic arithmetic... 2014-05-28T22:00:22Z nyef: The only RMW instructions are deprecated in favor of LL/SC. 2014-05-28T22:01:06Z nyef: Might work, I guess, 2014-05-28T22:01:12Z pkhuong: SC will abort on interrupt 2014-05-28T22:01:27Z nyef: AIUI, that's actually hardware and OS dependent. 2014-05-28T22:01:46Z pkhuong: or it'll succeed for cause 2014-05-28T22:02:20Z owl-v- joined #sbcl 2014-05-28T22:02:32Z nyef: The question is, will a straight store from the same core still break the link? 2014-05-28T22:02:48Z nyef: Well, the other question, that is. 2014-05-28T22:03:20Z pkhuong: yes, or ARM has a strange definition of SC 2014-05-28T22:03:40Z nyef: So, sb-gmp "new allocation method". I'm thinking "ugh", I'm thinking "add the explicit pin-list to the x86oids and use the runtime allocation primitives". 2014-05-28T22:04:40Z pkhuong: mostly I'm on the "ugh" side 2014-05-28T22:05:00Z pkhuong: I could perhaps see a wrapper around malloc that doesn't free/realloc lisp-allocated objects ;) 2014-05-28T22:07:34Z stassats: the current P-A scheme isn't interrupt safe, is it? there's a time where pai is set and paa is cleared 2014-05-28T22:09:13Z nyef: stassats: If that's the case, then asynchronous interrupts are still blocked until a receive occurs, which clears pai. 2014-05-28T22:11:13Z stassats: define "receive" 2014-05-28T22:12:58Z mega1 quit (Ping timeout: 240 seconds) 2014-05-28T22:13:14Z nyef: The pending-interrupt trap. 2014-05-28T22:13:28Z nyef: You know, that SWILT bit, or the version that doesn't require a register. 2014-05-28T22:13:33Z stassats: ok 2014-05-28T22:14:02Z nyef: Something similar happens in a WITHOUT-INTERRUPTS. 2014-05-28T22:15:41Z stassats: so, why not first read pai, then trap if it's set, the trap handler will clear pa, then clear pa 2014-05-28T22:16:02Z stassats: s/pa/paa/ 2014-05-28T22:16:33Z nyef: Because of the interrupt that arrives between the end of the trap and actually clearing pa. 2014-05-28T22:18:14Z stassats: ok 2014-05-28T22:18:47Z nyef: Now, if the trap handler also cleared paa, that might work. 2014-05-28T22:19:12Z stassats: only if the trap was set 2014-05-28T22:19:35Z nyef: If paa is already known to be clear then clearing it again does no harm. 2014-05-28T22:20:25Z nyef: And for sb!unix:receive-pending-interrupt paa will already be clear, as will pai, but there's a separate marker that *THAT* clears. 2014-05-28T22:21:02Z stassats: if you are referring to the may previous proposal, then if the interrupts hits between {CHECK PAII} <=here=> {CLEAR PAA}, then it will be lost 2014-05-28T22:22:42Z stassats: well, the interrupt handler can inspect the interrupt address and see that the next instruction is clear PAA 2014-05-28T22:22:55Z stassats: but i have a distaste for examining the instruction stream by signal handlers 2014-05-28T22:23:52Z stassats: string safepoints don't need pseudo-atomic at all 2014-05-28T22:24:02Z stassats: strict 2014-05-28T22:24:10Z stassats: so, let's just all switch to strict safepoints 2014-05-28T22:29:33Z nyef: Here's the thing: The pending-interrupt trap only EVER fires when the PAA is (or is supposed to be) clear. 2014-05-28T22:32:54Z stassats: what about byte stores? 2014-05-28T22:33:10Z stassats: are they atomic? 2014-05-28T22:33:17Z nyef: Clever! 2014-05-28T22:33:38Z nyef: You're only operating in the context of a single thread anyway, so yes, they are. 2014-05-28T22:33:50Z nyef: Mind the byte order. 2014-05-28T22:37:11Z stassats: swp would save a subsequent load instruction, but i fear all the synchronization actions will make it slower 2014-05-28T22:37:13Z pkhuong: could increment/decrement and look at flags for a (non-atomic) rmw 2014-05-28T22:37:24Z pkhuong: nope, can't 2014-05-28T22:38:33Z eudoxia joined #sbcl 2014-05-28T22:39:04Z stassats: "The processor state just before handling the exception is _normally_ preserved" 2014-05-28T22:39:04Z stassats: 2014-05-28T22:39:17Z stassats: did they have to put that normally there? not i'm not confident! 2014-05-28T22:39:23Z stassats: s/not/now/ 2014-05-28T22:41:20Z prxq quit (Ping timeout: 255 seconds) 2014-05-28T22:41:43Z drmeister joined #sbcl 2014-05-28T22:42:04Z nyef: Better than "the interrupt context includes between $n1$ and $n2$ words of opaque state that you're not allowed to mess with." 2014-05-28T22:42:40Z nyef: (Paraphrasing here from the 68k documentation.) 2014-05-28T22:44:27Z stassats: byte stores may not be any faster than having two variables 2014-05-28T22:45:19Z nyef: thumb instructions might be, though! 2014-05-28T22:49:15Z stassats: hm, there's a LDRD instruction, for loading doublewords 2014-05-28T22:49:56Z stassats: that can help with C ABI handling 2014-05-28T22:50:27Z ltbarcly joined #sbcl 2014-05-28T22:50:41Z ltbarcly quit (Client Quit) 2014-05-28T23:04:37Z Bicyclidine quit (Ping timeout: 252 seconds) 2014-05-28T23:07:13Z nyef: I think I've figured out more-or-less what's going on to trigger 655042, and why it only seems to trigger for a transform result, but not yet what to do about it. 2014-05-28T23:07:21Z stassats: lp 655042 2014-05-28T23:07:21Z specbot: https://bugs.launchpad.net/bugs/655042 2014-05-28T23:15:04Z nyef: Yeah, there it is, in ir1opt, transform-call. The new lambda is converted, patched in, and then a locall pass is done immediately, before DFO. DFO would have gotten rid of the dead NIL, but hasn't had a chance to run yet. 2014-05-28T23:24:05Z pkhuong: I think doing locall right after transforms is an SBCL thing. 2014-05-28T23:24:27Z pkhuong: but without it, transforms easily cause bad codegen because they're not inlined and straightened out. 2014-05-28T23:25:31Z nyef: Right, but the NIL is technically dead code. 2014-05-28T23:26:01Z nyef: So I see where it's going wrong, and how, but not yet the why or what to do about it. 2014-05-28T23:46:52Z zRecursive joined #sbcl 2014-05-29T00:11:38Z stassats quit (Ping timeout: 240 seconds) 2014-05-29T00:14:35Z Hydan joined #sbcl 2014-05-29T00:15:17Z scymtym_ joined #sbcl 2014-05-29T00:16:46Z DGASAU` joined #sbcl 2014-05-29T00:21:56Z DGASAU quit (Ping timeout: 244 seconds) 2014-05-29T00:21:56Z scymtym quit (Ping timeout: 244 seconds) 2014-05-29T00:52:45Z pkhuong: unsafe casts on return (and arguments) sounds like a valid solution... although it kind of tales away the whole point of the check 2014-05-29T00:54:12Z nyef: Well, the thing is, this only seems to trigger for a dead code path anyway, and the unsafe cast on the live path will be snapped out basically immediately. 2014-05-29T00:56:56Z nyef: On the other hand, I'm quite well aware that I don't yet understand enough about how this part of the compiler works to know if it's the right solution or not, or what the implications are. 2014-05-29T00:59:29Z slyrus quit (Ping timeout: 255 seconds) 2014-05-29T01:04:36Z krzysz00 quit (Ping timeout: 240 seconds) 2014-05-29T01:06:36Z krzysz00 joined #sbcl 2014-05-29T01:32:19Z edgar-rft joined #sbcl 2014-05-29T01:35:47Z eudoxia quit (Quit: leaving) 2014-05-29T01:58:30Z zRecursive left #sbcl 2014-05-29T02:02:04Z rpg joined #sbcl 2014-05-29T02:05:48Z krzysz00 quit (Ping timeout: 240 seconds) 2014-05-29T02:06:21Z DGASAU` is now known as DGASAU 2014-05-29T02:07:44Z krzysz00 joined #sbcl 2014-05-29T02:39:23Z christoph_debian quit (Ping timeout: 255 seconds) 2014-05-29T02:51:19Z rpg_ joined #sbcl 2014-05-29T02:53:21Z christoph_debian joined #sbcl 2014-05-29T02:55:00Z rpg quit (Ping timeout: 240 seconds) 2014-05-29T03:00:48Z michael_lee joined #sbcl 2014-05-29T03:06:19Z nyef quit (Quit: G'night all) 2014-05-29T03:07:39Z michael_lee quit (Ping timeout: 276 seconds) 2014-05-29T03:20:40Z michael_lee joined #sbcl 2014-05-29T03:28:28Z rpg_ quit (Quit: rpg_) 2014-05-29T03:32:44Z owl-v- quit (Quit: This computer has gone to sleep) 2014-05-29T03:38:05Z krzysz00 quit (Ping timeout: 264 seconds) 2014-05-29T03:39:26Z krzysz00 joined #sbcl 2014-05-29T04:37:59Z yacks joined #sbcl 2014-05-29T04:50:08Z samskulls quit (Ping timeout: 252 seconds) 2014-05-29T04:51:58Z samskulls joined #sbcl 2014-05-29T04:58:26Z attila_lendvai joined #sbcl 2014-05-29T05:20:54Z ASau joined #sbcl 2014-05-29T05:21:43Z samskulls quit (Quit: Reconnecting) 2014-05-29T05:21:56Z samskulls joined #sbcl 2014-05-29T05:21:56Z samskulls quit (Client Quit) 2014-05-29T05:24:53Z pranavrc joined #sbcl 2014-05-29T05:25:00Z pranavrc quit (Changing host) 2014-05-29T05:25:00Z pranavrc joined #sbcl 2014-05-29T05:28:12Z oleo quit (Ping timeout: 240 seconds) 2014-05-29T05:37:00Z attila_lendvai quit (Ping timeout: 240 seconds) 2014-05-29T05:38:40Z p_l quit (Ping timeout: 258 seconds) 2014-05-29T05:40:34Z p_l joined #sbcl 2014-05-29T05:41:29Z oleo joined #sbcl 2014-05-29T05:46:54Z pranavrc quit (Ping timeout: 276 seconds) 2014-05-29T05:53:40Z pranavrc joined #sbcl 2014-05-29T06:01:54Z mega1 joined #sbcl 2014-05-29T06:15:48Z pranavrc quit (Ping timeout: 240 seconds) 2014-05-29T06:24:31Z pranavrc joined #sbcl 2014-05-29T06:24:31Z pranavrc quit (Changing host) 2014-05-29T06:24:31Z pranavrc joined #sbcl 2014-05-29T06:51:32Z sdemarre joined #sbcl 2014-05-29T06:56:05Z sdemarre quit (Ping timeout: 264 seconds) 2014-05-29T06:56:57Z yacks quit (Ping timeout: 245 seconds) 2014-05-29T06:59:27Z prxq joined #sbcl 2014-05-29T07:16:04Z yacks joined #sbcl 2014-05-29T07:26:04Z attila_lendvai joined #sbcl 2014-05-29T07:47:51Z prxq quit (Ping timeout: 258 seconds) 2014-05-29T07:51:31Z attila_lendvai quit (Ping timeout: 252 seconds) 2014-05-29T08:06:09Z attila_lendvai joined #sbcl 2014-05-29T08:09:48Z michael_lee quit (Ping timeout: 240 seconds) 2014-05-29T08:13:17Z angavrilov joined #sbcl 2014-05-29T08:21:13Z fridim_ joined #sbcl 2014-05-29T08:23:14Z michael_lee joined #sbcl 2014-05-29T08:27:01Z sdemarre joined #sbcl 2014-05-29T08:40:17Z yacks quit (Ping timeout: 252 seconds) 2014-05-29T08:41:03Z michael_lee quit (Quit: Ex-Chat) 2014-05-29T08:42:36Z krzysz00 quit (Ping timeout: 252 seconds) 2014-05-29T08:44:35Z krzysz00 joined #sbcl 2014-05-29T08:53:27Z attila_lendvai quit (Ping timeout: 276 seconds) 2014-05-29T09:02:28Z gingerale quit (Read error: Connection reset by peer) 2014-05-29T09:08:00Z attila_lendvai joined #sbcl 2014-05-29T09:08:00Z attila_lendvai quit (Changing host) 2014-05-29T09:08:00Z attila_lendvai joined #sbcl 2014-05-29T09:19:20Z attila_lendvai quit (Quit: Leaving.) 2014-05-29T09:34:09Z yacks joined #sbcl 2014-05-29T09:41:06Z stassats joined #sbcl 2014-05-29T09:54:29Z momo-reina joined #sbcl 2014-05-29T10:41:00Z yacks quit (Ping timeout: 240 seconds) 2014-05-29T10:57:53Z momo-reina quit (Read error: Connection reset by peer) 2014-05-29T11:06:49Z yacks joined #sbcl 2014-05-29T11:23:36Z pranavrc quit (Ping timeout: 276 seconds) 2014-05-29T11:31:13Z pranavrc joined #sbcl 2014-05-29T11:31:13Z pranavrc quit (Changing host) 2014-05-29T11:31:13Z pranavrc joined #sbcl 2014-05-29T11:58:06Z stassats: (elt (make-array 10 :element-type 'nil) 1) => The value 1 is not of type FIXNUM. is a regression, actually 2014-05-29T11:58:23Z stassats: previously it was SB-KERNEL:NIL-ARRAY-ACCESSED-ERROR 2014-05-29T12:07:08Z owl-v- joined #sbcl 2014-05-29T12:18:39Z krzysz00 quit (Quit: Lost terminal) 2014-05-29T12:44:51Z segv- quit (Ping timeout: 276 seconds) 2014-05-29T12:48:40Z sdemarre quit (Ping timeout: 265 seconds) 2014-05-29T12:50:18Z stassats: raises-error? is never used without assert 2014-05-29T12:50:41Z stassats: and i found few instances were assert was forgotten 2014-05-29T12:50:59Z stassats: i'm leaning to make raises-error? to be asserting 2014-05-29T12:51:40Z stassats: maybe assert-error 2014-05-29T12:54:14Z nyef joined #sbcl 2014-05-29T12:54:19Z pkhuong: +1 on assert-error 2014-05-29T12:54:55Z nyef: G'morning all. 2014-05-29T12:56:44Z psilord quit (Quit: Leaving.) 2014-05-29T13:06:45Z eudoxia joined #sbcl 2014-05-29T13:08:34Z pranavrc quit 2014-05-29T13:08:49Z oleo: morning 2014-05-29T13:08:53Z stassats: finding even more bare raises-error? during replacing 2014-05-29T13:09:38Z owl-v- quit (Quit: This computer has gone to sleep) 2014-05-29T13:11:33Z owl-v- joined #sbcl 2014-05-29T13:29:49Z drmeister quit (Remote host closed the connection) 2014-05-29T13:30:10Z stassats: nil array access got really broken 2014-05-29T13:31:13Z stassats: (funcall (compile nil `(lambda () (aref (make-array 10 :element-type nil) 0)))) => invalid number of arguments: 0 2014-05-29T13:31:39Z drmeister joined #sbcl 2014-05-29T13:33:47Z krzysz00 joined #sbcl 2014-05-29T13:34:49Z drmeiste_ joined #sbcl 2014-05-29T13:36:11Z drmeister quit (Ping timeout: 252 seconds) 2014-05-29T13:36:42Z pkhuong: dead code elimination in action. 2014-05-29T13:37:04Z pkhuong: at least we only do that for :known functions 2014-05-29T13:38:11Z stassats: (funcall (compile nil `(lambda (x) (aref x 0))) (make-array 10 :element-type nil)) => The value 0 is not of type FIXNUM. 2014-05-29T13:38:31Z drmeister joined #sbcl 2014-05-29T13:38:51Z pkhuong: My guess if you're just falling through to the first error trap in elsewhere 2014-05-29T13:39:15Z stassats: i did bisection the whole bisection on a wrong form, it was affected by DEBUG 2 2014-05-29T13:40:45Z drmeiste_ quit (Ping timeout: 276 seconds) 2014-05-29T13:44:55Z nyef: ... ir1opt will normally snap out an unsafe CAST if it's known to always succeed, won't it? 2014-05-29T13:48:36Z krzysz00 quit (Ping timeout: 265 seconds) 2014-05-29T13:50:14Z krzysz00 joined #sbcl 2014-05-29T13:54:07Z owl-v- quit (Quit: This computer has gone to sleep) 2014-05-29T13:56:40Z stassats: and (funcall (compile nil `(lambda (x) (schar x 0))) (make-array 10 :element-type nil)) => #\random 2014-05-29T14:01:23Z gingerale joined #sbcl 2014-05-29T14:06:06Z drmeister quit (Ping timeout: 276 seconds) 2014-05-29T14:06:38Z psilord joined #sbcl 2014-05-29T14:08:27Z fridim_ quit (Ping timeout: 252 seconds) 2014-05-29T14:10:23Z sdemarre joined #sbcl 2014-05-29T14:12:41Z eudoxia quit (Quit: leaving) 2014-05-29T14:13:31Z stassats: and can't automate bisecting due to bad source code 2014-05-29T14:18:50Z krzysz00 quit (Ping timeout: 252 seconds) 2014-05-29T14:20:51Z krzysz00 joined #sbcl 2014-05-29T14:23:31Z stassats: downloading binaries, that's between 1.1.9 and 1.1.10 2014-05-29T14:23:57Z attila_lendvai joined #sbcl 2014-05-29T14:23:57Z attila_lendvai quit (Changing host) 2014-05-29T14:23:57Z attila_lendvai joined #sbcl 2014-05-29T14:24:03Z stassats: make that 1.1.8 and 1.1.9 2014-05-29T14:24:33Z stassats: no, take that back 2014-05-29T14:24:48Z stassats: back again 2014-05-29T14:27:54Z davazp joined #sbcl 2014-05-29T14:29:33Z ivan4th joined #sbcl 2014-05-29T14:29:42Z drmeister joined #sbcl 2014-05-29T14:30:19Z drmeister quit (Read error: Connection reset by peer) 2014-05-29T14:30:37Z drmeister joined #sbcl 2014-05-29T14:31:46Z stassats: could it be 8de43b3a81c0ad229a62289c712f72c09fe4d9f1 ? 2014-05-29T14:33:04Z karswell` quit (Ping timeout: 265 seconds) 2014-05-29T14:35:09Z pillton quit (*.net *.split) 2014-05-29T14:41:18Z stassats: i guessed right 2014-05-29T14:43:24Z stassats: so, just revert it? 2014-05-29T14:47:42Z stassats: or somehow convince it not to flush data-vector-ref-with-offset/simple-array-nil? 2014-05-29T14:52:45Z slyrus joined #sbcl 2014-05-29T14:54:59Z nyef: Split out that case of data-vector-ref{,-with-offset} so that it can be marked otherwise? 2014-05-29T14:55:20Z stassats: if all else fails 2014-05-29T14:55:24Z nyef: Otherwise, yeah, revert with justification. 2014-05-29T14:56:17Z karswell joined #sbcl 2014-05-29T14:56:33Z stassats: i guess that's the meaning of unsafely-flushable, if the return value is NIL, then it errors, and it can be flushed 2014-05-29T14:56:51Z stassats: but here it depends on that error being signalled 2014-05-29T15:04:43Z stassats: (aref (make-array 10 :element-type t) 10) produces an error too, but it's not elided 2014-05-29T15:12:55Z nyef: ... because it comes from with-array-data? 2014-05-29T15:13:11Z stassats: i gather that it comes from somewhere earlier 2014-05-29T15:13:48Z stassats: maybe pkhuong has an idea 2014-05-29T15:13:57Z stassats: since it's his change 2014-05-29T15:15:40Z stassats: translating into something means: another known function, another transform 2014-05-29T15:19:26Z karswell quit (Read error: Connection reset by peer) 2014-05-29T15:19:42Z karswell joined #sbcl 2014-05-29T15:20:30Z nyef: Basically, unsafe AREF transforms into a bounds-check structure around a safe AREF. 2014-05-29T15:23:23Z stassats: but, do we really want to flush any arefs unsafely? 2014-05-29T15:25:57Z nyef: That I couldn't tell you. 2014-05-29T15:28:24Z pkhuong: stassats: on reads? why not? 2014-05-29T15:28:39Z slyrus quit (Ping timeout: 276 seconds) 2014-05-29T15:29:05Z stassats: bound checks, somebody may want them 2014-05-29T15:29:27Z pkhuong: in unsafe code? 2014-05-29T15:29:47Z stassats: unsafe code happens to be anything below safety 3, which is not default and rarely used 2014-05-29T15:29:49Z pkhuong: bound checks don't happen in data-vector-ref 2014-05-29T15:30:08Z stassats: and back to nil arrays, do you have another angle on solving? 2014-05-29T15:31:34Z pkhuong: special case data-vector-ref[-with-offset] for nil arrays and emit an error trap directly 2014-05-29T15:32:04Z stassats: so, data-nil-vector-ref? 2014-05-29T15:32:41Z pkhuong: wait no. 2014-05-29T15:33:10Z pkhuong: (lambda (x) (aref x 0)) shouldn't get to d-v-r-w-o 2014-05-29T15:33:29Z sdemarre quit (Ping timeout: 265 seconds) 2014-05-29T15:34:11Z stassats: it gets it somewhere down the line 2014-05-29T15:34:12Z pkhuong: so we have two different bugs. One happens in hairy data vector ref 2014-05-29T15:34:32Z stassats: i compiled with unsafely-flushable removed, it fixes all instances 2014-05-29T15:34:36Z pkhuong: which could/should do an explicit check 2014-05-29T15:35:02Z pkhuong: we had a similar issue when you changed the code to generate cases with a macro. 2014-05-29T15:35:30Z pkhuong: and re d-v-ref, we only convert to that when we definitely know the upgraded element type 2014-05-29T15:35:41Z pkhuong: so we can check if the uet is NIL and not convert to d-v-r in that case 2014-05-29T15:36:12Z stassats: but data-vector-ref is used to generate a trap 2014-05-29T15:36:47Z pkhuong: because it's really important that knowingly dereferencing a NIL array be quick ;) 2014-05-29T15:38:50Z stassats quit (Excess Flood) 2014-05-29T15:39:06Z stassats joined #sbcl 2014-05-29T15:40:47Z stassats: pkhuong: it wastes space when you don't know access nil-arrays 2014-05-29T15:40:53Z pkhuong: uh? 2014-05-29T15:41:07Z pkhuong: what wastes space? 2014-05-29T15:41:31Z stassats: referencing nil-arrays doesn't have to be quick 2014-05-29T15:41:44Z stassats: but it needs to be compact 2014-05-29T15:41:54Z stassats: the error reporting code part of it 2014-05-29T15:42:26Z stassats: since schar opencodes it 2014-05-29T15:42:53Z pkhuong: then yeah, I'd use another name than d-v-ref. 2014-05-29T15:44:42Z stassats: or transform into %type-check-error/c 2014-05-29T15:45:24Z stassats: which is #!-(or alpha hppa mips) 2014-05-29T15:47:04Z pkhuong: type-check-error, and it'll get the /c variant where it exists? 2014-05-29T15:47:09Z pkhuong: although, what would the type be? 2014-05-29T15:49:40Z stassats: make-type-check-form calls %type-check-error/c without checking for (or alpha hppa mips), that would be broken, wouldn't it? 2014-05-29T15:49:57Z nyef: It turns out that there's an easy initial step which would get the interface required for %type-check-error/c on the remaining three platforms, though not the rest of the implementation goodness. 2014-05-29T16:02:24Z eudoxia joined #sbcl 2014-05-29T16:13:57Z prxq joined #sbcl 2014-05-29T16:20:00Z krzysz00: Line break analyzer finished. 2014-05-29T16:28:11Z stassats: transforming to %type-check-error/c actually saves space, since it doesn't load the index 2014-05-29T16:32:36Z loke_ joined #sbcl 2014-05-29T16:36:04Z edgar-rft quit (Quit: mental process ended into perpetual nothing) 2014-05-29T16:47:01Z fridim_ joined #sbcl 2014-05-29T17:02:11Z stassats: and there are too many cases of error-call usage as a macro on mips/hppa/alpha, so i won't attempt to fix them without compiling 2014-05-29T17:02:31Z stassats: although i could just cross-compile without running 2014-05-29T17:03:35Z irsol quit (Read error: Connection reset by peer) 2014-05-29T17:03:48Z nyef: Two secs, before you do that. 2014-05-29T17:04:17Z stassats: i really don't want to! 2014-05-29T17:06:14Z nyef: Commit 09610e6e65f70cbfa32a6890f7e0c44f85f6bf16 is the minimal change, IIRC. 2014-05-29T17:06:57Z nyef: If you want to leave it alone for a while, I'm still trying to get a working MIPS system and a working HPPA system. 2014-05-29T17:10:11Z stassats: i guess i'll just do a special data-nil-vector-ref function for now 2014-05-29T17:10:55Z nyef: Also, there's a non-zero chance that I could have a working Alpha in time for 1.2.2. 2014-05-29T17:18:20Z slyrus joined #sbcl 2014-05-29T17:20:58Z brown` quit (Read error: Connection reset by peer) 2014-05-29T17:21:38Z brown` joined #sbcl 2014-05-29T17:23:42Z slyrus quit (Ping timeout: 276 seconds) 2014-05-29T17:33:53Z stassats: and as i feared, data-vector-ref may be transformed when the type is not yet known, giving up the transform, type deriver then derives NIL and it's flushed 2014-05-29T17:37:39Z cracauer: hullu 2014-05-29T17:37:49Z cracauer: anybody up for some more garbage questions? 2014-05-29T17:37:57Z attila_lendvai quit (Quit: Leaving.) 2014-05-29T17:38:10Z cracauer: I am still having stray forwarding pointers as a result of my GC fixes 2014-05-29T17:38:33Z irsol joined #sbcl 2014-05-29T17:38:43Z cracauer: and I don't understand how the GC ensures that a pass fixing up forwarding pointers must happen later than a pass inserting them. 2014-05-29T17:39:32Z stassats: and i'm lost, the only thing i can fall back to is removing unsafely-flushable 2014-05-29T17:40:45Z pkhuong: stassats: data-vector-ref shouldn't be transformed when the type is unknown. 2014-05-29T17:41:14Z pkhuong: calls to d-v-r might initially have unknown types, though. 2014-05-29T17:41:28Z pkhuong: I mean, we shouldn't ever transform *to* data-vector-ref before knowing the type. 2014-05-29T17:42:11Z pkhuong: whatever (source) transform converts to d-v-r is where we need to insert logic. 2014-05-29T17:42:41Z stassats: there are plain source transform 2014-05-29T17:43:54Z nyef: cracauer: You don't understand how the GC design requires it, or you don't understand where the mechanism for it is? 2014-05-29T17:44:50Z cracauer: both :-) 2014-05-29T17:44:53Z pkhuong: source transforms I know of are: from d-v-r to d-v-r-with-offset (and we should never get there for a NIL array), and for schar/svref, which have explicit type checks/dispatch. 2014-05-29T17:45:19Z cracauer: nyef, the way I read it only newspace gets second passes 2014-05-29T17:45:21Z pkhuong: cracauer: re forwarding pointers, it's a cheney trick 2014-05-29T17:45:38Z cracauer: oh? 2014-05-29T17:46:20Z pkhuong: forwarding pointers represent the info that object x is now at x', and objects are copied over (modulo pinning) on their first reference. 2014-05-29T17:46:37Z cracauer: yes 2014-05-29T17:46:42Z stassats: so, svref should be transformed into an ir1 transform 2014-05-29T17:46:42Z pkhuong: so there is nothing to fixup. 2014-05-29T17:46:54Z nyef: Right, pinned objects don't get forwarders, and their pages are moved to newspace. 2014-05-29T17:47:18Z cracauer: wait, are you saying that the forwarding pointers are left in space after GC? I don't think so 2014-05-29T17:47:20Z nyef: Old-generation pages are then scavenged and the pointers fixed up immediately. 2014-05-29T17:47:34Z stassats: i just don't get why half of data-vector-ref transforms are in array-tran, another in vm-tran 2014-05-29T17:48:18Z pkhuong: stassats: svref has a type check for simple-vector 2014-05-29T17:48:25Z cracauer: I still can't identify the code places for the two separate steps of first placing the forwarding pointer and then later resolving it 2014-05-29T17:48:29Z pkhuong: cracauer: do you see how forwarding pointers works in cheneygc, without generations? 2014-05-29T17:48:45Z cracauer: I mean I see the code that does both, but not how it is invoked in the proper order 2014-05-29T17:48:52Z cracauer: pkhuong, no 2014-05-29T17:48:57Z stassats: right 2014-05-29T17:49:13Z cracauer: reading now 2014-05-29T17:49:28Z pkhuong: cracauer: then let's do that. Forwarding pointer is a bit misleading. I prefer broken heart. 2014-05-29T17:50:04Z nyef: cracauer: No, only oldspace pages that are to be discarded hold forwarding pointers. Only newspace pages require a second pass to fix up possible forwarding pointers. 2014-05-29T17:50:14Z cracauer: cheneygc.c is a bit light on "forward" matches 2014-05-29T17:50:25Z cracauer: nyef, oh 2014-05-29T17:50:57Z cracauer: ok, that gives me some traction 2014-05-29T17:51:22Z pkhuong: nyef: that's only because of extra stuff like weak pointers though. 2014-05-29T17:51:23Z cracauer: of course now the pages conservatively pointed to will no longer be disgarded 2014-05-29T17:51:49Z cracauer: I actually did try to call scavenge() on those pages manually 2014-05-29T17:52:03Z cracauer: but that bombs right away since it doesn't expect to find forwarding pointers 2014-05-29T17:52:31Z cracauer: gc-common.c:L127 2014-05-29T17:52:33Z nyef: cracauer: Speaking of GC, did you ever decide on the whole "pluggable allocation region" thing? 2014-05-29T17:53:11Z cracauer: I didn't have time to think about it 2014-05-29T17:53:47Z oleo is now known as Guest12785 2014-05-29T17:54:40Z nyef: Basically, the main thing is to be able to allocate a decent-sized block of memory, say "everything in this space is live", allocate into it for a while, then when you're done just discard the region. 2014-05-29T17:55:05Z cracauer: That is more like Doug's thing. 2014-05-29T17:55:21Z cracauer: I would prefer fork() but that's a different topic :-) 2014-05-29T17:55:38Z oleo__ joined #sbcl 2014-05-29T17:55:38Z nyef: ... with multiple threads? 2014-05-29T17:55:45Z pkhuong: I'd prefer fork for gc ;) 2014-05-29T17:56:06Z cracauer: I actually implemented gc-by-fork for QPX 2014-05-29T17:56:11Z oleo__ is now known as oleo 2014-05-29T17:56:25Z cracauer: at the time the kernel was too slow copying the big VM page tables 2014-05-29T17:56:47Z pkhuong: so... early/mid 2.6.x? 2014-05-29T17:56:48Z cracauer: and now of course all real-world systems use all these libraries that start threads and give no way of shutting them down 2014-05-29T17:56:56Z cracauer: pkhuong, exactly 2014-05-29T17:57:00Z cracauer: real shame, that 2014-05-29T17:57:17Z Guest12785 quit (Ping timeout: 264 seconds) 2014-05-29T17:57:28Z nyef: So, being able to fork() a lisp process while keeping track of all of the threads for clean disposal is possibly-useful? 2014-05-29T17:57:52Z nyef: (Well, semi-clean disposal, really.) 2014-05-29T17:57:53Z cracauer: not if one of them is holding a lock 2014-05-29T17:57:57Z cracauer: might be a C thread 2014-05-29T17:58:03Z nyef: Ah, right. 2014-05-29T17:58:05Z nyef: That's no good. 2014-05-29T17:58:35Z cracauer: I mean you could design a threading system that would allow this and not require a total shutdown of all other threads 2014-05-29T17:58:50Z pkhuong: lock free everywhere. 2014-05-29T17:58:51Z cracauer: but we are talking libraries written by other people in other languages 2014-05-29T17:58:56Z pkhuong: yeah (: 2014-05-29T17:59:32Z cracauer: There are some people left who still didn't get that Lisp is the only usable programming language 2014-05-29T17:59:47Z cracauer: anyway 2014-05-29T18:00:03Z cracauer: so I am running into problems with finding forwarding pointers in real space, with my fixes 2014-05-29T18:00:05Z pkhuong: I'd be interested to see mark/sweep in a forkee, and sending back the freelist to the parent via pipes (: 2014-05-29T18:00:19Z cracauer: my fixes don't move conserv.ptr.to. pages to newspace 2014-05-29T18:00:31Z cracauer: then I prevent those pages from being disgarded 2014-05-29T18:00:47Z cracauer: and wipe what hasn't been marked as cons.ptr.to valid 2014-05-29T18:01:07Z nyef: But you get stale pointers in them still? 2014-05-29T18:01:14Z pkhuong: I guess forwarding could also zero the remainder of the object. 2014-05-29T18:01:40Z cracauer: My wiping is possibly inexact. 2014-05-29T18:01:41Z nyef: You have the live-object list for those pinned pages, right? 2014-05-29T18:01:54Z pkhuong: So whenever you see a forwarding pointer, you just skip to the next double word, and zeros are treated as conses. 2014-05-29T18:02:03Z cracauer: what I do is mark the page with where conservative pointers point to, exactly 2014-05-29T18:02:24Z cracauer: and then during scavenge I keep note of the real beginning and expected size of the object 2014-05-29T18:02:28Z nyef: You should be able to scavenge just those live objects, which will update any stale pointers from forwarders, then blank the rest of the page. 2014-05-29T18:02:29Z cracauer: then I wipe the rest 2014-05-29T18:02:53Z cracauer: nyef, interesting 2014-05-29T18:03:26Z pkhuong: nyef: You have to wipe before setting the forwarding pointer, though; without the header, it's hard to tell the size of the original object. 2014-05-29T18:03:59Z nyef: pkhuong: I'm talking about having a list of the roots, not scavenging the entire page. 2014-05-29T18:04:48Z cracauer: but the root might be inexact 2014-05-29T18:04:59Z pkhuong: cracauer: the rooted object is exact. 2014-05-29T18:05:22Z cracauer: oh, so it should be safe to wipe everything before the conservtively pointed to location. 2014-05-29T18:05:33Z pkhuong: location*s*. 2014-05-29T18:05:56Z nyef: You need to make sure that you're not skipping the process of validating conservative roots if they're to within a pinned page, of course. 2014-05-29T18:05:59Z cracauer: The problem is the size of the object 2014-05-29T18:06:15Z nyef: Once you have a pointer to the header, you can use sizetab[]. 2014-05-29T18:06:17Z pkhuong: the ones you want to wipe out, or the conservative root? 2014-05-29T18:06:33Z cracauer: I do not think that the stack always points to the beginning of an object 2014-05-29T18:06:56Z nyef: The only time that a conservative root is not also a valid boxed pointer is for code objects. 2014-05-29T18:07:10Z pkhuong: cracauer: it doesn't, but we validate roots stringently by finding the enclosing object and checking if it makes sense. 2014-05-29T18:07:13Z cracauer: what I am saying is that when I do bookkeeping during scavenge() then I find that objects start before a conservatively pointed to location 2014-05-29T18:09:52Z nyef: You know, I *still* think that we could do a split-stack and split-register-set arrangement on x86-64, possibly while keeping the ability to use CALL/RET natively, meaning that we would *only* use the explicit pin list for conservative roots. 2014-05-29T18:09:53Z pkhuong: I'm saying that we determine what the enclosing object before treating potential roots conservatively. 2014-05-29T18:10:16Z cracauer: ok, I gotta get back to you guys on that. Right now it seems my logging of pointer adjustments got broken in my diff 2014-05-29T18:10:39Z cracauer: pkhuong, right 2014-05-29T18:10:49Z cracauer: I wonder whether I discard that right now 2014-05-29T18:11:49Z pkhuong: of course, if we start pinning individual objects, it might be simpler to just have a sorted vector of potential roots 2014-05-29T18:12:23Z pkhuong: and validate them as we expulse from oldspace 2014-05-29T18:15:00Z cracauer: no, I don't think preserve_pointer() actually knows the beginning of the object 2014-05-29T18:15:14Z cracauer: unless it assumes the conservative pointer must be to the beginning of the object 2014-05-29T18:15:52Z cracauer: it only knows about regions 2014-05-29T18:16:05Z cracauer: that is why I record beginning and size during scavenge() 2014-05-29T18:17:10Z pkhuong: First thing possibly_valid_dynamic_space_pointer does is call search_dynamic_space 2014-05-29T18:18:11Z cracauer: gc_search_space 2014-05-29T18:18:13Z cracauer: I see 2014-05-29T18:18:28Z pkhuong: but that's slow. 2014-05-29T18:18:51Z pkhuong: It just walks down the allocation region. 2014-05-29T18:19:06Z cracauer: but we call it already 2014-05-29T18:19:57Z cracauer: ok, ok 2014-05-29T18:20:12Z pkhuong: right, so we should try and use its result directly 2014-05-29T18:20:31Z cracauer: so I use the result of gc_search_space, which we already call on the conservative pointer, instead of the conservative pointer itself 2014-05-29T18:20:44Z cracauer: that gives me the beginning without having to record it during scavenge 2014-05-29T18:21:17Z cracauer: then I am guaranteed to be able to call sizetab[] on that without having to fear that it bombs because the pointer was into the middle of an object 2014-05-29T18:21:34Z cracauer: then I can toss all that work I am doing during scavenge() right now 2014-05-29T18:21:55Z cracauer: to record beginning and size 2014-05-29T18:22:10Z krzysz00 quit (Ping timeout: 265 seconds) 2014-05-29T18:22:20Z cracauer: then I make another pass over pages with conservatively pointed to things 2014-05-29T18:22:28Z cracauer: wiping everything outside objects 2014-05-29T18:22:36Z cracauer: scavenging everything inside objects 2014-05-29T18:22:56Z cracauer: that should get rid of any forwarding pointers 2014-05-29T18:23:20Z cracauer: finally, don't discard the page, put it into what we just treated as newspace 2014-05-29T18:23:54Z cracauer: did I just go off the deep end or does that sound reasonable? 2014-05-29T18:24:05Z krzysz00 joined #sbcl 2014-05-29T18:24:06Z pkhuong: sounds reasonable 2014-05-29T18:24:17Z pkhuong: clearly a path dependency thing, but reasonable. 2014-05-29T18:24:28Z cracauer: why would scavenge() then not move things in those protected regions? 2014-05-29T18:24:51Z pkhuong: in what protected regions? 2014-05-29T18:25:03Z cracauer: the conservatively pointed to objects (not regions) 2014-05-29T18:25:10Z stassats: and now i have full-calls to data-nil-vector for multidimensional arrays 2014-05-29T18:25:13Z pkhuong: the region is marked as dontmove 2014-05-29T18:25:57Z cracauer: I think scavenge() doesn't know about that 2014-05-29T18:26:27Z cracauer: scavenge depends on whether something points to oldspace 2014-05-29T18:26:39Z cracauer: and we put the pages with conservatively pointed things into newspace 2014-05-29T18:27:13Z stassats: i see, i'm calling it on the wrong thing 2014-05-29T18:27:24Z cracauer: I guess I can leave them there (in newspace) now 2014-05-29T18:28:10Z stassats: it's so nice that SBCL congratulates me each time i access nil arrays 2014-05-29T18:28:51Z cracauer: is it possible that I was just thick and things are a lot simpler than I made them? :-) 2014-05-29T18:29:06Z pkhuong: gencgc is twisted 2014-05-29T18:29:16Z stassats: cracauer: never underestimate the runtime 2014-05-29T18:29:18Z pkhuong: gengc only slightly less so, it seems. 2014-05-29T18:29:54Z cracauer: can any of you remind me why I decided to not put those pages with conservatively pointed to things into newspace anymore? 2014-05-29T18:30:13Z cracauer: oh that's right, because I need to do something about the other objects in there 2014-05-29T18:30:17Z pkhuong: yeah. 2014-05-29T18:30:18Z cracauer: I want those moved out 2014-05-29T18:30:24Z pkhuong: or just use mark bits 2014-05-29T18:30:45Z pkhuong: and then we're half way to a hybrid cheney/mark&sweep! 2014-05-29T18:31:04Z stassats: now it complains that INDEX variable is not used 2014-05-29T18:31:31Z cracauer: OK, what would be better? Put the pages with conservatively pointed to things into newspace and then do an extra scavenge for the other objects? 2014-05-29T18:31:45Z stassats: i guess i can accept it, but make :load-if (not t) 2014-05-29T18:31:46Z cracauer: or do not move them to newspace? 2014-05-29T18:32:06Z cracauer: and protect my conserv. things during scavenge. 2014-05-29T18:32:54Z pkhuong: cracauer: we already have logic to protect conservative stuff during scavenge 2014-05-29T18:33:00Z pkhuong: (and them migrate to newspace) 2014-05-29T18:33:11Z pkhuong: It may be easier to stick o that pattern. 2014-05-29T18:33:30Z pkhuong: stassats: you can ignore VOP args. 2014-05-29T18:34:17Z cracauer: OK, so I still move those pages to newspace. 2014-05-29T18:34:29Z cracauer: Assuming I don't want a bitmap for valid objects 2014-05-29T18:34:31Z stassats: pkhuong: i had data-nil-vector with just one arg 2014-05-29T18:34:32Z cracauer: wait why not? 2014-05-29T18:34:45Z cracauer: I need one anyway for the conservatively pointed to things 2014-05-29T18:34:50Z stassats: now i put it the index into info and ignoring it 2014-05-29T18:35:14Z pkhuong: stassats: I see. 2014-05-29T18:35:24Z stassats: and expect it to complain "you can't put non-constants into info, you clod" 2014-05-29T18:36:09Z cracauer: Paul, I think I am still a bit puzzled about where that protection of conservative stuff is in gc-common.c during scavenge 2014-05-29T18:36:14Z pkhuong: stassats: why do you pass the index to data-vil-vector? 2014-05-29T18:36:31Z cracauer: is it possible that the fact that the pages are always in newspace is the only protection we have right now? 2014-05-29T18:36:53Z stassats: pkhuong: that's the problem above, otherwise things complain about an unused variable 2014-05-29T18:37:21Z Krystof: you guys are clearly having fun! 2014-05-29T18:37:27Z pkhuong: stassats: declare ignore? 2014-05-29T18:38:24Z stassats: and, i can't have :info without a :constant type 2014-05-29T18:38:30Z nyef: cracauer: The save-vs-having a forwarding pointer installed? Yes, that's because it's in newspace already. 2014-05-29T18:38:59Z stassats: pkhuong: and if the variable is from some outer code? 2014-05-29T18:39:11Z pkhuong: stassats: (progn index (foo)) 2014-05-29T18:39:15Z cracauer: right, I don't think scavenge and the *tabs[] know anything about dont_move as such 2014-05-29T18:39:25Z pkhuong: cracauer: ah I see, yeah. 2014-05-29T18:39:48Z stassats: would a register be rounded up if i add it as an argument but :load-if (not t)? 2014-05-29T18:40:30Z pkhuong: stassats: you'd still have code to compute the index ;) 2014-05-29T18:41:31Z cracauer: ok, so if I leave the pages with conservatively pointed to things in newspace 2014-05-29T18:41:46Z stassats: pkhuong: not for constants 2014-05-29T18:41:51Z cracauer: how do I treat the objects that are not conservatively pointed to? 2014-05-29T18:42:28Z pkhuong: cracauer: did you remove the logic to skip pointers that point to pages that are already pinned, btw? 2014-05-29T18:42:30Z cracauer: if I don't want to use a bitmask, I would want them normally scavenged and moves... well into newspace 2014-05-29T18:43:04Z cracauer: pkhuong, yes I killed that 2014-05-29T18:43:28Z cracauer: The code knows that we might now have to treat the same pages for multiple conservatively pointed to things twice 2014-05-29T18:43:49Z nyef: cracauer: Here's an idea: Transport all of the objects that *aren't* pinned to a fresh page, leaving forwarders behind. Put both the pinned page and the new page in newspace. It'll take an extra GC to collect the dead objects, but it'd evacuate the page properly. 2014-05-29T18:44:31Z nyef: Alternately, transport them to a new page, put that page into oldspace, and make sure that the forwarding-pointer check can handle an extra level of forwarding. 2014-05-29T18:44:40Z cracauer: OK, so I call scavenge on The Others (not conservatively pointed to), while preventing that the page is oldspace 2014-05-29T18:44:56Z pkhuong: cracauer: do you currently build a table of objects that are conservatively pointed to? 2014-05-29T18:45:09Z krzysz00: Krystof: I've implemented Unicode line breaking. It's on my branch. 2014-05-29T18:45:10Z cracauer: no, I mark them in the page table entry 2014-05-29T18:45:19Z pkhuong: mark them how? 2014-05-29T18:45:29Z cracauer: additional field in the structure 2014-05-29T18:45:39Z cracauer: two fields, beginning and size 2014-05-29T18:45:39Z pkhuong: ok, what kind of field? 2014-05-29T18:45:49Z stassats: the bloody thing won't give up 2014-05-29T18:45:59Z cracauer: pointer for beginning, int for size 2014-05-29T18:46:07Z pkhuong: cracauer: what happens when you have multiple conservative refs? 2014-05-29T18:46:24Z cracauer: in the code version I have now I bail out of the fix 2014-05-29T18:46:39Z cracauer: right now I only want to fix pages with a single cons. root 2014-05-29T18:46:59Z stassats: that was just my test case being broken 2014-05-29T18:47:00Z cracauer: later I would use a bitmap with one bit per word 2014-05-29T18:47:09Z pkhuong: cracauer: per dword, I hope (: 2014-05-29T18:47:36Z pkhuong: argh, conses foil my plan of abusing the widetag's 0th bit as a mark bit 2014-05-29T18:47:56Z cracauer: right 2014-05-29T18:49:09Z slyrus joined #sbcl 2014-05-29T18:50:27Z Krystof: krzysz00: how are you testing your stuff? 2014-05-29T18:51:10Z cracauer: ok, so either way, I will have to call scavenge() on my objects not conservatively pointed to while pretending that the page is in oldspace 2014-05-29T18:51:24Z cracauer: that copies them out and leaves forwarding pointers 2014-05-29T18:51:59Z cracauer: then I scavenge the objects that are conservatively pointed to while pretending the page is newspace 2014-05-29T18:52:03Z pkhuong: cracauer: bitmap would probably be better for the future (: 2014-05-29T18:52:36Z cracauer: wouldn't that be very complicated because all type-specific scavenge functions would have to know about it? 2014-05-29T18:53:20Z cracauer: can I leave the page that now has forwarding pointers in it (for The Other objects) in newspace? 2014-05-29T18:53:27Z cracauer: would that chose something later? 2014-05-29T18:53:40Z cracauer: Or would that extra pass over newspace deal with it? 2014-05-29T18:53:47Z pkhuong: no, you can mark in scavenge, before calling fancy functions. 2014-05-29T18:54:08Z pkhuong: ah, but interior pointers. 2014-05-29T18:54:21Z krzysz00: Krystof: There's a Unicode test file for the line breaking rules. I'm using it to test the annotator (which determines where we can/can't/must insert a linebreak). The actual line-breaking function has been eyeball tested, since it's not very complicated. 2014-05-29T18:54:22Z pkhuong: still doable, just annoying. 2014-05-29T18:54:46Z pkhuong: cracauer: leaving forwarding pointers in newspace is a bad idea. 2014-05-29T18:55:28Z pkhuong: there's a lot of code that assume this doesn't happen. 2014-05-29T18:56:03Z nyef: What happens if the pinned page gets left in oldspace, but the *pinned objects* have their headers copied out and replaced by forwarders *to themselves*, and are then restored after collection finishes? 2014-05-29T18:56:05Z cracauer: OK, so then nyef's first idea would be problematic. 2014-05-29T18:56:32Z pkhuong: nyef: forwarders erase information. 2014-05-29T18:56:49Z pkhuong: ah, copied out where though? 2014-05-29T18:56:51Z Krystof: krzysz00: I wonder if there are destructive / nasty test cases or test vectors that you could use 2014-05-29T18:56:52Z stassats: finally pushed 2014-05-29T18:56:53Z nyef: pkhuong: Which is why I said "copied out" and "restored after". 2014-05-29T18:57:14Z krzysz00: For the breaking? 2014-05-29T18:57:23Z Krystof: for unicode algorithms in general 2014-05-29T18:58:23Z cracauer: maybe I can copy the whole page, leaving the original one in newspace and the copy (in a new physical location) in oldspace? 2014-05-29T18:58:47Z pkhuong: cracauer: seems like allocating a bitmap (in newspace if you must) would be easier. 2014-05-29T18:58:48Z cracauer: then I wipe the non-conserv. objects in the newspace copy 2014-05-29T18:59:27Z cracauer: for the bitmap, I would hook into the n_words_scavenged() information to flip the bits? 2014-05-29T18:59:46Z cracauer: (I know that variable is gone from scavenge() but anyway, that increment) 2014-05-29T19:00:10Z pkhuong: you only need to mark where potential live objects start. 2014-05-29T19:00:17Z krzysz00: Yeah, I could probably go hunting for pathological cases. The test files tend to be "one of every case", which is good, but I could maybe find more tests. 2014-05-29T19:00:38Z nyef: Oh, for a precise root set. 2014-05-29T19:00:52Z pkhuong: you can mark addresses inside objects, and you'll skip over them anyway. 2014-05-29T19:03:48Z cracauer: hmmm, I still think the last thing I laid out might be fairly straightforward 2014-05-29T19:04:34Z cracauer: copy the whole page, scavenge the new copy, leave the original physical one in newspace and wipe the other objects in there 2014-05-29T19:05:04Z cracauer: wait, brain full 2014-05-29T19:05:25Z cracauer: 1) copy 2014-05-29T19:06:08Z cracauer: I need a break :-) 2014-05-29T19:08:06Z krzysz00: Do we have a way to get [the language part] of the user's locale, so that things like `(sb-unicode:uppercase "i" :locale t)` (not actually allowed right now) could use the locale to determine how to case things. (Turkish upcases i to İ, for example). 2014-05-29T19:08:25Z cracauer: bbiam. I think all the clever things with partial scavenge will leave forwarding pointers in the page, which would be in newspace. 2014-05-29T19:08:31Z cracauer: not a good situation 2014-05-29T19:08:33Z cracauer: bbiam 2014-05-29T19:09:59Z nyef: Okay, I'm fairly confident that I have a scheme for marking out pointers internal to a code-object on the number stack. 2014-05-29T19:18:30Z Krystof: krzysz00: I don't think we currently do, no 2014-05-29T19:18:36Z Krystof: only the encoding 2014-05-29T19:20:18Z Bike quit (Ping timeout: 240 seconds) 2014-05-29T19:21:46Z stassats: i guess that's enough for fixing old bugs, now it's time to create some new ones 2014-05-29T19:22:15Z Bike joined #sbcl 2014-05-29T19:22:48Z nyef: Aww. Not going to fix 1258716? 2014-05-29T19:23:38Z mega1: Is the compiler supposed to be thread safe? I've just run into what looks like a problem with a DEFUN-CACHED function. 2014-05-29T19:23:55Z jaimef quit (Excess Flood) 2014-05-29T19:26:29Z stassats: the compiler grabs the world lock 2014-05-29T19:27:02Z jaimef joined #sbcl 2014-05-29T19:27:16Z stassats: defun-cached functions are access not only from within the compiler 2014-05-29T19:27:19Z mega1: ah, but maybe CTYPE-OF is called from elsewhere too 2014-05-29T19:27:22Z mega1: yeah 2014-05-29T19:32:00Z mega1: This is going to be a huge pain to work around. 2014-05-29T19:33:54Z Krystof: more pain than fixing it properly? 2014-05-29T19:34:59Z mega1: I haven't looked closely enough but it can be tricky to fix it without slowing CTYPE-OF down. 2014-05-29T19:35:20Z nyef: What, fixing DEFUN-CACHED to set up a thread-safe cache? 2014-05-29T19:36:02Z mega1: yes 2014-05-29T19:36:18Z pkhuong: the current caching scheme supports multiple keys, iirc. 2014-05-29T19:36:51Z pkhuong: it's simple if we add more indirection :\ 2014-05-29T19:40:20Z Krystof: wait, didn't once upon a time each thread have their own ctype-of-cache? 2014-05-29T19:40:51Z pkhuong: oh hey, no. it's already got indirection. 2014-05-29T19:41:02Z pkhuong: Krystof: defglobal now. 2014-05-29T19:41:16Z pkhuong: mega1: the cache actually looks safe on x86oids 2014-05-29T19:41:23Z mega1: does it? 2014-05-29T19:42:37Z mega1: The value #.(SB-SYS:INT-SAP #X7FFFD2FF5EC0) is not of type (SIMPLE-ARRAY T (*)). 2014-05-29T19:42:43Z mega1: from: (SB-KERNEL:CTYPE-OF -0.26230526) 2014-05-29T19:43:29Z mega1: Seems like it corrupted the cache because once it happened it stuck around. 2014-05-29T19:44:41Z stassats quit (Ping timeout: 252 seconds) 2014-05-29T19:45:29Z pkhuong: can you look at SB-KERNEL::**CTYPE-OF-CACHE-VECTOR** and see if there's a sap in there? 2014-05-29T19:45:35Z pkhuong: or if SB-KERNEL::**CTYPE-OF-CACHE-VECTOR** is bound to a sap (!?) 2014-05-29T19:46:23Z mega1: sorry, the image is gone :-( 2014-05-29T19:47:01Z pkhuong: I don't see anything unsafe in the code for defun-cached so if it causes heap corruption, it's a larger bug in SBCL. 2014-05-29T19:47:16Z mega1: I'll try to reproduce 2014-05-29T19:47:35Z mega1: it only took a couple of hours with four threads 2014-05-29T19:47:44Z eudoxia quit (Quit: leaving) 2014-05-29T19:53:59Z pkhuong: is that on OS X? 2014-05-29T19:54:06Z mega1: no, linux x86-64 2014-05-29T20:16:23Z ltbarcly joined #sbcl 2014-05-29T20:20:25Z davazp quit (Remote host closed the connection) 2014-05-29T20:25:15Z owl-v- joined #sbcl 2014-05-29T20:34:11Z angavrilov quit (Remote host closed the connection) 2014-05-29T20:38:11Z jaimef quit (Excess Flood) 2014-05-29T20:40:02Z jaimef joined #sbcl 2014-05-29T20:50:08Z Hydan quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) 2014-05-29T20:55:17Z yacks quit (Ping timeout: 245 seconds) 2014-05-29T20:56:01Z sdemarre joined #sbcl 2014-05-29T21:00:17Z sdemarre quit (Ping timeout: 245 seconds) 2014-05-29T21:00:56Z Hydan joined #sbcl 2014-05-29T21:07:59Z mega1: hah, got it again 2014-05-29T21:08:22Z mega1: this time in CSUBTYPEP 2014-05-29T21:12:08Z mega1: If I eval SB-KERNEL::**CTYPE-OF-CACHE-VECTOR** in the CSUBTYPEP frame by pressing 'e' in the slime debugger, then I get the same error again. 2014-05-29T21:17:42Z Bike quit (Ping timeout: 276 seconds) 2014-05-29T21:19:24Z Bike joined #sbcl 2014-05-29T21:31:09Z stassats joined #sbcl 2014-05-29T21:31:43Z RazWelles joined #sbcl 2014-05-29T21:42:41Z slyrus_ joined #sbcl 2014-05-29T21:45:00Z slyrus quit (Ping timeout: 276 seconds) 2014-05-29T21:45:10Z slyrus_ is now known as slyrus 2014-05-29T21:49:50Z prxq quit (Ping timeout: 252 seconds) 2014-05-29T21:54:06Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-29T21:56:21Z stassats: re 1258716, svref transforms are made that way to speed things up, but what are the use of faster things if they are wrong? 2014-05-29T21:57:20Z stassats: so, i would just go back to transforming it into AREF 2014-05-29T21:57:26Z drmeister quit (Remote host closed the connection) 2014-05-29T21:58:43Z nyef: No, no... The issue is that it's using the declared type, not the upgraded type. 2014-05-29T21:59:03Z nyef: But you can declare the *result* to be the declared type. 2014-05-29T21:59:44Z stassats: clhs is likely to specify upgraded element type to be used for all kinds of discrimination 2014-05-29T22:00:19Z nyef: But we're not discriminating. 2014-05-29T22:00:57Z stassats: clhs 15.1.2.1 2014-05-29T22:00:57Z specbot: Array Upgrading: http://www.lispworks.com/reference/HyperSpec/Body/15_aba.htm 2014-05-29T22:01:32Z stassats: a type check is a form of discrimination 2014-05-29T22:01:50Z nyef: We're not discriminating on the type of the array, though. 2014-05-29T22:03:13Z nyef: Ugh. There couldn't be a glossary entry for type discrimination? 2014-05-29T22:03:15Z stassats: that is permitted idneed 2014-05-29T22:03:48Z stassats: clhs glossary/expressed array element type 2014-05-29T22:03:48Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/26_glo_e.htm#expressed_array_element_type 2014-05-29T22:04:14Z nyef: Thank you. 2014-05-29T22:04:51Z stassats: but, AREF does all of the above 2014-05-29T22:05:13Z nyef: So, as I said, the reference needs to use the upgraded type (wild-type, in this case), but the result should be declared to the expressed element type. 2014-05-29T22:06:04Z stassats: AREF transforms do that, why bother duplicate aref for svref? 2014-05-29T22:06:09Z stassats: just to get more bugs? 2014-05-29T22:06:21Z nyef: The justification is *right above* the transform definitions. 2014-05-29T22:06:32Z stassats: and i don't buy it 2014-05-29T22:07:38Z nyef: That's on you, then. 2014-05-29T22:08:33Z stassats: OAOO, complexity, correctness vs faster compilation in some cases 2014-05-29T22:09:25Z jaimef quit (Excess Flood) 2014-05-29T22:10:14Z stassats: to become correct, it would need to expand into hairy-data-vector, and get all the baggage associated 2014-05-29T22:11:24Z nyef: I thought that the guarantee with SVREF is that it *wasn't* a hairy-data-vector? 2014-05-29T22:12:14Z stassats: can't guaranteed that with unknown types 2014-05-29T22:13:05Z nyef: The type that is unknown is the *ELEMENT* type. Use of SVREF itself should guarantee that it's a SIMPLE-VECTOR. 2014-05-29T22:13:22Z stassats: it may be NIL 2014-05-29T22:13:34Z nyef: So what? 2014-05-29T22:15:22Z drmeister joined #sbcl 2014-05-29T22:15:44Z nyef: Ah, I think I begin to see. 2014-05-29T22:16:36Z stassats: if BOGUS gets available at runtime and the union with simple-vector is NIL, it can't get the data-vector-ref VOP 2014-05-29T22:16:40Z jaimef joined #sbcl 2014-05-29T22:17:13Z stassats: it needs a full call, data-vector-ref is always-translatable, the next best thing is hairy-data-vector-ref, which is what data-vector-ref, the function, is calling 2014-05-29T22:17:42Z nyef is already getting a headache. 2014-05-29T22:18:00Z nyef: I'm reminded of why I only went so far as to minimize the test case and do the initial diagnosis. 2014-05-29T22:20:22Z stassats: well, i found a solutionish 2014-05-29T22:20:27Z psilord quit (Quit: Leaving.) 2014-05-29T22:20:50Z psilord joined #sbcl 2014-05-29T22:21:20Z stassats: putting (declare (simple-vector ,n-vector)) inside the NIL, removing THE 2014-05-29T22:21:25Z stassats: inside the LET 2014-05-29T22:22:08Z Bicyclidine joined #sbcl 2014-05-29T22:24:09Z stassats: one would think those to be equivalent 2014-05-29T22:30:13Z stassats: maybe that distinction should be fixed instead 2014-05-29T22:30:32Z ASau quit (Ping timeout: 252 seconds) 2014-05-29T22:31:26Z psilord quit (Quit: Leaving.) 2014-05-29T22:32:01Z stassats: (sb-kernel:%simple-fun-type (lambda (a) (declare ((vector bogus2) a)) (the simple-vector a))) => (FUNCTION ((VECTOR BOGUS2)) (VALUES (SIMPLE-ARRAY BOGUS2 (*)) &OPTIONAL)) 2014-05-29T22:32:08Z stassats: (sb-kernel:%simple-fun-type (lambda (a) (declare ((vector bogus2) a)) (let ((a a)) (declare (simple-vector a)) a))) 2014-05-29T22:32:14Z stassats: => (FUNCTION ((VECTOR BOGUS2)) (VALUES SIMPLE-VECTOR &OPTIONAL)) 2014-05-29T22:32:33Z stassats: that's why the template isn't applied, it unionizes the types 2014-05-29T22:33:30Z slyrus quit (Ping timeout: 265 seconds) 2014-05-29T22:35:39Z nyef: ... Clearly, we need to bring in scab types to get any actual work done around here. 2014-05-29T22:35:40Z fridim_ quit (Ping timeout: 252 seconds) 2014-05-29T22:36:51Z stassats: i'll fix svref for now, THE can come later, if it is needed fixing 2014-05-29T22:37:46Z Bicyclidine: Wait, so does sbcl treat that as meaning a is specialized to t but has all bogus2 elements? 2014-05-29T22:38:08Z stassats: in which case? 2014-05-29T22:38:27Z Bicyclidine: either 2014-05-29T22:38:33Z stassats: no 2014-05-29T22:38:46Z stassats: if it's not T in the end, it will signal an error 2014-05-29T22:39:52Z nyef: Now, that's wrong. 2014-05-29T22:40:03Z stassats: what is? 2014-05-29T22:40:17Z nyef: It needs to be specialized to *, not to T. 2014-05-29T22:40:36Z stassats: that's simple-vector we're talking about 2014-05-29T22:41:29Z Bicyclidine: I thought (and simple-vector (vector bogus2)) was nil... or is bogus2 supposed to be undefined, so it could be t later? 2014-05-29T22:41:40Z nyef: If the undefined type (bogus, or whatever) is subsequently defined to (unsigned-byte 5), the code needs to still work. 2014-05-29T22:42:04Z stassats: nyef: it certainly does not, that breaks SVREF 2014-05-29T22:42:14Z stassats: svref only works on T specialized vectors 2014-05-29T22:42:17Z Bicyclidine: oh, or bogus2 could be anything upgrading to t, i guess 2014-05-29T22:43:05Z stassats: two caes at run-time: bogus2 is still amiss => error, bogus2 upgraded element-type is not T => error 2014-05-29T22:43:39Z Bicyclidine: subtypep says (and simple-vector (vector bogus2)) is certainly not a subtype of nil, weird 2014-05-29T22:47:33Z pillton joined #sbcl 2014-05-29T22:51:51Z stassats: alright, lp#1258716 is fixed 2014-05-29T22:52:53Z stassats: and it throws back to THE making union types 2014-05-29T22:53:06Z stassats: i guess that's really undesirable in the presence of unknown types 2014-05-29T22:53:27Z stassats: no operations can really be performed on unknown types 2014-05-29T22:54:15Z drmeister quit (Write error: Connection reset by peer) 2014-05-29T22:56:23Z stassats: and THE just inserts a cast 2014-05-29T23:01:22Z stassats: less high importance bugs, more confusion 2014-05-29T23:02:14Z drmeister joined #sbcl 2014-05-29T23:11:41Z ltbarcly joined #sbcl 2014-05-29T23:13:54Z nyef: ... Can't believe I'm actually considering installing gentoo on a server again. 2014-05-29T23:20:14Z joshe: that's the one that doesn't believe in binary packages, right? 2014-05-29T23:20:54Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-29T23:21:49Z nyef: They had a semi change-of-heart at one point, but yeah. 2014-05-29T23:23:13Z nyef: Ugh. Stupid thinkpad dock not hot-plugging the dvd drive properly. 2014-05-29T23:25:14Z stassats: finding some reports for fixed bugs, the easiest way to fix bugs 2014-05-29T23:26:06Z nyef: Heh. 2014-05-29T23:26:44Z stassats: and another one 2014-05-29T23:27:20Z stassats: and both medium levels 2014-05-29T23:29:28Z stassats: bookmarked some seemingly fixable bugs to look later at 2014-05-29T23:32:14Z stassats: anything to avoid writing boring Java code 2014-05-29T23:32:36Z nyef: Heh. 2014-05-29T23:32:46Z psilord joined #sbcl 2014-05-29T23:32:54Z stassats: i still haven't built contribs on native android, can't run slime 2014-05-29T23:33:56Z stassats: i wonder if i can get opengl somehow to display something 2014-05-29T23:36:01Z stassats: all the examples are using JNI and whatnot, that would require making sbcl.so and convincing it to coexists with the JVM 2014-05-29T23:43:01Z stassats quit (Ping timeout: 252 seconds) 2014-05-29T23:47:51Z Bike quit (Ping timeout: 276 seconds) 2014-05-29T23:48:59Z Bike joined #sbcl 2014-05-29T23:56:12Z ltbarcly joined #sbcl 2014-05-29T23:57:48Z krzysz00 quit (Ping timeout: 252 seconds) 2014-05-29T23:59:00Z Bicyclidine quit (Ping timeout: 240 seconds) 2014-05-29T23:59:44Z krzysz00 joined #sbcl 2014-05-30T00:04:20Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-30T00:15:47Z owl-v- quit (Quit: This computer has gone to sleep) 2014-05-30T00:21:01Z samskulls joined #sbcl 2014-05-30T00:46:54Z karswell` joined #sbcl 2014-05-30T00:50:29Z karswell quit (Ping timeout: 252 seconds) 2014-05-30T01:00:29Z drmeister quit (Remote host closed the connection) 2014-05-30T01:41:37Z drmeister joined #sbcl 2014-05-30T02:24:11Z ltbarcly joined #sbcl 2014-05-30T02:25:12Z p_l quit (Ping timeout: 252 seconds) 2014-05-30T02:25:31Z owl-v- joined #sbcl 2014-05-30T02:30:23Z krzysz00 quit (Ping timeout: 255 seconds) 2014-05-30T02:32:22Z krzysz00 joined #sbcl 2014-05-30T02:32:27Z p_l joined #sbcl 2014-05-30T02:38:37Z christoph_debian quit (Ping timeout: 245 seconds) 2014-05-30T02:52:12Z christoph_debian joined #sbcl 2014-05-30T02:53:41Z drmeister quit (Remote host closed the connection) 2014-05-30T03:09:19Z nyef quit (Quit: G'night all.) 2014-05-30T03:29:31Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-30T03:31:21Z ltbarcly joined #sbcl 2014-05-30T03:42:37Z owl-v- quit (Quit: This computer has gone to sleep) 2014-05-30T03:45:23Z michael_lee joined #sbcl 2014-05-30T03:55:50Z attila_lendvai joined #sbcl 2014-05-30T03:55:50Z attila_lendvai quit (Changing host) 2014-05-30T03:55:50Z attila_lendvai joined #sbcl 2014-05-30T03:58:41Z attila_lendvai quit (Client Quit) 2014-05-30T04:01:52Z gingerale quit (Ping timeout: 258 seconds) 2014-05-30T04:13:31Z PuercoPop quit (Ping timeout: 240 seconds) 2014-05-30T04:25:28Z PuercoPop joined #sbcl 2014-05-30T04:32:51Z krzysz00 quit (Ping timeout: 260 seconds) 2014-05-30T04:34:35Z krzysz00 joined #sbcl 2014-05-30T04:42:20Z ehaliewicz joined #sbcl 2014-05-30T04:51:47Z yacks joined #sbcl 2014-05-30T05:03:14Z krzysz00 quit (Ping timeout: 252 seconds) 2014-05-30T05:05:16Z krzysz00 joined #sbcl 2014-05-30T05:08:46Z oleo quit (Quit: Verlassend) 2014-05-30T05:21:57Z pranavrc joined #sbcl 2014-05-30T05:43:19Z p_l quit (Ping timeout: 260 seconds) 2014-05-30T05:45:47Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-30T05:46:00Z scymtym_ quit (Ping timeout: 276 seconds) 2014-05-30T05:50:25Z p_l joined #sbcl 2014-05-30T05:55:55Z p_l quit (Ping timeout: 252 seconds) 2014-05-30T06:04:35Z krzysz00 quit (Ping timeout: 255 seconds) 2014-05-30T06:06:24Z krzysz00 joined #sbcl 2014-05-30T06:08:17Z sdemarre joined #sbcl 2014-05-30T06:11:19Z prxq joined #sbcl 2014-05-30T06:17:30Z p_l joined #sbcl 2014-05-30T06:34:10Z krzysz00 quit (Ping timeout: 252 seconds) 2014-05-30T06:36:02Z krzysz00 joined #sbcl 2014-05-30T06:47:05Z edgar-rft joined #sbcl 2014-05-30T07:00:15Z owl-v- joined #sbcl 2014-05-30T07:04:51Z krzysz00 quit (Ping timeout: 252 seconds) 2014-05-30T07:06:43Z krzysz00 joined #sbcl 2014-05-30T07:08:43Z fridim_ joined #sbcl 2014-05-30T07:15:05Z owl-v- quit (Quit: This computer has gone to sleep) 2014-05-30T07:17:11Z flip214: christoph_debian: is there a change to get 1.2.0 for raspberry, too? 2014-05-30T07:22:18Z sdemarre quit (Ping timeout: 240 seconds) 2014-05-30T07:27:12Z Krystof: who are you talking to? 2014-05-30T07:27:24Z Krystof: if me, the 1.2.0 hf binary I uploaded is built for raspbian 2014-05-30T07:36:14Z michael_lee quit (Quit: Ex-Chat) 2014-05-30T07:39:05Z sdemarre joined #sbcl 2014-05-30T07:42:32Z flip214: ah, thanks. 2014-05-30T07:43:06Z flip214: so it's just a matter of time until I can "apt-get" it. 2014-05-30T07:44:00Z flip214: hmmm, debian testing/experimental/incoming doesn't show 1.2.0 yet. 2014-05-30T07:45:11Z yacks quit (Ping timeout: 252 seconds) 2014-05-30T07:45:12Z erikvarga joined #sbcl 2014-05-30T07:56:22Z yacks joined #sbcl 2014-05-30T08:05:06Z mega1: I captured a corruption in **MAKE-VALUES-TYPE-CACHED-VECTOR** 2014-05-30T08:05:40Z mega1: one of the elements is #.(INT-SAP #X7FFFD6F4DD80) 2014-05-30T08:05:48Z mega1: pkhuong: ^^^ 2014-05-30T08:06:45Z Shinmera joined #sbcl 2014-05-30T08:22:07Z Krystof: flip214: ah, so you weren't talking to me 2014-05-30T08:22:17Z Krystof: in which case, no, sorry 2014-05-30T09:07:09Z krzysz00 quit (Ping timeout: 265 seconds) 2014-05-30T09:08:56Z krzysz00 joined #sbcl 2014-05-30T09:12:20Z mega1: I can't see how this can happen. 2014-05-30T09:13:00Z mega1: I suspect allocation at this point which is kind of desparate. 2014-05-30T09:23:12Z mega1 quit (Ping timeout: 245 seconds) 2014-05-30T09:25:02Z mega1 joined #sbcl 2014-05-30T09:34:51Z pillton quit (Remote host closed the connection) 2014-05-30T09:38:30Z MrJones joined #sbcl 2014-05-30T09:38:35Z MrJones: hi 2014-05-30T09:38:58Z MrJones: I am running some larger lisp program and I ran it with a newer SBCL version before (operating system reinstall with older SBCL now) 2014-05-30T09:39:13Z MrJones: and now I get "is a fasl file compiled with SBCL 1.1.14, and can't be loaded into SBCL 1.1.12-1.fc20" 2014-05-30T09:39:25Z MrJones: how can I tell SBCL to simply recompile stuff instead of breaking 2014-05-30T09:41:56Z Krystof: that depends on how the rest of your system is set up 2014-05-30T09:42:06Z Krystof: one way, if you have the sources available, is to delete all the fasls 2014-05-30T09:43:57Z Shinmera: ASDF should create a separate fasl cache folder for each version automatically, so I'm not sure what your system looks like. 2014-05-30T09:44:30Z MrJones: it doesn't seem to do that at all 2014-05-30T09:44:45Z MrJones: the asdf files are located in that source code folder right along with the lisp files 2014-05-30T09:44:54Z MrJones: maybe the program forced that itself? I'm not that familiar with it.. hm 2014-05-30T09:45:32Z Shinmera: asdf usually puts the cache in ~/.cache/common-lisp// 2014-05-30T09:45:40Z MrJones: nope they're right there with the source code 2014-05-30T09:45:56Z MrJones: however, removing them manually seems to work 2014-05-30T09:55:10Z Shinmera quit (Quit: BBL) 2014-05-30T10:46:27Z stassats joined #sbcl 2014-05-30T10:49:42Z Krystof quit (Remote host closed the connection) 2014-05-30T10:49:58Z Krystof joined #sbcl 2014-05-30T10:49:58Z ChanServ has set mode +o Krystof 2014-05-30T11:05:26Z drmeister joined #sbcl 2014-05-30T11:23:45Z |3b| quit (Read error: Connection reset by peer) 2014-05-30T11:24:33Z |3b| joined #sbcl 2014-05-30T11:35:39Z p_l quit (Ping timeout: 260 seconds) 2014-05-30T11:36:07Z p_l joined #sbcl 2014-05-30T11:44:42Z |3b| quit (Read error: Connection reset by peer) 2014-05-30T11:46:23Z |3b| joined #sbcl 2014-05-30T11:47:26Z xymox quit (Quit: leaving) 2014-05-30T11:47:30Z owl-v- joined #sbcl 2014-05-30T11:48:29Z xymox joined #sbcl 2014-05-30T11:54:35Z xymox quit (Ping timeout: 240 seconds) 2014-05-30T11:55:07Z xymox joined #sbcl 2014-05-30T12:08:42Z ehaliewicz quit (Ping timeout: 258 seconds) 2014-05-30T12:32:47Z yacks quit (Ping timeout: 245 seconds) 2014-05-30T12:36:15Z pranavrc quit (Remote host closed the connection) 2014-05-30T12:49:17Z eudoxia joined #sbcl 2014-05-30T12:50:45Z eudoxia quit (Client Quit) 2014-05-30T12:50:58Z eudoxia joined #sbcl 2014-05-30T12:51:24Z eudoxia quit (Read error: Connection reset by peer) 2014-05-30T12:52:39Z eudoxia joined #sbcl 2014-05-30T12:53:52Z yacks joined #sbcl 2014-05-30T13:04:45Z oleo joined #sbcl 2014-05-30T13:08:37Z RazLaptop joined #sbcl 2014-05-30T13:12:00Z RazWelles quit (Ping timeout: 252 seconds) 2014-05-30T13:16:53Z psilord quit (Quit: Leaving.) 2014-05-30T13:24:57Z drmeister quit (Remote host closed the connection) 2014-05-30T13:42:07Z krzysz00 quit (Ping timeout: 260 seconds) 2014-05-30T13:43:42Z krzysz00 joined #sbcl 2014-05-30T14:00:18Z owl-v- quit (Ping timeout: 240 seconds) 2014-05-30T14:02:04Z owl-v- joined #sbcl 2014-05-30T14:12:14Z psilord joined #sbcl 2014-05-30T14:12:26Z christoph_debian: flip214: proper debian will have it once I'm back at a proper computer 2014-05-30T14:12:28Z christoph_debian: so monday 2014-05-30T14:12:47Z gingerale joined #sbcl 2014-05-30T14:25:41Z drmeister joined #sbcl 2014-05-30T14:28:40Z nyef joined #sbcl 2014-05-30T14:28:56Z nyef: G'morning all. 2014-05-30T14:35:10Z stassats: some parts of loop do not make sense 2014-05-30T14:36:57Z flip214: christoph_debian: thanks a lot! 2014-05-30T14:41:04Z stassats: i can't figure out when ever https://github.com/sbcl/sbcl/blob/master/src/code/loop.lisp#L1563 will return any result 2014-05-30T14:43:45Z |3b|: the type-declaration-of part? 2014-05-30T14:43:50Z stassats: right 2014-05-30T14:44:14Z |3b|: (loop for i fixnum from 0 to 10)? 2014-05-30T14:45:34Z stassats: now it is triggered, and i tried something of that kind 2014-05-30T14:48:01Z stassats: and it's not related to fixing 700538 2014-05-30T14:51:11Z stassats: and adding REAL would be much easier in (loop-make-var indexv form indexv-type) above, wouldn't it? 2014-05-30T15:09:01Z stassats: i need to exploit my cached LOOP mind-state and fix some more loop bugs 2014-05-30T15:11:05Z slyrus joined #sbcl 2014-05-30T15:14:25Z hlavaty quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2014-05-30T15:27:17Z slyrus quit (Ping timeout: 264 seconds) 2014-05-30T15:36:35Z fridim_ quit (Ping timeout: 240 seconds) 2014-05-30T15:38:09Z Shinmera joined #sbcl 2014-05-30T15:43:49Z pkhuong: mega1: yeah, that's... a deeper issue in our code :\ 2014-05-30T15:44:03Z mega1: any leads? 2014-05-30T15:44:10Z pkhuong: none. 2014-05-30T15:44:25Z mega1: I can try to package up a test case. 2014-05-30T15:44:47Z pkhuong: that would be good. I can try to run it on my 4 socket machine 2014-05-30T15:55:09Z fridim_ joined #sbcl 2014-05-30T16:42:51Z karswell` quit (Remote host closed the connection) 2014-05-30T17:01:48Z owl-v- quit (Quit: This computer has gone to sleep) 2014-05-30T17:03:58Z stassats: it is the loop season 2014-05-30T17:09:37Z attila_lendvai joined #sbcl 2014-05-30T17:09:37Z attila_lendvai quit (Changing host) 2014-05-30T17:09:37Z attila_lendvai joined #sbcl 2014-05-30T17:14:13Z krzysz00: Krystof: I've put in the locale-dependenent casing rules (I don't have locale detection yet.) I figure this is a good time to write up a "State of Unicode" email for the list. 2014-05-30T17:21:03Z slyrus joined #sbcl 2014-05-30T17:28:18Z owl-v- joined #sbcl 2014-05-30T17:33:05Z attila_lendvai quit (Ping timeout: 255 seconds) 2014-05-30T17:47:14Z owl-v- quit (Quit: This computer has gone to sleep) 2014-05-30T18:16:11Z krzysz00 quit (Ping timeout: 240 seconds) 2014-05-30T18:18:21Z krzysz00 joined #sbcl 2014-05-30T18:20:39Z ltbarcly joined #sbcl 2014-05-30T18:25:34Z osgi joined #sbcl 2014-05-30T18:26:01Z osgi quit (Client Quit) 2014-05-30T18:30:52Z drmeister quit (Remote host closed the connection) 2014-05-30T18:31:41Z stassats: i guess 6 loops bugs is enough 2014-05-30T18:32:19Z stassats: most other cases are dubious/clisp influenced 2014-05-30T18:34:00Z stassats: if all open bugs are fixed this release cycle, the version number can get close to the previous record 2014-05-30T18:47:53Z oleo is now known as Guest58036 2014-05-30T18:48:36Z oleo__ joined #sbcl 2014-05-30T18:49:40Z edgar-rft quit (Quit: existence abandoned by nuclear disaster) 2014-05-30T18:51:01Z Guest58036 quit (Ping timeout: 265 seconds) 2014-05-30T18:54:38Z RazLaptop quit (Ping timeout: 240 seconds) 2014-05-30T18:57:16Z eudoxia quit (Quit: Lost terminal) 2014-05-30T19:10:36Z Bicyclidine joined #sbcl 2014-05-30T19:23:00Z RazWelles joined #sbcl 2014-05-30T19:29:45Z drmeister joined #sbcl 2014-05-30T19:29:58Z RazWelles quit (Read error: Connection reset by peer) 2014-05-30T19:30:55Z drmeister quit (Read error: Connection reset by peer) 2014-05-30T19:38:47Z stassats quit (Read error: Connection reset by peer) 2014-05-30T19:39:08Z scymtym joined #sbcl 2014-05-30T19:40:38Z stassats joined #sbcl 2014-05-30T19:56:38Z stassats quit (Ping timeout: 240 seconds) 2014-05-30T19:57:08Z erikvarga left #sbcl 2014-05-30T19:59:00Z drmeister joined #sbcl 2014-05-30T20:00:59Z sdemarre quit (Ping timeout: 240 seconds) 2014-05-30T20:13:46Z mega1` joined #sbcl 2014-05-30T20:15:25Z yacks quit (Quit: Leaving) 2014-05-30T20:16:52Z drmeister quit (Remote host closed the connection) 2014-05-30T20:20:43Z jsnell_ joined #sbcl 2014-05-30T20:21:40Z oleo__ quit (Excess Flood) 2014-05-30T20:21:42Z jsnell quit (Write error: Broken pipe) 2014-05-30T20:22:46Z oleo__ joined #sbcl 2014-05-30T20:23:50Z mega1 quit (Ping timeout: 257 seconds) 2014-05-30T20:28:17Z drmeister joined #sbcl 2014-05-30T20:38:33Z scymtym: Krystof: can DEFGENERIC with :generic-function-class and :method options work with extended specializers? i get the impression that the resulting DEFMETHODs get macroexpanded before the generic function gets its class (via LOAD-DEFGENERIC) 2014-05-30T20:45:09Z scymtym: ok, only seems to fail when not at toplevel 2014-05-30T20:53:37Z Bicyclidine quit (Ping timeout: 245 seconds) 2014-05-30T20:55:49Z nyef: So, I get partway through a frustrating debian install scenario, with progress being that I can work around the issues with the serial console, and that python is now included on the initial list of packages to install (which quiets a *lot* of the damage), only to find that libffi6 has been changed out from under me on the repository during the install, and the installer isn't picking up the new version. /-: 2014-05-30T20:59:28Z nyef: Still, one step closer. 2014-05-30T21:13:47Z fridim_ quit (Quit: Leaving) 2014-05-30T21:14:08Z ltbarcly quit (Quit: Textual IRC Client: www.textualapp.com) 2014-05-30T21:16:34Z krzysz00_ joined #sbcl 2014-05-30T21:19:53Z krzysz00 quit (Ping timeout: 265 seconds) 2014-05-30T21:20:09Z owl-v- joined #sbcl 2014-05-30T21:28:43Z drmeister quit (Remote host closed the connection) 2014-05-30T21:42:46Z drmeister joined #sbcl 2014-05-30T21:49:55Z nyef: Hrm. The body of the LET is spliced in *AFTER* the COMBINATION, the RETURN is deleted, and the type semantics are messed up. 2014-05-30T21:50:15Z nyef: We shouldn't be replacing the CALL with an unsafe CAST, we should be replacing the RETURN with the CAST. 2014-05-30T21:50:47Z nyef: Ugh. Deja-vu all over again. 2014-05-30T21:57:01Z nyef: I don't need to do the special "insert a new block with the CAST in the destination lexenv" dance that I did for EXIT, do I? 2014-05-30T22:03:38Z Shinmera quit (Quit: ZzzZZ) 2014-05-30T22:09:25Z stassats joined #sbcl 2014-05-30T22:29:43Z davazp joined #sbcl 2014-05-30T22:31:13Z karswell` joined #sbcl 2014-05-30T22:36:44Z drmeister quit (Ping timeout: 276 seconds) 2014-05-30T22:42:01Z psilord quit (Quit: Leaving.) 2014-05-30T22:45:25Z cmack joined #sbcl 2014-05-30T22:46:03Z slyrus: so... about this array type inference in dead code problem that cropped up in the middle of the 1.1.17 cycle... Is the problem likely to be a now-exposed latent bug in opticl or something that will get fixed in SBCL? 2014-05-30T22:46:22Z slyrus: xach was kind enough to point me at the offending commit email, but I of course lost track of it... 2014-05-30T22:46:58Z slyrus: it's within 10 commits before 1.1.17.66-aab5bd0... 2014-05-30T22:47:02Z slyrus: bisecting now 2014-05-30T22:48:14Z slyrus: maybe it's this one: 4e459f3ceb8acac03f99c5d17f8c13a2541b61eb 2014-05-30T22:48:31Z stassats chants "don't be mine, don't be mine" 2014-05-30T22:49:00Z Hydan_ joined #sbcl 2014-05-30T22:51:56Z drmeister joined #sbcl 2014-05-30T22:52:08Z Hydan quit (Ping timeout: 255 seconds) 2014-05-30T22:52:52Z nyef: Array type inference in dead code? What? 2014-05-30T22:52:56Z karswell` is now known as karswell 2014-05-30T22:53:10Z slyrus: perhaps I'm describing the symptom wrong 2014-05-30T22:53:37Z pkhuong: slyrus: it's on our end. 2014-05-30T22:54:10Z stassats: nyef: there can be cases of type inference gone wrong, a code with a bad type has been marked as dead, but it still manages to find a type conflict 2014-05-30T22:54:23Z nyef: Oh, joy. 2014-05-30T22:54:36Z nyef: I think I finally have an angle on 655042, btw. 2014-05-30T22:56:24Z slyrus: pkhuong: is there an lp bug? 2014-05-30T22:57:13Z stassats: i can't read Douglas Katzman's old bug reports, they are too long and detailed 2014-05-30T22:58:28Z stassats: looking at https://bugs.launchpad.net/sbcl/+bug/1063414, it took me less time to fix 1071310 than to read through that 2014-05-30T23:01:57Z pkhuong: slyrus: don't know. I thinkso. 2014-05-30T23:02:10Z pkhuong: In fact, I believe there were two bugs, and one was fixed last month 2014-05-30T23:06:59Z nyef: Which one would have been fixed last month? 2014-05-30T23:10:21Z Bicyclidine joined #sbcl 2014-05-30T23:11:04Z slyrus: perhaps it's this one https://bugs.launchpad.net/sbcl/+bug/1310574 2014-05-30T23:21:18Z Bike quit (Ping timeout: 240 seconds) 2014-05-30T23:22:24Z drmeister quit (Remote host closed the connection) 2014-05-30T23:22:29Z krzysz00_ quit (Ping timeout: 264 seconds) 2014-05-30T23:23:26Z Bike joined #sbcl 2014-05-30T23:23:47Z krzysz00 joined #sbcl 2014-05-30T23:25:33Z stassats quit (Ping timeout: 265 seconds) 2014-05-30T23:29:44Z owl-v- quit (Quit: This computer has gone to sleep) 2014-05-30T23:39:35Z slyrus: nyef: indeed, 4e459f3ceb8acac03f99c5d17f8c13a2541b61eb is the culprit 2014-05-30T23:39:58Z nyef: Oh dear. 2014-05-30T23:41:37Z nyef: On the other hand, that actually fixed an issue, and there was quite a bit of back-and-forth about it to make sure that it was correct, so I'm reasonably confident that the situation is an improvement. Perhaps it's triggering some formerly-latent issue elsewhere? 2014-05-30T23:59:24Z psilord joined #sbcl 2014-05-31T00:00:24Z slyrus: on the other hand, it broke my code :) 2014-05-31T00:06:23Z Bicyclidine quit (Ping timeout: 252 seconds) 2014-05-31T00:13:42Z nyef: So, with bug 1248181 (the solaris signal thing), you have a SIGILL from the alloc overflow trap and a SIGPROF from sprof arriving at the same time, with the SIGPROF "winning", somehow? 2014-05-31T00:14:50Z nyef: ... and under which circumstances would a signal handler have a NULL siginfo? 2014-05-31T00:22:02Z prxq quit (Ping timeout: 276 seconds) 2014-05-31T00:31:06Z slyrus: pkhuong: iyour array-raank-derive-type stuff fixes my opticl problem. is it ready for prime time? 2014-05-31T00:38:33Z pkhuong: slyrus: I'd like a second opinion before committing 2014-05-31T00:45:10Z slyrus: hmm... I suppose tests would be in order too 2014-05-31T00:45:29Z slyrus: the intersection-type looks like it will always return either * or nil to my out-of-practice eyes 2014-05-31T00:45:46Z slyrus: oh wait, I take that back 2014-05-31T00:49:24Z slyrus: it does look like a suitably pathological intersection could return nil instead of '* 2014-05-31T00:51:54Z pkhuong: slyrus: would the intersection be equivalent to the empty type? 2014-05-31T00:52:39Z slyrus: an intersection of types whose ranks are all '* 2014-05-31T00:53:43Z pkhuong: that would never touch ACC, and we'd return '*, no? 2014-05-31T00:57:35Z slyrus: indeed, you're right 2014-05-31T01:00:47Z slyrus: well, looks good to me and fixes my bug so I say ship it! 2014-05-31T01:02:24Z pkhuong: I think I'll abstract out the union/intersection traversal pattern and then ship (: 2014-05-31T01:04:17Z nyef: Please do include test cases. 2014-05-31T01:04:25Z pkhuong: yes. 2014-05-31T01:04:47Z nyef: The type system is hard enough to reason about without them. (-: 2014-05-31T01:05:11Z pkhuong: that's part of why I want to abstract out the traversal pattern 2014-05-31T01:05:56Z pkhuong: there's a lot of places where we could make things more robust by doing something like array-rank-derive-ranks 2014-05-31T01:06:06Z pkhuong: and it's easy to get ad hoc implementations wrong 2014-05-31T01:06:17Z nyef: Umm... What happens if someone tried to take the array-rank of (THE (OR INTEGER (ARRAY NIL (2 * 3))) FOO)? 2014-05-31T01:06:52Z pkhuong: that currently returns * 2014-05-31T01:07:01Z pkhuong: so nothing special. 2014-05-31T01:07:21Z pkhuong: we could test for definite non-intersection with array first. 2014-05-31T01:07:57Z nyef: But shouldn't it be 3? 2014-05-31T01:08:05Z pkhuong: * is also correct, just consercative. 2014-05-31T01:08:31Z nyef: Well, 3 and a type-check to discount the integer case, that is. 2014-05-31T01:09:57Z nyef: Speaking of, do we do anything clever in terms of inverting type tests to pick the easier branch? Say we're asserting that something is an array, but derivation shows that it's (or array fixnum). Do we use the fixnum test to pick out the error case, or does it always do the array test? 2014-05-31T01:10:54Z pkhuong: in the T branch, I could add a maybe intersection test. 2014-05-31T01:12:02Z pkhuong: re second Q, I don't think we do. 2014-05-31T01:12:27Z pkhuong: part of the reason is that typep is source transformed. 2014-05-31T01:13:31Z nyef: So, if we had a node type instead...? 2014-05-31T01:13:49Z samskulls quit (Ping timeout: 265 seconds) 2014-05-31T01:14:53Z pkhuong: instead of what? 2014-05-31T01:15:27Z samskulls joined #sbcl 2014-05-31T01:16:01Z nyef: I'm not sure, actually. I'm still insufficiently familiar with that part of the code. 2014-05-31T01:16:11Z nyef: Isn't it a combination that then gets open-coded? 2014-05-31T01:16:14Z pkhuong: ir2 conversion of casts seems to have the logic to do what you want 2014-05-31T01:16:28Z pkhuong: it's probably not smart enough to take VOP costs into account though 2014-05-31T01:16:48Z pkhuong: source transforms are applied before ir1tran, like compiler macros. 2014-05-31T01:16:50Z nyef: Mmm. Okay, optimization option for later, maybe. 2014-05-31T01:17:13Z nyef: There are still too many bugs in the compiler, and backends to rehabilitate first. 2014-05-31T01:17:24Z nyef: Plus stupid GC tricks. 2014-05-31T01:24:16Z samskulls quit (Quit: leaving) 2014-05-31T01:24:37Z DGASAU quit (Remote host closed the connection) 2014-05-31T01:25:22Z drmeister joined #sbcl 2014-05-31T01:25:45Z samskulls joined #sbcl 2014-05-31T01:28:35Z DGASAU joined #sbcl 2014-05-31T01:41:17Z mega1` quit (Remote host closed the connection) 2014-05-31T01:41:28Z mega1` joined #sbcl 2014-05-31T01:53:02Z Bike quit (Ping timeout: 276 seconds) 2014-05-31T01:54:03Z Bike joined #sbcl 2014-05-31T02:02:19Z ltbarcly joined #sbcl 2014-05-31T02:03:25Z owl-v- joined #sbcl 2014-05-31T02:38:20Z zRecursive joined #sbcl 2014-05-31T02:38:39Z christoph_debian quit (Ping timeout: 260 seconds) 2014-05-31T02:39:35Z drmeister quit (Remote host closed the connection) 2014-05-31T02:40:03Z drmeister joined #sbcl 2014-05-31T02:50:14Z nyef quit (Quit: G'night all) 2014-05-31T02:52:01Z christoph_debian joined #sbcl 2014-05-31T02:58:21Z DGASAU quit (Ping timeout: 252 seconds) 2014-05-31T03:01:06Z DGASAU joined #sbcl 2014-05-31T03:09:17Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-31T03:26:08Z krzysz00 quit (Ping timeout: 245 seconds) 2014-05-31T03:27:57Z krzysz00 joined #sbcl 2014-05-31T03:36:40Z zRecursive quit (Remote host closed the connection) 2014-05-31T03:38:38Z pkhuong: Something like http://paste.lisp.org/display/142739 2014-05-31T03:47:13Z ccl-logbot joined #sbcl 2014-05-31T03:47:13Z 2014-05-31T03:47:13Z names: ccl-logbot xymox samskulls p_l ivan4th krzysz00 christoph_debian drmeister owl-v- Bike mega1` psilord Hydan_ cmack karswell davazp oleo__ jsnell_ scymtym slyrus |3b| @Krystof MrJones PuercoPop jaimef irsol brown` loke_ White_Flame jackdaniel tmh_ kanru fikusz nicdev leo2007 ChibaPet jdz _8hzp` carvite notori0us les ferada antoszka asedeno minion Intensity fe[nl]ix Blkt p_l|backup pkhuong ivan`` joshe flip214 leoc dsp_ pchrist brucem mood Posterdati milosn 2014-05-31T03:47:13Z names: redline6561 yauz ams specbot luis phf faheem_ cracauer foom 2014-05-31T03:48:18Z gingerale joined #sbcl 2014-05-31T03:51:34Z edgar-rft joined #sbcl 2014-05-31T03:55:04Z DGASAU joined #sbcl 2014-05-31T04:06:21Z ltbarcly joined #sbcl 2014-05-31T04:14:29Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-31T04:17:39Z ltbarcly joined #sbcl 2014-05-31T04:27:32Z DGASAU quit (Remote host closed the connection) 2014-05-31T04:29:41Z DGASAU joined #sbcl 2014-05-31T04:43:20Z DGASAU quit (Ping timeout: 252 seconds) 2014-05-31T04:45:19Z yacks joined #sbcl 2014-05-31T04:45:35Z ltbarcly_ joined #sbcl 2014-05-31T04:46:20Z DGASAU joined #sbcl 2014-05-31T04:47:18Z ltbarcly quit (Ping timeout: 240 seconds) 2014-05-31T04:57:53Z krzysz00 quit (Ping timeout: 264 seconds) 2014-05-31T04:59:35Z krzysz00 joined #sbcl 2014-05-31T04:59:44Z ltbarcly_ quit (Quit: Computer has gone to sleep.) 2014-05-31T04:59:46Z sdemarre joined #sbcl 2014-05-31T05:08:24Z ltbarcly joined #sbcl 2014-05-31T05:08:31Z sdemarre quit (Ping timeout: 252 seconds) 2014-05-31T05:10:06Z ltbarcly quit (Client Quit) 2014-05-31T05:10:44Z ltbarcly joined #sbcl 2014-05-31T05:12:47Z ltbarcly quit (Client Quit) 2014-05-31T05:25:31Z sdemarre joined #sbcl 2014-05-31T06:00:39Z yacks quit (*.net *.split) 2014-05-31T06:01:06Z yacks joined #sbcl 2014-05-31T06:13:38Z Krystof: scymtym: I think at execute-toplevel it should work; it'll never work inside compile-file 2014-05-31T06:34:40Z ASau joined #sbcl 2014-05-31T06:44:34Z davazp quit (Remote host closed the connection) 2014-05-31T07:03:07Z oleo joined #sbcl 2014-05-31T07:05:29Z oleo__ quit (Ping timeout: 252 seconds) 2014-05-31T07:17:27Z Bike quit (Quit: shutdown) 2014-05-31T07:22:28Z prxq joined #sbcl 2014-05-31T07:32:43Z mega1` quit (Remote host closed the connection) 2014-05-31T07:58:35Z slyrus quit (Ping timeout: 240 seconds) 2014-05-31T07:59:47Z krzysz00 quit (Ping timeout: 255 seconds) 2014-05-31T08:01:42Z krzysz00 joined #sbcl 2014-05-31T08:05:04Z slyrus joined #sbcl 2014-05-31T08:10:18Z slyrus quit (Ping timeout: 240 seconds) 2014-05-31T08:30:53Z krzysz00 quit (Ping timeout: 264 seconds) 2014-05-31T08:32:21Z krzysz00 joined #sbcl 2014-05-31T08:36:06Z mega1 joined #sbcl 2014-05-31T08:41:59Z erikvarga joined #sbcl 2014-05-31T09:08:27Z kanru` joined #sbcl 2014-05-31T09:20:44Z michael_lee joined #sbcl 2014-05-31T09:40:28Z jsnell joined #sbcl 2014-05-31T09:44:17Z jsnell_ quit (Ping timeout: 265 seconds) 2014-05-31T09:44:22Z erikvarga quit (Ping timeout: 265 seconds) 2014-05-31T09:44:22Z yacks quit (Ping timeout: 265 seconds) 2014-05-31T09:45:01Z yacks joined #sbcl 2014-05-31T09:50:49Z erikvarga joined #sbcl 2014-05-31T10:08:32Z ltbarcly joined #sbcl 2014-05-31T10:22:28Z owl-v- quit (Quit: This computer has gone to sleep) 2014-05-31T10:32:39Z kanru` quit (Ping timeout: 252 seconds) 2014-05-31T11:17:43Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-31T11:26:20Z ltbarcly joined #sbcl 2014-05-31T11:30:58Z stassats joined #sbcl 2014-05-31T11:55:24Z ltbarcly quit (Quit: Computer has gone to sleep.) 2014-05-31T12:21:09Z oleo quit (Quit: Verlassend) 2014-05-31T12:23:15Z oleo joined #sbcl 2014-05-31T12:24:47Z ASau quit (Ping timeout: 260 seconds) 2014-05-31T12:32:41Z ASau joined #sbcl 2014-05-31T12:43:11Z stassats quit (Ping timeout: 240 seconds) 2014-05-31T13:01:42Z pkhuong: I think http://paste.lisp.org/display/142742 is in decent shape for some sanity checks. 2014-05-31T13:08:06Z pkhuong: needs some more logic to avoid taking (diff top ...) 2014-05-31T13:21:41Z leo2007 quit (Ping timeout: 252 seconds) 2014-05-31T13:29:08Z Shinmera joined #sbcl 2014-05-31T13:35:18Z krzysz00 quit (Ping timeout: 240 seconds) 2014-05-31T13:36:57Z ASau quit (Remote host closed the connection) 2014-05-31T13:37:35Z krzysz00 joined #sbcl 2014-05-31T13:37:37Z ASau joined #sbcl 2014-05-31T13:53:35Z stassats joined #sbcl 2014-05-31T14:05:43Z stassats: gencgc doesn't move functions which are active on the stack? 2014-05-31T14:06:25Z krzysz00 quit (Ping timeout: 252 seconds) 2014-05-31T14:07:20Z kanru` joined #sbcl 2014-05-31T14:08:18Z krzysz00 joined #sbcl 2014-05-31T14:34:47Z ASau quit (Remote host closed the connection) 2014-05-31T14:35:25Z ASau joined #sbcl 2014-05-31T14:54:49Z owl-v- joined #sbcl 2014-05-31T15:00:46Z pkhuong: stassats: nope, because we only have conservative roots for return addresses. 2014-05-31T15:01:11Z stassats: on non-x86oids? 2014-05-31T15:02:17Z pkhuong: gengc? 2014-05-31T15:02:39Z stassats: is C conservative or copying? 2014-05-31T15:02:47Z stassats: i always assumed the latter 2014-05-31T15:03:37Z pkhuong: conservative. 2014-05-31T15:04:06Z stassats: even though genCgc.c implements both 2014-05-31T15:04:24Z stassats: i guess we can repurpose the abbreviation once it's no longer conservative 2014-05-31T15:05:11Z stassats: it's clear that gengc doesn't move the calling code object, otherwise my saving of LR and returning to it wouldn't work a bit 2014-05-31T15:18:53Z pkhuong: ... the svref fix should be a no op 2014-05-31T15:19:00Z pkhuong: we're doing something wrong in array intersection. 2014-05-31T15:19:36Z stassats: right, THE merges types, DECLARE does not 2014-05-31T15:20:16Z stassats: (sb-kernel:%simple-fun-type (lambda (a) (declare ((vector bogus2) a)) (the simple-vector a))) => (VALUES (SIMPLE-ARRAY BOGUS2 (*)) &OPTIONAL) 2014-05-31T15:20:36Z stassats: (sb-kernel:%simple-fun-type (lambda (a) (declare ((vector bogus2) a)) (let ((a a)) (declare (simple-vector a)) a))) => (VALUES SIMPLE-VECTOR &OPTIONAL) 2014-05-31T15:21:04Z stassats: but, even if it merges, merging unknown types is not a valid thing to do 2014-05-31T15:21:26Z pkhuong: (sb-c::type-intersection (sb-c::specifier-type '(vector undefined-type)) (sb-c::specifier-type 'simple-vector)) 2014-05-31T15:21:58Z pkhuong: we should have a simple-array with specialised element type T and element type undefined. 2014-05-31T15:22:35Z stassats: would the data-vector-ref template be applied on such a type? 2014-05-31T15:23:25Z pkhuong: yes, it's a simple vector. 2014-05-31T15:23:41Z pkhuong: I guess we fixed array type union, but intersection is still broken. 2014-05-31T15:24:17Z stassats: it may not be a simple-vector if undefined-type is something like FIXNUM at runtime 2014-05-31T15:24:48Z pkhuong: sure 2014-05-31T15:24:51Z pkhuong: but then that's a type error 2014-05-31T15:25:05Z pkhuong: it won't pass (typep a simple-vector) 2014-05-31T15:25:32Z pkhuong: the intersection of simple-vector and (vector bogus) is a simple-array T that only contains values of type bogus. 2014-05-31T15:26:56Z pkhuong: just like the intersection of (array (or bit boolean)) and (array (or integer symbol)) isn't a bit vector. 2014-05-31T15:27:01Z pkhuong: *bit array 2014-05-31T15:27:16Z stassats: but (type-intersection (specifier-type '(vector fixnum)) (specifier-type 'simple-vector)) => #? 2014-05-31T15:27:16Z pkhuong: it's a simple array T (in our case) that only contains bits 2014-05-31T15:27:29Z pkhuong: yes. 2014-05-31T15:27:31Z drmeister quit (Remote host closed the connection) 2014-05-31T15:27:35Z pkhuong: what's the issue? 2014-05-31T15:27:50Z stassats: how can it be a simple-array T? 2014-05-31T15:27:53Z pkhuong: it's not. 2014-05-31T15:28:10Z pkhuong: it's nil because someone lied to THE and we'll detect that with a type test for simple-vector-p 2014-05-31T15:28:39Z stassats: is it smart enough? 2014-05-31T15:28:41Z pkhuong: *if* THE is correct/passes the type test, then the result of the cast is definitely a simple-vector. 2014-05-31T15:28:52Z pkhuong: smart enough to insert a type check? 2014-05-31T15:29:15Z pkhuong: derived types are always partial on not failing due to a type error 2014-05-31T15:29:19Z stassats: to select the VOP and insert a type check 2014-05-31T15:29:55Z pkhuong: that's what THE does. 2014-05-31T15:31:41Z pkhuong: (sb-c::type-intersection (sb-c::specifier-type '(vector (or bit symbol))) (sb-c::specifier-type '(vector (or bit character)))) <- more brokenness 2014-05-31T15:34:42Z stassats: but why the difference between declare and THE? 2014-05-31T15:35:25Z pkhuong: because we're doing something else that's broken 2014-05-31T15:35:31Z pkhuong: the type system is definitely broken though 2014-05-31T15:36:02Z pkhuong: the difference between DECLARE and THE is probably just overly conservative types 2014-05-31T15:36:12Z pkhuong: unlike array types, which are still completely broken. 2014-05-31T15:36:56Z stassats: ok, fixed all the LOOP failures in ansi-cl-tests 2014-05-31T15:43:11Z erikvarga left #sbcl 2014-05-31T15:46:39Z stassats: adding regressions into fixes is a good way to boost version numbers 2014-05-31T15:47:06Z pkhuong: "fixed" unparsing 2014-05-31T15:49:07Z pkhuong: if the derived element type is so tight that it'd change the specialised element type, just return the specialised element type. 2014-05-31T15:53:58Z kanru` quit (Ping timeout: 265 seconds) 2014-05-31T15:58:54Z stassats: it should be possible to make runtime not to use any signals whatsoever, shouldn't it? 2014-05-31T15:59:25Z stassats: write protection faults may be problematic 2014-05-31T16:02:06Z stassats: (thinking about sbcl.so) 2014-05-31T16:02:18Z stassats: memory layout is problematic too 2014-05-31T16:02:26Z Krystof: would be nice. Did you see Nick Levine's talk at ELS? 2014-05-31T16:02:42Z stassats: nope 2014-05-31T16:02:56Z Krystof: he made lispworks.so, and called into it from sbcl for hilarity and confusion 2014-05-31T16:03:09Z Krystof: not lispworks.so but his-app-on-lispworks.so 2014-05-31T16:04:20Z pkhuong: not sure about our wild-type/T confusion for array-element-type 2014-05-31T16:06:07Z pkhuong: what isn't broken in array types? :'( 2014-05-31T16:06:38Z michael_lee quit (Ping timeout: 240 seconds) 2014-05-31T16:15:26Z stassats: gencgc doesn't really need protection, does it? 2014-05-31T16:15:50Z stassats: that leaves memory layout problems 2014-05-31T16:17:05Z pkhuong: safe point 2014-05-31T16:17:18Z pkhuong: but that's just a matter of inserting more code. 2014-05-31T16:21:05Z michael_lee joined #sbcl 2014-05-31T16:22:48Z stassats: if all static symbols go through a TLS structure, then memory layout is not important too 2014-05-31T16:23:47Z pkhuong: the main reason I want software write barriers is that it might make embedding easier 2014-05-31T16:24:05Z pkhuong: safe points + soft wb => much less signal hackery. 2014-05-31T16:28:39Z Bicyclidine joined #sbcl 2014-05-31T16:32:36Z stassats: shared libraries perform some sort of linking, maybe that can be exploited 2014-05-31T16:43:19Z pkhuong: for the layout? I think foom had ideas to exploit elf, at some point 2014-05-31T16:46:09Z stassats: even without shared libraries, relocatable core can be useful 2014-05-31T17:15:34Z attila_lendvai joined #sbcl 2014-05-31T17:16:24Z drmeister joined #sbcl 2014-05-31T17:16:40Z pkhuong: ok. this should work, but breaks (setf svref) only during bootstrap. 2014-05-31T17:16:48Z pkhuong: not in the mood for patch bisection. 2014-05-31T17:18:18Z slyrus joined #sbcl 2014-05-31T17:20:35Z drmeister quit (Ping timeout: 240 seconds) 2014-05-31T17:31:30Z drmeister joined #sbcl 2014-05-31T17:35:18Z leuler joined #sbcl 2014-05-31T17:36:28Z michael_lee quit (Quit: Ex-Chat) 2014-05-31T17:39:10Z leuler: Hi stassats, thanks for fixing lp#1251861 (unwanted DISASSEMBLE output into *DEBUG-IO*)! 2014-05-31T17:39:37Z stassats: i was just going through bug reports looking for low hanging fruits 2014-05-31T17:40:24Z stassats: leuler: pro tip, there's a sb-ext:*disassemble-annotate* variable 2014-05-31T17:41:05Z stassats: i added it since source code annotation is consistently broken for me 2014-05-31T17:43:52Z leuler: I would have to try what difference it makes; I am regularly mass disassembling to look out for funny compiler output and the noise to debug-io was annoying. 2014-05-31T17:44:27Z stassats: it just gives pure assembly, no nonsense 2014-05-31T17:46:23Z leuler: stassats: You added a loop test :negative-repeat that contains two identical asserts (the ones with 1.5 in them). Did you happen to mean to have one being a single and one a double float? 2014-05-31T17:46:50Z stassats: one should be -1 2014-05-31T17:57:36Z attila_lendvai quit (Quit: Leaving.) 2014-05-31T18:07:32Z attila_lendvai joined #sbcl 2014-05-31T18:23:35Z ASau quit (Remote host closed the connection) 2014-05-31T18:39:57Z Bicyclidine quit (Ping timeout: 252 seconds) 2014-05-31T18:41:57Z Bicyclidine joined #sbcl 2014-05-31T18:56:41Z stassats is writing GCC in java 2014-05-31T18:57:08Z stassats: it connects to a tcp server in SBCL on another machine, copies files, invokes gcc, and copies things back 2014-05-31T18:58:22Z ASau joined #sbcl 2014-05-31T18:59:07Z pkhuong: "Android: it's linux!" ;) 2014-05-31T19:33:29Z attila_lendvai quit (Ping timeout: 252 seconds) 2014-05-31T19:40:49Z mega1 quit (Ping timeout: 252 seconds) 2014-05-31T19:43:02Z oleo is now known as Guest94563 2014-05-31T19:43:46Z oleo__ joined #sbcl 2014-05-31T19:44:20Z Bike joined #sbcl 2014-05-31T19:46:29Z Guest94563 quit (Ping timeout: 264 seconds) 2014-05-31T19:52:56Z Shinmera quit (Quit: brb) 2014-05-31T19:53:26Z Shinmera joined #sbcl 2014-05-31T20:03:17Z sdemarre quit (Ping timeout: 252 seconds) 2014-05-31T20:13:22Z drmeister quit (Remote host closed the connection) 2014-05-31T20:14:21Z edgar-rft quit (Quit: happening interrupted because existence terminated) 2014-05-31T20:18:44Z drmeister joined #sbcl 2014-05-31T20:21:22Z brucem quit (Quit: ZNC - http://znc.sourceforge.net) 2014-05-31T20:22:52Z brucem joined #sbcl 2014-05-31T20:23:11Z Shinmera quit (Ping timeout: 265 seconds) 2014-05-31T20:46:57Z drmeister quit (Remote host closed the connection) 2014-05-31T20:49:45Z brucem quit (Ping timeout: 252 seconds) 2014-05-31T20:51:56Z brucem joined #sbcl 2014-05-31T20:55:41Z prxq quit (Remote host closed the connection) 2014-05-31T20:56:31Z prxq joined #sbcl 2014-05-31T21:01:09Z Hydan_ quit (Quit: Textual IRC Client: www.textualapp.com) 2014-05-31T21:02:43Z oleo__ quit (Quit: Verlassend) 2014-05-31T21:04:44Z oleo joined #sbcl 2014-05-31T21:17:38Z prxq quit (Ping timeout: 240 seconds) 2014-05-31T21:26:34Z leuler quit (Quit: ERC Version 5.1.2 $Revision: 1.796.2.6 $ (IRC client for Emacs)) 2014-05-31T21:30:57Z DGASAU quit (Remote host closed the connection) 2014-05-31T21:34:45Z DGASAU joined #sbcl 2014-05-31T21:40:52Z stassats: ./gcc foo.c -o foo now works 2014-05-31T21:41:05Z stassats: time to compile contribs with it 2014-05-31T21:45:37Z stassats: which, xargs, find: not found 2014-05-31T21:47:53Z drmeister joined #sbcl 2014-05-31T21:49:39Z stassats: and now for the killer: make: not found 2014-05-31T21:50:06Z stassats: will have to convert to pure asdf contrib building process 2014-05-31T22:01:36Z stassats: procured make from somewhere 2014-05-31T22:34:13Z drmeister quit (Read error: Connection reset by peer) 2014-05-31T22:34:34Z stassats: memory fault at 0xDEADBAAD 2014-05-31T22:36:22Z stassats: sb-_posix_ doesn't fit well on android 2014-05-31T22:48:58Z drmeister joined #sbcl 2014-05-31T23:12:45Z stassats: connected to slime, that had to comment out/implement some networking things 2014-05-31T23:18:05Z stassats: hm, CCL can call setsockopt and SBCL can't 2014-05-31T23:27:04Z stassats: i have to (load-shared-object "libc.so") 2014-05-31T23:34:27Z ehaliewicz joined #sbcl 2014-05-31T23:42:25Z ehaliewi` joined #sbcl 2014-05-31T23:42:45Z ehaliewi` quit (Remote host closed the connection) 2014-05-31T23:43:47Z owl-v- quit (Ping timeout: 260 seconds) 2014-05-31T23:44:16Z owl-v- joined #sbcl 2014-05-31T23:45:11Z ehaliewicz quit (Ping timeout: 260 seconds) 2014-05-31T23:59:31Z owl-v- quit (Quit: This computer has gone to sleep)