00:34:31 kanru` [~user@61-228-145-162.dynamic.hinet.net] has joined #sbcl 01:05:48 prxq_ [~mommer@mnhm-4d0116fb.pool.mediaWays.net] has joined #sbcl 01:08:47 -!- prxq [~mommer@mnhm-5f75fc73.pool.mediaWays.net] has quit [Ping timeout: 252 seconds] 01:56:50 homie` [~levgue@xdsl-78-35-131-31.netcologne.de] has joined #sbcl 01:59:38 -!- homie [~levgue@xdsl-87-79-192-236.netcologne.de] has quit [Ping timeout: 245 seconds] 02:00:23 -!- wbooze [~wbooze@xdsl-87-79-192-236.netcologne.de] has quit [Ping timeout: 265 seconds] 02:03:42 gko [~gko@114-34-168-13.HINET-IP.hinet.net] has joined #sbcl 03:24:15 -!- gko [~gko@114-34-168-13.HINET-IP.hinet.net] has quit [] 03:35:32 -!- angavrilov_ is now known as angavrilov 04:00:40 -!- borkman [~user@S0106001111de1fc8.cg.shawcable.net] has quit [Read error: Connection reset by peer] 04:00:50 borkman [~user@S0106001111de1fc8.cg.shawcable.net] has joined #sbcl 04:21:36 -!- homie` [~levgue@xdsl-78-35-131-31.netcologne.de] has quit [Ping timeout: 244 seconds] 04:53:04 homie [~levgue@xdsl-78-35-133-49.netcologne.de] has joined #sbcl 05:03:47 wbooze [~wbooze@xdsl-78-35-133-49.netcologne.de] has joined #sbcl 05:59:18 sdemarre [~serge@91.176.55.18] has joined #sbcl 06:47:12 -!- wbooze [~wbooze@xdsl-78-35-133-49.netcologne.de] has quit [Ping timeout: 250 seconds] 06:47:58 -!- homie [~levgue@xdsl-78-35-133-49.netcologne.de] has quit [Ping timeout: 265 seconds] 06:56:23 -!- prxq_ is now known as prxq 06:57:19 -!- sdemarre [~serge@91.176.55.18] has left #sbcl 07:04:20 tcr [~tcr@84-72-21-32.dclient.hispeed.ch] has joined #sbcl 07:11:42 homie [~levgue@xdsl-78-35-147-41.netcologne.de] has joined #sbcl 07:11:57 wbooze [~wbooze@xdsl-78-35-147-41.netcologne.de] has joined #sbcl 07:32:28 ASau` [~user@93-80-200-185.broadband.corbina.ru] has joined #sbcl 07:35:26 -!- ASau [~user@95-26-251-131.broadband.corbina.ru] has quit [Ping timeout: 246 seconds] 08:10:28 -!- tcr [~tcr@84-72-21-32.dclient.hispeed.ch] has quit [Quit: Leaving.] 08:26:43 gabnet [~gabnet@ACaen-257-1-130-153.w90-62.abo.wanadoo.fr] has joined #sbcl 08:54:17 nikodemus [~nikodemus@37-219-0-207.nat.bb.dnainternet.fi] has joined #sbcl 08:54:17 -!- ChanServ has set mode +o nikodemus 09:24:00 morning 09:27:07 morning 09:29:35 afternoon here :) 09:33:54 matinee then (: 09:34:34 I see we're looking for switch-like constructs again, btw? 09:40:58 -!- wbooze [~wbooze@xdsl-78-35-147-41.netcologne.de] has quit [Quit: Bye] 09:42:42 wbooze [~wbooze@xdsl-78-35-147-41.netcologne.de] has joined #sbcl 09:43:56 re. with-declared-array-time / smarter typecase? 09:44:01 type, even 09:48:26 or just widetag dispatch. 09:49:16 Oh. I'll write this as a wishlist on LP before I forget. 09:58:57 i'm merging the define-array-dispatch today 09:59:17 in my eyes it's definitely a step in the rigth direction 09:59:25 yup 09:59:26 . 09:59:49 just cleaned up the %%SAETP-INFO%% from it, and getting running benchmarks so i can write appropriately upbeat NEWS 10:43:41 ASau`` [~user@95-24-231-147.broadband.corbina.ru] has joined #sbcl 10:47:36 -!- ASau` [~user@93-80-200-185.broadband.corbina.ru] has quit [Ping timeout: 256 seconds] 11:52:40 -!- foom [jknight@nat/google/x-vpqwwyntjnsjogmx] has quit [Ping timeout: 250 seconds] 11:53:11 -!- wbooze [~wbooze@xdsl-78-35-147-41.netcologne.de] has quit [*.net *.split] 11:53:11 -!- gabnet [~gabnet@ACaen-257-1-130-153.w90-62.abo.wanadoo.fr] has quit [*.net *.split] 11:53:11 -!- jsnell [~jsnell@ash.snellman.net] has quit [*.net *.split] 11:53:11 -!- galdor [galdor@def92-10-88-162-192-107.fbx.proxad.net] has quit [*.net *.split] 11:58:16 gabnet [~gabnet@ACaen-257-1-130-153.w90-62.abo.wanadoo.fr] has joined #sbcl 12:04:16 drl [~lat@110.139.229.172] has joined #sbcl 12:16:10 wbooze [~wbooze@xdsl-78-35-147-41.netcologne.de] has joined #sbcl 12:16:10 jsnell [~jsnell@ash.snellman.net] has joined #sbcl 12:16:10 galdor [galdor@def92-10-88-162-192-107.fbx.proxad.net] has joined #sbcl 12:18:02 a question of taste: nice set of three patches, with one bug and one cleanup needed on top. tweak the patches, or put the fix and clenaup in separate commits? 12:23:24 (to clarify, the patches aren't mine -- if they were there would be no question) 12:23:45 historically we've mostly tweaked patches, but i'm wondering if that is really ideal 12:29:10 I 12:29:18 d split it up and credit 12:49:44 -!- Phoodus [~foo@ip72-223-116-248.ph.ph.cox.net] has quit [Ping timeout: 245 seconds] 12:50:02 Phoodus [~foo@ip72-223-116-248.ph.ph.cox.net] has joined #sbcl 12:52:09 pkhuong: any chance you could review my nlx-optimization patch? 12:53:42 i'm pretty happy with it, except for the fact that i'd hate to stick a function called functional-may-escape-p when i'm not 100% sure it is right 12:54:33 in context of the nlx analysis, i figure an occasional miss is effectively harmless thanks to the safety 3 escape hatch and the fact that it's undefined consequences anyways 12:55:47 but i haven't been able to fully convince myself of misses being impossible 13:01:56 Kryztof [~user@81.174.155.115] has joined #sbcl 13:01:56 -!- ChanServ has set mode +o Kryztof 13:09:42 nikodemus: not before ~tuesday, 13:12:15 All right, let's take one look (: 13:13:10 btw, if you're kind of in the area, do you have an idea as to how we could put the return-cell invalidate code in an uwp when needed? 13:15:33 functional-may-escape doesn't look right. 13:16:09 The set of functions we're traversed should grow monotonically. 13:16:13 *we've 13:18:30 ? 13:21:56 gko [~gko@114-34-168-13.HINET-IP.hinet.net] has joined #sbcl 13:22:02 in the last case, when we walk the call graph, the current code only checks if we're looping back to an ancestor in the currently-traversed spine 13:22:16 if we hit code that's highly mutually recursive, performance could be pretty bad. 13:22:36 We only need to check a functional once, even if it's called from multiple places. 13:23:36 oh, right 13:24:25 I think we should just compute that once for the whole compoent 13:25:14 stick the result in a hash table to avoid adding yet another slot in functionals. 13:25:33 and s/it's/its/ 13:26:29 stick the hash table in component? 13:28:30 or just a special? It'd only be used for physenvanal, right? 13:30:38 true 13:37:53 leuler [~user@p549050CE.dip.t-dialin.net] has joined #sbcl 13:45:17 -!- gko [~gko@114-34-168-13.HINET-IP.hinet.net] has quit [Ping timeout: 244 seconds] 13:45:26 https://github.com/nikodemus/SBCL/commit/a183d4940d4bdc95eb5dd536adf4ae83483a3e91 # with per component table 13:54:52 -!- nikodemus [~nikodemus@37-219-0-207.nat.bb.dnainternet.fi] has quit [Quit: This computer has gone to sleep] 13:55:08 -!- Posterdati [~tapioca@host85-230-dynamic.17-87-r.retail.telecomitalia.it] has quit [Read error: Connection reset by peer] 14:08:50 -!- ASau`` [~user@95-24-231-147.broadband.corbina.ru] has quit [Ping timeout: 246 seconds] 14:10:53 gko [~gko@114-34-168-13.HINET-IP.hinet.net] has joined #sbcl 14:11:51 -!- leuler [~user@p549050CE.dip.t-dialin.net] has quit [Quit: ERC Version 5.1.2 $Revision: 1.796.2.6 $ (IRC client for Emacs)] 14:18:55 slyrus [~chatzilla@99-28-161-110.lightspeed.miamfl.sbcglobal.net] has joined #sbcl 14:29:05 Posterdati [~tapioca@host85-230-dynamic.17-87-r.retail.telecomitalia.it] has joined #sbcl 14:42:47 -!- slyrus [~chatzilla@99-28-161-110.lightspeed.miamfl.sbcglobal.net] has quit [Ping timeout: 252 seconds] 14:51:24 -!- Phoodus [~foo@ip72-223-116-248.ph.ph.cox.net] has quit [Ping timeout: 245 seconds] 14:51:47 Phoodus [~foo@ip72-223-116-248.ph.ph.cox.net] has joined #sbcl 14:57:42 -!- gabnet [~gabnet@ACaen-257-1-130-153.w90-62.abo.wanadoo.fr] has quit [Quit: Quitte] 15:01:45 slyrus [~chatzilla@99-28-161-110.lightspeed.miamfl.sbcglobal.net] has joined #sbcl 15:29:31 Fare [fare@nat/google/x-kmsealytonchtrjx] has joined #sbcl 15:30:33 I get plenty of out-of-memory errors running the SBCL tests for XCVB, even though I'm not obviously stressing memory allocation. Are there known issues in current SBCL wrt memory? 15:32:37 -!- gko [~gko@114-34-168-13.HINET-IP.hinet.net] has quit [] 15:35:29 there were changes to GC triggers some time ago, but nikodemus seems to believe he fixed the regressions before the last release. 15:40:36 nikodemus [~nikodemus@cs27123025.pp.htv.fi] has joined #sbcl 15:40:37 -!- ChanServ has set mode +o nikodemus 15:49:53 lemme recompile the latest sbcl... 15:50:31 ASau [~user@95-24-231-147.broadband.corbina.ru] has joined #sbcl 15:55:28 pkhuong: so, aside from not duplicating work, does the may-escape stuff look right to you? 15:59:16 If the comments are right, yes. 16:05:04 i'm pretty confident about them 16:05:48 it's more that i'm wondering if i'm missing something entirely 16:06:57 ok. it's decided -- i'll merge it :) 16:08:22 nikodemus, I have two patches on launchpad, that have been sitting for months 16:08:46 is there a reason to delay either including them upstream or rejecting them? 16:10:50 the other was the thread binding stuff? that one i remember -- i need to review the design discussion i had with gabor earlier to decide what to do with it. i have effectively identical patch in one of my trees, and a couple of alternative approaches as well, and i'm not sure what the right thing is 16:11:00 the other i don't remember 16:11:19 #981695 and #981808 16:13:16 oh, the test thing. right 16:13:25 that i think i can sort out today or tomorrow 16:13:54 the binding thing i assigned to myself, and will sort out over this release cycle 16:14:03 thanks a lot! 16:14:47 Fare: can i bother you with a bit of hoop jumping? 16:15:14 it's not critical, but i'd /really/ prefer to have the whitespace-only changes in a separate patch 16:15:26 makes reviewing easier 16:15:50 feh, nevermind 16:15:56 i'll separate them out myself 16:16:00 quicker 16:19:22 thanks. Sorry about that. 16:20:17 next time :) 16:20:52 We still don't have an IR1 rewriting fairy, do we? 16:21:11 no 16:21:44 but i was very much heartened to see alexey pop up again :) 16:23:53 also while SPLICE-FUN-ARGS isn't what you want, it might work as an example 17:55:20 -!- nikodemus [~nikodemus@cs27123025.pp.htv.fi] has quit [Quit: This computer has gone to sleep] 17:56:35 nikodemus [~nikodemus@cs27123025.pp.htv.fi] has joined #sbcl 17:56:36 -!- ChanServ has set mode +o nikodemus 18:02:30 -!- nikodemus [~nikodemus@cs27123025.pp.htv.fi] has quit [Ping timeout: 260 seconds] 18:56:41 nikodemus [~nikodemus@37-219-0-207.nat.bb.dnainternet.fi] has joined #sbcl 18:56:41 -!- ChanServ has set mode +o nikodemus 18:59:57 was someone reviving boinkmarks? 19:01:07 Kryztof: how would you the IR1 thing, at the source level? 19:05:16 *how would you describe. I'm really not good at this typing while reading a draft thing. 19:17:18 -!- Fare [fare@nat/google/x-kmsealytonchtrjx] has quit [Ping timeout: 252 seconds] 19:17:37 homie` [~levgue@xdsl-78-35-130-151.netcologne.de] has joined #sbcl 19:19:08 -!- wbooze [~wbooze@xdsl-78-35-147-41.netcologne.de] has quit [Ping timeout: 240 seconds] 19:20:13 -!- homie` [~levgue@xdsl-78-35-130-151.netcologne.de] has quit [Read error: Connection reset by peer] 19:20:40 -!- homie [~levgue@xdsl-78-35-147-41.netcologne.de] has quit [Ping timeout: 260 seconds] 19:21:38 homie [~levgue@xdsl-78-35-130-151.netcologne.de] has joined #sbcl 19:24:01 I would like to convert (logand X), where X is something complicated which we can't prove is of an appropriate type, into (logand (mask-signed-field 63 X)), where the whole of the (mask-signed-field 63 X) is prevented from having the same transformation happen to it 19:24:57 so, (logand constant (%mask-signed-field 63 x)) ? 19:25:42 ah, you want X as well to not be subject to the transformation... 19:29:57 transforms are executed bottom up, so what do you want more than making sure mask-signed-field doesn't get optimised away? 19:35:15 it's that X doesn't get recursively subjected to the transformation 19:35:27 I think that FILTER-LVAR is what I want, but it's the second half that I'm not sure how to do 19:35:40 this is to fix Eric's latest snafu with signed modular arithmetic 19:36:12 that is, I think that FILTER-LVAR will do the sourceful transformation, though I have not actually proved that. It will certainly get me into an infinite loop :-) 19:37:04 I think the right answer might be to fix the ancient FIXME in the calls to CUT-TO-WIDTH in the LOGAND optimizer which I tried to explain last time I went down this rabbit hole 19:38:17 By the time LOGAND is converted, X has already gone through the process, so blocking rewrites at mask-signed-field should suffice, no? 19:38:49 ah, no, this must only happen within the context of the LOGAND optimizer 19:38:51 sorry 19:39:05 it's only an appropriate transformation for certain values of 19:43:22 again, logand -> %logand? 19:43:57 I think that is the essence of the FIXME note 19:44:04 I dunno, it might work 19:44:49 cheap tricks beat principled solutions. At least for establishing whether whaat I think of as the problem is actually the problem 19:55:08 I guess we could add a hook to annotate the result of the transformation as already having had that transformation executed. 19:56:22 deftransform is the way i'd do it, using (not signed-word) or whatever is right as the type, and making sure type of mask-signed-field is obvious to the compiler 19:57:32 wbooze [~wbooze@xdsl-78-35-130-151.netcologne.de] has joined #sbcl 20:14:15 -!- ASau [~user@95-24-231-147.broadband.corbina.ru] has quit [Ping timeout: 252 seconds] 20:14:53 ASau [~user@95-24-231-147.broadband.corbina.ru] has joined #sbcl 20:20:31 -!- Phoodus [~foo@ip72-223-116-248.ph.ph.cox.net] has quit [Read error: Connection reset by peer] 20:20:47 Phoodus [~foo@ip72-223-116-248.ph.ph.cox.net] has joined #sbcl 20:25:13 I tried that. 20:25:23 or rather I tried something like it 20:25:49 I even tried explicitly setting the new lvar's derived-type 20:26:02 but I could easily have got that wrong. (in fact I demonstrably did) 20:27:09 -!- huangjs [~huangjs@190.8.100.83] has quit [Remote host closed the connection] 20:30:18 did you get my email? 20:31:40 which of the 15? :p 20:32:04 so snarky! 20:32:58 ah, but yes, but no 20:33:14 it is more complicated than that 20:33:32 strictly speaking the need not be constant either 20:33:39 nor need it have a particular type 20:33:42 it always is... 20:34:46 the point is that the compiler can prove in some cases (or by declaration) clever things. For example, if we have (logand x y) where x is known to be between #x10000 and #x1ffff, and y is known to be between #x20000 and #x2ffff, the compiler can do 16-bit modular arithmetic, even though neither of the arguments is suited 20:35:07 (I am not implementing 16-bit modular arithmetic, for the sake of clarity) 20:36:31 the problem identified by Eric's latest tests is that to do (as we do) unsigned modular arithmetic using a signed implementation, we need to be careful to convert all the arguments to the same signed-width representation, otherwise we can introduce wrong bits thanks to the infinite trail of sign bits 20:37:26 would it be simpler to add unsigned arithmetic VOPs? 20:37:39 it sounds to me like you want (logand x y) --> (%logand (magic-mask x) (magic-mask y)) 20:38:23 actually what I want is to go to sleep so that the toddler-based alarm clock isn't a horrible shock tomorrow morning :-/ 20:38:33 thank you for thinking about the problem :-) 20:38:46 socking, the priorities hackers have these days :) 20:38:50 shocking, even 20:39:14 i'm sure socking is among the priorities, though 20:41:23 making cut-to-width recursive sounds doable... 20:42:11 not this week though (: 20:46:01 -!- nikodemus [~nikodemus@37-219-0-207.nat.bb.dnainternet.fi] has quit [Quit: This computer has gone to sleep] 20:47:54 no rush 20:48:02 so, what is the reason for our cut-to-width optimisers to return NIL? 20:48:14 because they don't do all the work necessary, I think 20:48:34 they convert + to +-mod32, but leave the +-mod32 as a :full call 20:52:28 this is conjecture. The original work and comment's are apd's 20:53:40 returning T should only disable transforms on that node. 20:54:25 then I do not know 21:04:13 -!- drl [~lat@110.139.229.172] has quit [Quit: Leaving] 21:11:20 guess I'll try and see what happens when I move the constant folding/identity transforms for logand/mask-signed-field into cut-to-width. 21:24:01 we'll see if an expression graph rewriting pass wouldn't be simpler... 21:30:26 -!- DGASAU [~user@91.218.144.129] has quit [Read error: Connection reset by peer] 21:30:51 DGASAU` [~user@91.218.144.129] has joined #sbcl 21:49:30 drl [~lat@110.139.229.172] has joined #sbcl 21:53:04 tcr [~tcr@84-72-21-32.dclient.hispeed.ch] has joined #sbcl 22:22:52 -!- christoph_debian [~user@oteiza.siccegge.de] has quit [Remote host closed the connection] 22:25:16 -!- ASau [~user@95-24-231-147.broadband.corbina.ru] has quit [Remote host closed the connection] 22:25:40 ASau [~user@95-26-55-149.broadband.corbina.ru] has joined #sbcl 22:38:54 attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has joined #sbcl 23:06:11 -!- Phoodus [~foo@ip72-223-116-248.ph.ph.cox.net] has quit [Read error: Connection reset by peer] 23:06:12 Phooodus [~foo@ip72-223-116-248.ph.ph.cox.net] has joined #sbcl 23:33:44 -!- kanru` [~user@61-228-145-162.dynamic.hinet.net] has quit [Ping timeout: 246 seconds] 23:41:41 -!- borkman [~user@S0106001111de1fc8.cg.shawcable.net] has quit [Ping timeout: 248 seconds] 23:47:03 borkman [~user@S0106001111de1fc8.cg.shawcable.net] has joined #sbcl