20:33:08 ccl-logbot [~ccl-logbo@setf.clozure.com] has joined #sbcl 20:33:08 20:33:08 -!- names: ccl-logbot luis slyrus sdemarre scymtym Qworkescence attila_lendvai @Kryztof stassats psilord LiamH angavrilov homie` pchrist Phoodus cmm easye edgar-rft fe[nl]ix DGASAU foom christop` Quadrescence pkhuong ivan`` Intensity jsnell |3b| daimrod drdo loke Neronus Posterdati MikeSeth sshirokov jiacobucci whoops hroptatyr cow-orker brown` antifuchs kanru danlarkin Xof_ redline6561 lichtblau flip215 sbryant joshe antoszka lsenta 20:37:55 saschakb [~saschakb@p4FEA0F1E.dip0.t-ipconnect.de] has joined #sbcl 20:49:23 -!- slyrus [~chatzilla@173-228-44-92.dsl.static.sonic.net] has quit [Ping timeout: 244 seconds] 21:01:10 -!- attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has quit [Quit: Leaving.] 21:18:24 -!- homie` [~levgue@xdsl-84-44-153-51.netcologne.de] has quit [Read error: Connection reset by peer] 21:19:03 homie` [~levgue@xdsl-84-44-153-51.netcologne.de] has joined #sbcl 21:26:25 -!- sdemarre [~serge@91.176.89.251] has quit [Ping timeout: 276 seconds] 21:23:40 ccl-logbot [~ccl-logbo@setf.clozure.com] has joined #sbcl 21:23:40 21:23:40 -!- names: ccl-logbot tsuru` Quadrescence homie scymtym saschakb pchrist ivan`` Posterdati antoszka ASau stassats stassats` superjudge prxq loke cmm edgar-rft sdemarre psilord @Kryztof slyrus whoops _8david` christoph_debian reb` Blkt Bugson jsnell fe[nl]ix kanru redline6561 sshirokov cow-orker Xof_ noopyks Neronus daimrod |3b| Intensity pkhuong foom luis danlarkin antifuchs MikeSeth joshe sbryant flip215 jiacobucci 21:36:44 LiamH [~healy@pool-74-96-8-26.washdc.east.verizon.net] has joined #sbcl 21:38:01 I just got a package lock error from (sb-debug:arg ...) in the debugger 21:38:07 today is not a good day 21:42:43 am i missing something, or why is CHAR on simple-strings not implemented just as sb-sys:sap-ref-32, i just sketched a version that does so, http://paste.lisp.org/display/128544 , and it's almost twice as fast 21:43:37 -!- sdemarre [~serge@91.176.96.62] has quit [Ping timeout: 276 seconds] 21:43:50 annotated with disassembly http://paste.lisp.org/display/128544#1 21:44:35 is this because of those pesky NIL arrays or something? 21:47:53 not just them, but simple-base-strings too 21:48:14 stassats: (simple-array character 1) is what you want. 21:48:57 -!- homie [~levgue@xdsl-78-35-169-59.netcologne.de] has quit [Read error: Connection reset by peer] 21:49:14 I have made some progress on one of pfdietz's bugs today. Enough that I realise that a change I made over four years ago is buggy :-( 21:49:31 oh, i was foild by thinking simple-string is like simple-vector 21:49:36 homie [~levgue@xdsl-78-35-169-59.netcologne.de] has joined #sbcl 21:49:43 specifically, using signed modular arithmetic to implement unsigned 21:51:18 alright, i was missing something indeed 21:51:47 i wonder is there are too much penality in packing strings into 3 bytes, not 4 21:52:35 stassats: more register pressure, and it simply won't work on some RISCy platforms 21:52:56 well, what about x86? 21:53:12 more register pressure. 21:54:55 is there an ir1 utility function which essentially wraps a node inside a new call? 21:55:24 don't think so. 21:55:41 It might be possible to factor something out of the cast machinery? 21:56:15 pkhuong: but it's just multiplying index by 3, and then ANDing the result 21:56:42 stassats: multiplication by three isn't supported directly in effective addresses 21:56:47 moreover, our indices are fixnums 21:57:09 yeah, just looking at insert-cast-before 21:57:19 what do fixnum indices imply? 21:57:29 stassats: they're shifted by one or two bit. 21:57:31 that they need to be defixnumized? 21:57:35 right. 21:58:25 the sequence would look like: tmp <- unbox(index); tmp <- -tmp; tmp <- tmp + index, I guess. 21:58:35 compare to just using index directly. 22:00:08 but when it still needs to be defixnumized currently? 22:00:13 no. 22:01:09 i see SAR RDI, 1 22:01:11 on x86, it's just the right shift for 32 bit elts, and on x86-64 (with 63 bit fixnums), it only needs a multiplication by two (which we can encode in the EA) 22:01:12 -!- saschakb [~saschakb@p4FEA1233.dip0.t-ipconnect.de] has quit [Read error: Connection reset by peer] 22:01:33 Qworkescence [~quad@unaffiliated/quadrescence] has joined #sbcl 22:02:29 so, it can be optimized, but it's not currently 22:02:33 suboptimal code from back when we had 61 bit fixnums 22:02:57 Did anyone have a chance to look at the issue I whined about yesterday? 22:03:09 i don't think there will be any measurable difference, though 22:03:15 other than smaller code-size 22:04:12 Qworkescence: what did you whine about? 22:04:14 stassats: depends. I've seen programs that are decode bound. 22:07:11 stassats, I don't have the logs here (I'm at work), but building on Darwin/PPC fails when it's linking the runtime, because darwin_init() can't be found. I think I found the commit that made it break. 22:07:30 I just don't know enough about the runtime build process to figure out why (e.g., what headers include what headers, etc) 22:08:06 (I am looking up the commit now) 22:08:28 I suspect the fix is simple, luckily. 22:08:29 hm, ub32 gets SAR RDI, 1, but ub64 doesn't 22:09:46 stassats: it used to be only ub64 didn't need unboxing 22:10:30 but that's a shift on the index 22:11:06 -!- homie [~levgue@xdsl-78-35-169-59.netcologne.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 22:11:29 i know that indexing would be twice as large, but i don't understand why one has a shift, and another not, and relative address stays [RDX+RDI*4+1] 22:11:30 maybe? I don't follow. 22:11:51 This is the commit that broke the build: http://sbcl.git.sourceforge.net/git/gitweb.cgi?p=sbcl/sbcl.git;a=blobdiff;f=src/runtime/bsd-os.c;h=5e6eb527bed442fd10407c906e9ffe647e479d06;hp=3f54aefdb4508675cee74ed57822b25a355c710d;hb=HEAD;hpb=79578c137282cc8fa8eb34112915dc17a3855224 22:12:28 or http://tinyurl.com/7ptr279 22:12:34 stassats: we split array access in three cases: sub-byte accesses, sub-word (i.e. qwords on x86-64) accesses, and natural accesses (plus FP) 22:13:00 with 63 bit fixnums, the split doesn't make as much sense anymore. 22:14:36 *stassats* goes to look at the VOP 22:14:41 CMUCL and old SBCL had the property that fixnums were boxed just right for them to be used directly as byte offsets in word-vectors 22:15:00 this meant that we had to unbox indices for any access < word 22:15:10 pkhuong: do your CLOS patches need further testing ? I'd really like to see them going in the next release 22:15:28 because vectors where at a particular address? 22:16:04 -!- superjudge [~superjudg@c83-250-198-227.bredband.comhem.se] has quit [Quit: superjudge] 22:16:13 because the stride needed for successive memory dereferences exactly matched the fixnum increment (including low 0s for tagging) 22:16:29 http://paste.lisp.org/display/128545 22:17:02 fe[nl]ix: I have to do boring academic stuff for now. 22:17:19 But I'll definitely try and get it in before the next freeze ;) 22:17:38 homie [~levgue@xdsl-78-35-169-59.netcologne.de] has joined #sbcl 22:18:29 stassats: so, now that we have larger fixnums on x86-64, this property doesn't hold anymore, and we only have to unbox for byte-sized (and smaller) elements. 22:18:34 see paste. 22:20:42 did you have it somewhere already or you just did it now? 22:20:58 just now 22:21:53 I think I remember thinking it'd be a minor issue when I reviewed nyef's patches, but it's clearly nothing major, so there was no reason to even think about it at the time. 22:24:53 btw, whoever fixed slime's indentation for define-vop, you probably saved me hours of pain per year. 22:25:29 haha 22:26:15 times went from 2.329 to 2.267 22:26:38 on doing 20 million iterations of the test 22:30:46 Qworkescence: try changing darwin_init() in darwin-os.c to be outside the LISP_FEATURE_MACH_EXCEPTION_HANDLER ifdef, but to have its body be protected by the ifdef 22:30:54 hang on, maybe a patch would be clearer than words 22:32:33 pkhuong: will you commit this? 22:32:35 -!- pchrist [~spirit@gentoo/developer/pchrist] has quit [Quit: leaving] 22:33:09 http://paste.lisp.org/display/128546 22:33:29 stassats: guess I should. 22:33:47 interesting, how much smaller the core would be 22:34:03 Kryztof, That looks like it might work. I'll try right away when I get home! 22:34:12 Qworkescence: please let me know if that works; if it does, I'll commit it 22:34:13 thanks 22:40:19 are the cores aligned or something? because i got exactly 65536 bytes less with the vector-ref patch applied 22:41:43 stassats: cores are dumped by the (allocation) page. 22:43:31 one thing is clear, it's somewhat smaller indeed 22:57:28 -!- edgar-rft [~user@HSI-KBW-078-043-123-191.hsi4.kabel-badenwuerttemberg.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 22:59:11 -!- scymtym [~user@2001:638:504:2093:21a:a0ff:fe34:2d7d] has quit [Read error: Connection reset by peer] 22:59:25 scymtym [~user@2001:638:504:2093:21a:a0ff:fe34:2d7d] has joined #sbcl 23:05:50 -!- LiamH [~healy@pool-74-96-8-26.washdc.east.verizon.net] has quit [Ping timeout: 246 seconds] 23:06:07 -!- jsnell [~jsnell@ash.snellman.net] has quit [Ping timeout: 264 seconds] 23:06:11 jsnell [~jsnell@ash.snellman.net] has joined #sbcl 23:25:31 -!- prxq [~mommer@mnhm-5f75df18.pool.mediaWays.net] has quit [Quit: Leaving] 23:26:43 -!- pkhuong [~pkhuong@gravelga.xen.prgmr.com] has quit [Ping timeout: 245 seconds] 23:26:47 pkhuong [~pkhuong@gravelga.xen.prgmr.com] has joined #sbcl 23:35:23 -!- Qworkescence [~quad@unaffiliated/quadrescence] has quit [Read error: Connection reset by peer] 23:35:56 -!- homie [~levgue@xdsl-78-35-169-59.netcologne.de] has quit [Read error: Connection reset by peer] 23:36:33 homie [~levgue@xdsl-78-35-169-59.netcologne.de] has joined #sbcl 23:38:42 -!- homie [~levgue@xdsl-78-35-169-59.netcologne.de] has quit [Read error: Connection reset by peer] 23:40:34 Qworkescence [~quad@unaffiliated/quadrescence] has joined #sbcl 23:43:07 homie [~levgue@xdsl-78-35-169-59.netcologne.de] has joined #sbcl 00:16:24 LiamH [~healy@pool-74-96-8-26.washdc.east.verizon.net] has joined #sbcl 00:34:30 -!- homie [~levgue@xdsl-78-35-169-59.netcologne.de] has quit [Read error: Connection reset by peer] 00:35:09 homie [~levgue@xdsl-78-35-169-59.netcologne.de] has joined #sbcl 00:39:03 -!- homie [~levgue@xdsl-78-35-169-59.netcologne.de] has quit [Client Quit] 00:39:38 -!- stassats` [~stassats@wikipedia/stassats] has quit [Ping timeout: 240 seconds] 00:39:49 -!- stassats [~stassats@wikipedia/stassats] has quit [Ping timeout: 260 seconds] 00:43:17 homie [~levgue@xdsl-78-35-169-59.netcologne.de] has joined #sbcl 01:40:15 -!- Qworkescence [~quad@unaffiliated/quadrescence] has quit [Quit: Leaving] 16:25:03 ccl-logbot [~ccl-logbo@setf.clozure.com] has joined #sbcl 16:25:03 16:25:03 -!- names: ccl-logbot milanj echo-area superjudge kanru`` optikalmouse psilord LiamH DGASAU fe[nl]ix jsnell prxq angavrilov _8david Bugson pchrist scymtym Intensity Phoodus @Kryztof dlowe hlavaty ASau kwmiebach Blkt` cmm loke pkhuong Quadrescence ivan`` Posterdati antoszka whoops christoph_debian reb` noopyks Xof_ cow-orker sshirokov Neronus daimrod |3b| foom luis danlarkin antifuchs MikeSeth joshe sbryant flip215 jiacobucci redline6561 kanru