00:04:31 drmeister [~drmeister@pool-173-59-25-70.phlapa.fios.verizon.net] has joined #sbcl 00:05:35 -!- drmeister [~drmeister@pool-173-59-25-70.phlapa.fios.verizon.net] has quit [Remote host closed the connection] 00:28:02 -!- rpg [~rpg@12.202.122.2] has quit [Quit: rpg] 00:38:29 -!- Quadrescence [~quad@unaffiliated/quadrescence] has quit [Quit: This computer has gone to sleep] 01:03:42 prxq_ [~mommer@mnhm-5f75d3c6.pool.mediaWays.net] has joined #sbcl 01:07:10 -!- prxq [~mommer@mnhm-5f75e49d.pool.mediaWays.net] has quit [Ping timeout: 256 seconds] 01:33:03 -!- tsuru``` [~charlie@adsl-98-87-47-177.bna.bellsouth.net] has quit [Read error: Operation timed out] 01:33:54 tsuru``` [~charlie@adsl-74-179-28-37.bna.bellsouth.net] has joined #sbcl 01:35:01 drmeister [~drmeister@pool-173-59-25-70.phlapa.fios.verizon.net] has joined #sbcl 02:30:14 -!- drmeister [~drmeister@pool-173-59-25-70.phlapa.fios.verizon.net] has quit [Remote host closed the connection] 02:33:56 drmeister [~drmeister@pool-173-59-25-70.phlapa.fios.verizon.net] has joined #sbcl 02:39:31 -!- christoph_debian [~christoph@ppp-188-174-67-251.dynamic.mnet-online.de] has quit [Ping timeout: 264 seconds] 02:41:53 -!- yacks [~py@180.151.36.168] has quit [Ping timeout: 255 seconds] 02:43:45 yacks [~py@180.151.36.168] has joined #sbcl 02:44:33 -!- drmeister [~drmeister@pool-173-59-25-70.phlapa.fios.verizon.net] has quit [Remote host closed the connection] 03:19:42 -!- foreignFunction [~niksaak@ip-4761.sunline.net.ua] has quit [Quit: Leaving.] 03:26:55 ehaliewicz [~user@50-0-51-11.dsl.static.sonic.net] has joined #sbcl 03:27:27 Quadrescence [~quad@unaffiliated/quadrescence] has joined #sbcl 04:15:33 -!- Bike [~Glossina@67-5-254-204.ptld.qwest.net] has quit [Ping timeout: 248 seconds] 04:17:36 Bike [~Glossina@67-5-254-204.ptld.qwest.net] has joined #sbcl 04:49:01 slyrus [~chatzilla@adsl-76-254-42-198.dsl.pltn13.sbcglobal.net] has joined #sbcl 05:12:24 minion: memo for nyef: commit looks good to me 05:12:24 Remembered. I'll tell nyef when he/she/it next speaks. 05:12:58 sdemarre [~serge@91.176.198.219] has joined #sbcl 05:15:04 -!- psilord [~psilord@c-69-180-173-249.hsd1.mn.comcast.net] has quit [Quit: Leaving.] 05:27:33 attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has joined #sbcl 05:59:21 scymtym_ [~user@89.31.118.161] has joined #sbcl 05:59:46 -!- attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has quit [Quit: Leaving.] 06:00:53 Strigoides [~owen@114-134-0-43.lightwire.co.nz] has joined #sbcl 06:14:11 -!- slyrus [~chatzilla@adsl-76-254-42-198.dsl.pltn13.sbcglobal.net] has quit [Ping timeout: 256 seconds] 06:22:27 -!- Strigoides [~owen@114-134-0-43.lightwire.co.nz] has quit [Quit: leaving] 06:23:07 So I was thinking about being able to, at a call site, declare something like (defun f (x) (declare (type fixnum x) (specialize g)) (g x)), and G would be specially compiled using the known type info about X. 06:23:13 Does anyone have thoughts? 06:23:48 wouldn't you have to have g marked specially to prepare for that? 06:24:15 Bike, what do you mean? 06:24:36 you mean, at or before G is compiled? 06:24:41 yeah. 06:25:45 um, maybe, I don't remember the rules about compiling strictly. But I guess the compiler could just save definitions to compile later. Or if you must, (declaim (specializable g)) prior. 06:25:47 *|3b|* usually uses inlining for that sort of thing 06:26:45 |3b|, if you inline, will it be able to remove, e.g., GENERIC-+ if the argument is known to be a fixnum/within range/etc? Can dead-code result? 06:26:51 I don't mean rules in the standard, I mean if all you have is the compiled function that's probably not enough to essentially recompile it. 06:27:16 Bike, i know, the original source form probably needs to be saved 06:27:30 or whatever IR appropriate 06:28:00 -!- ASau` is now known as ASau 06:28:00 so, the same as you need for inlining 06:28:50 I was under the perhaps wrong impression that inlining is just a funcall removal/optimization, but it did no more 06:29:18 <|3b|> Quadrescence: yeah, it optimizes the inlined code as if it were there directly (or at least close enough to that for my purposes, don't actually know the compiler details) 06:29:33 well, you replace (g x) with ((lambda ...source of g...) x), and compile that instead 06:29:57 which means any lexical type information can be used 06:30:07 *|3b|* also sometimes makes functions with the same code in each branch of a typecase, so each branch gets an optimizes version for a specific type, and it only has to do 1 check per call 06:30:10 but there still is a benefit to the above, namely for recursive functions, which aren't really great for inlining 06:31:58 that, and code space optimization 06:32:52 maybe you could do something like it with sufficient macrology, like c++ templating 06:33:00 <|3b|> redefinition could be confusing with that 'specialize' thing as described, would need to keep track of all the specializations used so far and recompile all of them on rdefinition of the main function 06:33:20 <|3b|> otherwise you could have specialized versions of old functions laying around 06:33:31 <|3b|> (though i guess no worse than macros in general) 06:33:58 |3b|, yes right 06:34:28 Bike_ [~Glossina@67-5-254-204.ptld.qwest.net] has joined #sbcl 06:34:45 Bike_, were you disconnected? 06:34:51 christoph_debian [~christoph@ppp-188-174-90-140.dynamic.mnet-online.de] has joined #sbcl 06:35:02 yes, after |3b|'s comments about respecialization in the presence of redefinition. 06:35:25 -!- Bike [~Glossina@67-5-254-204.ptld.qwest.net] has quit [Disconnected by services] 06:35:27 -!- Bike_ is now known as Bike 06:35:34 okay 06:36:47 -!- ehaliewicz [~user@50-0-51-11.dsl.static.sonic.net] has quit [Ping timeout: 255 seconds] 06:50:02 -!- Watcher7 is now known as Watcher7|off 06:53:17 teggi [~teggi@113.172.40.203] has joined #sbcl 07:37:56 stassats [~stassats@wikipedia/stassats] has joined #sbcl 07:47:21 tcr [~tcr@77-56-40-229.dclient.hispeed.ch] has joined #sbcl 07:54:45 -!- yacks [~py@180.151.36.168] has quit [Ping timeout: 248 seconds] 08:07:57 yacks [~py@180.151.36.168] has joined #sbcl 08:20:30 -!- vi1 [~vi1@93.92.216.186] has quit [] 08:25:30 edgar-rft [~GOD@HSI-KBW-149-172-63-75.hsi13.kabel-badenwuerttemberg.de] has joined #sbcl 08:29:09 milosn_ [~milosn@user-5af501c0.broadband.tesco.net] has joined #sbcl 08:32:00 -!- milosn [~milosn@user-5af50a8b.broadband.tesco.net] has quit [Ping timeout: 264 seconds] 08:37:55 teggi_ [~teggi@123.21.171.9] has joined #sbcl 08:40:18 -!- teggi [~teggi@113.172.40.203] has quit [Ping timeout: 272 seconds] 08:42:35 -!- Bike [~Glossina@67-5-254-204.ptld.qwest.net] has quit [Quit: night] 08:44:33 hlavaty [~user@friedrichstrasse.knowledgetools.de] has joined #sbcl 08:46:18 -!- yacks [~py@180.151.36.168] has quit [*.net *.split] 08:46:36 -!- teggi_ [~teggi@123.21.171.9] has quit [Ping timeout: 256 seconds] 08:47:54 teggi [~teggi@123.20.31.134] has joined #sbcl 08:50:51 yacks [~py@180.151.36.168] has joined #sbcl 08:51:42 -!- sdemarre [~serge@91.176.198.219] has quit [Ping timeout: 264 seconds] 08:53:17 stassats` [~stassats@wikipedia/stassats] has joined #sbcl 08:55:31 easye`` [~user@213.33.70.157] has joined #sbcl 08:59:04 -!- stassats [~stassats@wikipedia/stassats] has quit [*.net *.split] 08:59:04 -!- kanru [~kanru@118-163-10-190.HINET-IP.hinet.net] has quit [*.net *.split] 08:59:04 -!- easye` [~user@213.33.70.157] has quit [*.net *.split] 09:01:05 easye` [~user@213.33.70.157] has joined #sbcl 09:01:57 kanru [~kanru@118-163-10-190.HINET-IP.hinet.net] has joined #sbcl 09:02:30 -!- easye` [~user@213.33.70.157] has quit [Read error: Operation timed out] 09:13:49 davazp [~user@178.167.188.143.threembb.ie] has joined #sbcl 09:13:52 joshee [~joshe@opal.elsasser.org] has joined #sbcl 09:14:27 mmuggli`` [~user@68.166.118.234] has joined #sbcl 09:17:38 run-tests.sh seems to be stuck in ::: Running (:DEBUGGER-NO-HANG-ON-SESSION-LOCK-IF-INTERRUPTED) 09:17:44 edgar-rfx [~GOD@HSI-KBW-149-172-63-75.hsi13.kabel-badenwuerttemberg.de] has joined #sbcl 09:21:31 jdz_ [~jdz@85.254.212.34] has joined #sbcl 09:21:46 -!- joshe [~joshe@opal.elsasser.org] has quit [Ping timeout: 264 seconds] 09:21:48 -!- daimrod [daimrod@sbrk.org] has quit [Ping timeout: 264 seconds] 09:21:48 -!- mmuggli` [~user@68.166.118.234] has quit [Read error: Connection reset by peer] 09:21:48 -!- edgar-rft [~GOD@HSI-KBW-149-172-63-75.hsi13.kabel-badenwuerttemberg.de] has quit [Ping timeout: 264 seconds] 09:21:48 -!- jdz [~jdz@85.254.212.34] has quit [Ping timeout: 264 seconds] 09:21:48 daimrod [daimrod@sbrk.org] has joined #sbcl 09:26:35 -!- Krystof [~user@81.174.155.115] has quit [Read error: Operation timed out] 09:27:01 Krystof [~user@81.174.155.115] has joined #sbcl 09:27:01 -!- ChanServ has set mode +o Krystof 09:27:21 Running the body of that test in an sbcl instance opened by run-sbcl.sh worked fine 09:31:51 -!- daimrod [daimrod@sbrk.org] has quit [Ping timeout: 264 seconds] 09:31:58 daimrod [daimrod@sbrk.org] has joined #sbcl 09:32:34 tcr: it happened to me once last week; I couldn't reproduce 09:33:00 on the one hand it's good to know that I didn't hallucinate it; on the other hand it's intermittent and so going to be painful to debug :-( 09:33:12 -!- daimrod [daimrod@sbrk.org] has quit [*.net *.split] 09:36:14 Acknowledged. Another run of run-tests.sh already went beyond threads.impure.lisp. So it's intermittent for me, too. 09:37:12 daimrod [daimrod@sbrk.org] has joined #sbcl 09:46:03 sdemarre [~serge@91.176.198.219] has joined #sbcl 10:08:08 -!- davazp [~user@178.167.188.143.threembb.ie] has quit [Remote host closed the connection] 10:40:21 Quadresce_ [~quad@unaffiliated/quadrescence] has joined #sbcl 10:41:56 rudi [~rudi@1x-193-157-247-81.uio.no] has joined #sbcl 10:43:54 -!- Quadrescence [~quad@unaffiliated/quadrescence] has quit [Ping timeout: 268 seconds] 10:45:29 -!- Krystof [~user@81.174.155.115] has quit [Remote host closed the connection] 10:49:37 -!- nicdev [user@2600:3c03::f03c:91ff:fedf:4986] has quit [Ping timeout: 245 seconds] 10:55:51 -!- teggi [~teggi@123.20.31.134] has quit [Remote host closed the connection] 10:57:28 -!- Quadresce_ [~quad@unaffiliated/quadrescence] has quit [Ping timeout: 268 seconds] 10:57:57 teggi [~teggi@123.20.31.134] has joined #sbcl 11:00:16 -!- yacks [~py@180.151.36.168] has quit [Ping timeout: 272 seconds] 11:05:44 -!- milosn_ is now known as milosn 11:09:05 yacks [~py@180.151.36.168] has joined #sbcl 11:15:55 -!- loke_ [~loke@203.127.16.194] has quit [Remote host closed the connection] 11:25:06 loke [~loke@203.127.16.194] has joined #sbcl 11:33:45 hlavaty` [~user@friedrichstrasse.knowledgetools.de] has joined #sbcl 11:35:33 -!- hlavaty [~user@friedrichstrasse.knowledgetools.de] has quit [Ping timeout: 248 seconds] 11:38:13 -!- sdemarre [~serge@91.176.198.219] has quit [Ping timeout: 248 seconds] 11:39:18 segv- [~mb@95-91-241-81-dynip.superkabel.de] has joined #sbcl 12:26:59 attila_lendvai [~attila_le@178.89.134.55] has joined #sbcl 12:26:59 -!- attila_lendvai [~attila_le@178.89.134.55] has quit [Changing host] 12:26:59 attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has joined #sbcl 12:33:01 drmeister [~drmeister@pool-173-59-25-70.phlapa.fios.verizon.net] has joined #sbcl 12:40:45 -!- drmeister [~drmeister@pool-173-59-25-70.phlapa.fios.verizon.net] has quit [Remote host closed the connection] 12:53:31 -!- jdz_ [~jdz@85.254.212.34] has quit [Read error: Connection reset by peer] 13:03:35 drmeister [~drmeister@166.137.87.45] has joined #sbcl 13:06:28 sdemarre [~serge@91.176.198.219] has joined #sbcl 13:07:54 Krystof [~user@81.174.155.115] has joined #sbcl 13:07:54 -!- ChanServ has set mode +o Krystof 13:13:16 -!- drmeister [~drmeister@166.137.87.45] has quit [Remote host closed the connection] 13:30:37 drmeister [~drmeister@wirelessNAT188.wireless.temple.edu] has joined #sbcl 13:32:53 attila_lendvai1 [~attila_le@95.57.66.242] has joined #sbcl 13:32:53 -!- attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has quit [Disconnected by services] 13:32:53 -!- attila_lendvai1 [~attila_le@95.57.66.242] has quit [Changing host] 13:32:53 attila_lendvai1 [~attila_le@unaffiliated/attila-lendvai/x-3126965] has joined #sbcl 13:43:31 minion: memo for nyef: also, I now have an RPi (beaglebone is in the post somewhere). Can I play with your arm port work? 13:43:31 Remembered. I'll tell nyef when he/she/it next speaks. 13:45:14 jdz [~jdz@85.254.212.34] has joined #sbcl 13:59:11 foreignFunction [~niksaak@ip-4761.sunline.net.ua] has joined #sbcl 14:04:52 -!- LiamH1 [~none@pdp8.nrl.navy.mil] has quit [Quit: Leaving.] 14:05:12 -!- drmeister [~drmeister@wirelessNAT188.wireless.temple.edu] has quit [Remote host closed the connection] 14:05:50 -!- sdemarre [~serge@91.176.198.219] has quit [Ping timeout: 272 seconds] 14:10:15 -!- jdz [~jdz@85.254.212.34] has quit [Quit: Byebye.] 14:12:00 slyrus [~chatzilla@adsl-76-254-42-198.dsl.pltn13.sbcglobal.net] has joined #sbcl 14:13:09 So, I thought about keeping XEP with an unboxed calling convention. There's on thing that's really bothering me: how do you make sure that the specialised XEP exists at load-time? 14:19:24 -!- joshee is now known as joshe 14:25:25 I'd suppose that when you load a piece of code that calls a function with particular unboxed args, you just need to generate the target at that point. 14:26:21 You could also bundle a up a pre-compiled fallback implementation with the caller. 14:28:25 right, but if each piece of code has its own copy, we might as well inline (or almost) 14:29:06 and bundling a fallback with the caller explodes compile times. 14:30:53 It seems that compiling a fallback which boxes all its args and calls the normal entrypoint should not need to explode compilationtime. I was thinking of it sort of like a common symbol in a .o file, from compiling a C++ template. 14:31:07 ah that kind of fallback :\ 14:31:07 Every compile generates its own, but the redundant ones get elided at link time. 14:31:28 (and we all know how good templates are for compile times ;) 14:37:03 My thought was that every function should compile with two entrypoints: one with all args boxed, the other with appropriately-type-declared args unboxed. But if the function is redefined to allow integer-or-nil for argument 2, it'd be nice if callers expecting it to take a raw integer didn't suddenly break. Thus the fallback version which boxes the args up. 14:38:31 -!- slyrus [~chatzilla@adsl-76-254-42-198.dsl.pltn13.sbcglobal.net] has quit [Ping timeout: 256 seconds] 14:41:11 well, I was thinking of inlining the arg parsing cruft as well, so code would really just break hard on redefinition. 14:42:42 drmeister [~drmeister@farnsworth.chem.temple.edu] has joined #sbcl 14:42:57 nyef [~nyef@c-50-157-244-41.hsd1.ma.comcast.net] has joined #sbcl 14:43:09 G'morning all. 14:43:10 nyef, memo from Krystof: commit looks good to me 14:43:10 nyef, memo from Krystof: also, I now have an RPi (beaglebone is in the post somewhere). Can I play with your arm port work? 14:48:18 jdz [~jdz@85.254.212.34] has joined #sbcl 14:51:27 Krystof: ARM port stuff: http://www.lisphacker.com/projects/sbcl-arm/arm-port-log-2.txt and http://repo.or.cz/w/sbcl/nyef.git/shortlog/refs/heads/arm-port-2 14:52:53 -!- tcr [~tcr@77-56-40-229.dclient.hispeed.ch] has quit [Quit: Leaving.] 14:56:19 -!- attila_lendvai1 is now known as attila_lendvai 14:58:39 davazp [~user@178.167.152.165.threembb.ie] has joined #sbcl 14:59:09 nyef: how exciting! :-) 15:09:15 Yeah, looks like I left off at trying to get call-out to C working. 15:09:53 Most of the basic flow-control works, an awful lot of stuff doesn't, though... 15:10:42 I need to learn a bit about the instruction set and architecture 15:11:17 One of the interesting bits about the architecture is that the program counter is one of the addressable registers. 15:11:19 well, s/a bit/everything/ 15:11:35 nyef: I saw that. Also lots can be conditionally nullified 15:11:53 Mmm. Have a look at what happened to default-unknown-values. (-: 15:13:31 Anyway, building should be straightforward. Run make-config.sh with SBCL_ARCH=arm, run make-host-1.sh, ship everything over to your RPi, run make-target-1.sh, you know the dance. Instead of make-target-2, though, you just invoke the runtime against the core, since it's nowhere near ready to even run !COLD-INIT. 15:15:08 I'd look at what AArch64 still allows to see if there's stuff that's allowed but likely to be atrociously slow in the near future 15:15:52 Honestly, at this point I'd be happy with a system that will be atrociously slow in the near future if it meant that we had a working system now. 15:20:52 hooray for SBCL on my (still) Android-phone! 15:21:51 Would be awesome to get a project running that builds a phone via some (common) Lisp ... then "fixing" applications would mean to send a (DEFUN ...) to some swank server ;) 15:23:41 Yeah, that's going to be fairly unlikely with SBCL, simply due to heap sizes. 15:24:54 nyef: I'm not so sure about that. Using some tricks (like forking after loading all system-needed things) and so on should help ... and even my wife's phone has half a Gig of RAM! 15:27:25 wbooze [~wbooze@xdsl-87-79-252-16.netcologne.de] has joined #sbcl 15:29:35 phones have like 2GB of RAM now 15:34:22 I'll be happy if someone gets that working, even if I do think it unlikely. 15:34:47 ccl works on android phones 15:37:38 -!- wbooze [~wbooze@xdsl-87-79-252-16.netcologne.de] has quit [Remote host closed the connection] 15:39:40 wbooze [~wbooze@xdsl-87-79-252-16.netcologne.de] has joined #sbcl 15:44:32 nyef: wait, what core? 15:44:44 oh, sorry, misread 15:44:54 the new logtest vops are really messed up... 15:44:58 yes, fine, I am used to running ./src/runtime/sbcl --core output/cold-sbcl.core 15:44:58 -!- wbooze [~wbooze@xdsl-87-79-252-16.netcologne.de] has quit [Remote host closed the connection] 15:46:46 (logtest x #xF) is optimized for constants, and (logtest #xF x) isn't 15:47:22 -!- hlavaty` [~user@friedrichstrasse.knowledgetools.de] has quit [Remote host closed the connection] 15:48:33 that part is easy, but fixnum vop selection where an unsigned could be used is harder 15:49:29 -!- scymtym_ [~user@89.31.118.161] has quit [Read error: Operation timed out] 15:52:40 "easy", commutative-arg-swap doesn't work since logtest already has a transform without any type qualifications 15:55:29 wbooze [~wbooze@xdsl-87-79-252-16.netcologne.de] has joined #sbcl 15:56:19 -!- wbooze [~wbooze@xdsl-87-79-252-16.netcologne.de] has quit [Read error: Connection reset by peer] 15:57:52 Krystof: If it works, you should get the CATS. CATS ARE NICE. lossage. 16:01:04 there seems to be another reason why my arg swapping doesn't work, seems like VOP is selected first without trying to swap the args 16:01:18 wbooze [~wbooze@xdsl-87-79-252-16.netcologne.de] has joined #sbcl 16:01:19 does that mean i need to define %logtest or something? 16:01:43 -!- wbooze [~wbooze@xdsl-87-79-252-16.netcologne.de] has quit [Read error: Connection reset by peer] 16:02:05 stassats`: there's backend vm magic applied to logtest 16:02:37 wait, maybe there isn't 16:03:05 if i remove type declarations, the swap happens, so i assume the vop gets to it first 16:03:28 (gets first with declarations) 16:03:39 look at combination-implementation-style 16:04:57 Krystof: that's really weird 16:05:26 why does it need such a special handling? 16:05:28 the idea is that some things can be directly implemented by the vm on some platforms, but on other platforms should get transformed away 16:06:09 this logtest problem digs deeper and deeper 16:07:32 i'm almost ready to say "to hell with it" 16:10:32 slyrus [~chatzilla@adsl-76-254-42-198.dsl.pltn13.sbcglobal.net] has joined #sbcl 16:11:46 this combination-implementation-style hack is only used on x86* and ppc for logtest and logbitp, and ldb for ppc, are they really that special? 16:12:10 on all others targets it isn't used 16:12:39 x86oids and PPC are the platforms that get the most love. 16:13:04 even on them, what about logtest and logbitp getting such love? 16:13:14 *stassats`* is trying to figure out what's going on 16:14:01 IIRC, PPC can do some cases of LDB in a single instruction, or maybe two instructions, while the transformed sequence is considerably longer. 16:16:00 x86oids get the most love, particularly x86-64, followed by PPC. SPARC still gets some love, but is clearly lagging behind PPC. MIPS is occasionally thought about. Alpha and HPPA get no love at all. 16:16:28 -!- rudi [~rudi@1x-193-157-247-81.uio.no] has quit [Quit: Client exciting.] 16:17:23 using CASE in some support routine doesn't look all that nice to me 16:17:46 Okay, it's a hack, and not a pretty one. 16:18:21 well, i don't know how do i swap arguments using it, inside the vop? 16:20:08 That I don't know. For your problem I was thinking more of adding an attribute that says that a function has the same result no matter the argument order, and then letting LTN-ANNOTATE search for the cheapest VOP for any argument order for those functions, and pick that argument order. 16:22:37 cheapest vop, that's another problem with logtest, there something wrong with vop costs, so i get a fixnum flavor when a unsigned one can be used 16:23:20 trying to rearrange the costs yield no success, only managing to break selection of fixnum flavor for the fixnum args 16:23:38 Another problem with VOP costs is that they don't count the conversion costs. Really, the thing to do is use something like a viterbi search over the space of semantically-equivalent VOP sequences... 16:24:22 is that another way of saying "rip out sbcl compiler and replace it"? 16:24:35 ... no? 16:24:47 Just representation selection and LTN annotation. 16:24:55 "just" 16:25:12 Yes, yes. You love the way I say "just". (-: 16:25:44 ok, that afternoon hack isn't going to work out... 16:26:03 wbooze [~wbooze@xdsl-87-79-252-16.netcologne.de] has joined #sbcl 16:26:33 How about adding a flag to debug-info to indicate a closed-over variable? Or does the same variable structure get used for both the closed-over frame and the closure frames? 16:27:22 i keep looking at this really marginal things, while a have a mostly working version of octet-to-string which is orders of magnitude faster and which i should be finishing instead 16:27:52 How about sorting out the whole "sleep conses on platforms without immediate single-floats" thing? 16:28:04 -!- wbooze [~wbooze@xdsl-87-79-252-16.netcologne.de] has quit [Read error: Connection reset by peer] 16:28:27 "32-bits? what's that?" 16:28:56 stassats`: +1, but eg. arm will be 32bit for some time still. 16:30:51 well, no sbcl on arm yet! 16:31:11 stassats`: Feel free to improve that situation, though. d-: 16:33:15 another thing too look at is full arguments retrieval on arg-count error 16:35:29 which requires ensuring that no registers or stack is clobbered before the count check 16:36:47 wbooze [~wbooze@xdsl-87-79-252-16.netcologne.de] has joined #sbcl 16:39:03 -!- wbooze [~wbooze@xdsl-87-79-252-16.netcologne.de] has quit [Client Quit] 16:40:14 wbooze [~wbooze@xdsl-87-79-252-16.netcologne.de] has joined #sbcl 16:42:03 stassats`: You know what else might be interesting? Looking into what would be involved in incorporating a software read barrier into SBCL. 16:42:26 that's above my expertise 16:42:35 ... Damn. 16:45:07 There's a possible lossage involving WITHOUT-GCING and needing to GC. In theory, upon leaving WITHOUT-GCING when the GC threshold has triggered then a GC should immediately commence, but the failure of room.test.sh on SPARC and PPC suggest that this is not the case. 16:45:41 Bike [~Glossina@67-5-254-204.ptld.qwest.net] has joined #sbcl 16:45:58 (Soon-to-be-former failure, as I'm probably going to commit my rewritten MAP-ALLOCATED-OBJECTS implementation soon.) 16:50:40 -!- wbooze [~wbooze@xdsl-87-79-252-16.netcologne.de] has quit [Ping timeout: 256 seconds] 16:54:42 wbooze [~wbooze@xdsl-87-79-252-16.netcologne.de] has joined #sbcl 16:57:32 -!- wbooze [~wbooze@xdsl-87-79-252-16.netcologne.de] has quit [Client Quit] 17:05:49 nyef: not too much for soft read barriers, really. 17:06:03 I just have this one bug on threaded builds to track down ;) 17:08:04 *too much work 17:12:12 Hrm. 17:12:33 Oh, right, I wanted to ask you about integrating mark/sweep into gencgc. 17:13:54 Is the primary point to avoid having to have effectively half the heap address space free in order to do a full collection? 17:14:09 And why would integrating an "external" mark/sweep collector be useful? 17:15:19 Bike_ [~Glossina@71-214-90-142.ptld.qwest.net] has joined #sbcl 17:17:27 external mark/sweep? I suggested it as an intermediate step because it's easier to get a m/s working with your own data structures than to try and integrate in gencgc's from the get go 17:17:34 ehaliewicz [~user@50-0-51-11.dsl.static.sonic.net] has joined #sbcl 17:17:50 -!- Bike [~Glossina@67-5-254-204.ptld.qwest.net] has quit [Ping timeout: 252 seconds] 17:18:19 there's the issue with free space, but also just not copying the whole heap, which is useful for caching (especially the I$) 17:18:40 Okay, so for those of us who consider gencgc to BE our own data structures, then the external collector isn't necessary? 17:18:48 indeed. 17:19:18 there's the small benefit that it might be eaiser to have an extendable heap without gencgc's pagetable, but that's kind of blue sky. 17:20:06 and m/s is more easily mostly concurrent than a mostly copying collector. 17:22:07 Mmm. I'm still thinking about the Azul collector, but it looks as though it does whole-heap collection and has to update every pointer in the heap on each cycle, and that making it more generational would require specialized hardware support... 17:24:34 -!- slyrus [~chatzilla@adsl-76-254-42-198.dsl.pltn13.sbcglobal.net] has quit [Ping timeout: 256 seconds] 17:24:40 -!- Bike_ is now known as Bike 17:26:29 I've also been informed that work is going to get crazy-busy for a few months, which may cut down on my available SBCL-hacking time again. 17:27:03 slyrus [~chatzilla@adsl-76-254-42-198.dsl.pltn13.sbcglobal.net] has joined #sbcl 17:27:40 Is there an x86oid instruction to see if an address points to a readable page without taking a page fault if it doesn't? 17:29:24 (Clearly, if I'm willing to take a page fault, I can "just" use TEST.) 17:32:25 wbooze [~wbooze@xdsl-87-79-252-16.netcologne.de] has joined #sbcl 17:32:31 I can't think of anything, no. 17:32:46 Okay, thanks. 17:33:15 it'd have to be not an instruction 17:33:43 because the OS will arbitrarily page out stuff, and that's supposed to be transparent 17:33:54 -!- wbooze [~wbooze@xdsl-87-79-252-16.netcologne.de] has quit [Client Quit] 17:33:59 Ah, you're right. Good point. 17:34:01 (Damnit.) 17:34:57 hi guys. I tried to build SBCL on solaris 9 sparc; the compilation ran fine for some time, and then got stuck like this: http://paste.ubuntu.com/5647119/ 17:35:01 is this a known problem? 17:35:08 -!- yacks [~py@180.151.36.168] has quit [Ping timeout: 255 seconds] 17:35:11 I guess the other option is to keep a map of such pages somewhere, but then you need to bounds-check the index in order to not get false positives, false negatives, and just plain false logic. 17:35:38 automaciej: Not known to me, that's neat. 17:35:58 signal 4 is an illegal instruction 17:36:07 wbooze [~wbooze@xdsl-87-79-252-16.netcologne.de] has joined #sbcl 17:36:28 automaciej: Sparc is about the fourth most-loved architecture in SBCL, AFAICT, but solaris love is a bit more rare. 17:37:32 I don't have access to a non-solaris sparc machine, so I can't check if it's solaris specific or sparc specific. 17:37:37 nyef: well, you can use a syscall like madvise to determine if the kernel has a mapping at an address. that's probably not super-fast, though. 17:37:56 foom: Yeah, I think I'd rather take the access trap at that point. 17:39:30 automaciej: It's probably solaris-specific, but I won't guarantee that... How did you try to build this? 17:40:04 If it was a cross-build, ISTR that make-config.sh is supposed to be run on the target. 17:40:28 If it was a native build, then the first thing we do is try to get a backtrace. 17:40:58 ("./src/runtime/sbcl --core output/cold-sbcl.core", followed by asking LDB for a backtrace.) 17:42:30 native build. I'll try to get the trace. 17:43:14 Umm... Also try using gdb or similar to get a backtrace, it may provide more information. 17:45:35 automaciej: what was the build host? 17:46:33 Krystof: SunOS unstable9s 5.9 Generic_Virtual sun4u sparc SUNW,SPARC-Enterprise-T5220 17:48:06 -!- attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has quit [Quit: Leaving.] 17:48:14 And your host lisp implementation? 17:49:30 SBCL 1.0.23 17:49:30 sorry, nyef's question was really what I meant 17:49:38 hm, I wonder what changed between SBCL 1.0.23 and now 17:49:50 one thing: can you check whether sbcl 1.0.23 can successfully build sbcl 1.0.23 sources? 17:49:53 SPARC GENCGC for starters. 17:50:06 sure, I can try 1.0.23. 17:50:36 so far no success with getting gdb to print a trace 17:51:00 LDB - I'm unfamiliar with it, I was trying to find documentation how to get a trace 17:51:17 ldb's backtrace might be useful or might be totally useless 17:51:20 I think you just type "b" or "back". 17:51:27 in either case, it should be as simple as typing "backtrace" :-) 17:51:51 LDB trace: http://paste.ubuntu.com/5651855/ 17:51:52 And Krystof is right, it might be useful, and it might be useless, which is why I suggested it first (since you should definitely be able to get it) and then also a gdb or other backtrace. 17:52:44 getting gdb backtrace should be: gdb output/cold-sbcl.core; then type "bt", right? 17:52:44 Hrm... That shouldn't be first GC, but perhaps its an allocation trap? 17:53:10 gdb src/runtime/sbcl; set args --core output/cold-sbcl.core, ... 17:53:18 Probably other magic. 17:53:19 automaciej: gdb -p is probably easier. 17:53:33 Or attach a gdb to a running process already in LDB. 17:54:13 nyef: or a hash table which hasn't had its magic updated? Hm, but the lp host table will be EQUAL-based 17:54:41 If you're in gdb and you have access to any signal contexts, print them. Also try to print the top interrupt context from LDB. 17:55:18 Then again, it might have died too early in the signal-handling path to have saved the interrupt context for LDB. 17:55:47 http://paste.ubuntu.com/5651864/ "Backtrace stopped: previous frame identical to this frame (corrupt stack?)" 17:56:11 and use gdb to disassemble code around the error 17:56:24 Yes, that's another good step, using the disassembler. 17:59:58 This sounds like a beginning of a long debugging session. I'll document how far I got and continue another time. 18:00:21 I'll also try 1.0.23 on combinations of solaris 9, 10, intel, sparc. 18:00:27 ok. Building sbcl-1.0.23 with itself is a sanity check to eliminate platform issues. Thanks :) 18:01:21 if there are any solaris lovers in the community, please send them my way. :-) 18:01:32 http://www.opencsw.org/packages/sbcl/ I'm looking into refreshing this package 18:01:40 purely for educational and recreational reasons 18:02:43 I'm hoping that SBCL 1.1.9 has a lot more SPARC love, now that PPC is almost in usable shape. 18:03:22 Unfortunately, I only have so much time available for this sort of thing. 18:03:22 for all 2 remaining people in the world who use sparc. :) 18:03:47 Hey, SBCL on sparc gets more attention than SBCL on mips. 18:04:00 it's probably got twice the number of users! 18:04:08 Heh! 18:05:47 Probably explains why HPPA and Alpha are so neglected. 18:08:46 -!- drmeister [~drmeister@farnsworth.chem.temple.edu] has quit [Remote host closed the connection] 18:09:34 -!- foreignFunction [~niksaak@ip-4761.sunline.net.ua] has quit [Ping timeout: 276 seconds] 18:09:41 drmeister [~drmeister@farnsworth.chem.temple.edu] has joined #sbcl 18:13:32 * (build-success solaris-10 intel 1.0.23) 18:13:33 T 18:14:27 LiamH [~none@pdp8.nrl.navy.mil] has joined #sbcl 18:15:11 SPARC gencgc was September 28, 2012, supposedly.... 18:17:30 Can you try building SBCL 1.1.0 and 1.1.1? 18:19:04 There's an interesting comment about sparc v9 and double-float registers, but that shouldn't apply here-and-now... 18:19:38 nyef: sure. I'll first try 1.0.23 on sparc, then 1.1.0 on sparc, then 1.1.1. 18:20:03 Needn't bother with 1.1.0 or 1.1.1 if 1.0.23 fails. 18:20:27 roger 18:20:59 Hrm, odd... while the gencgc changes clearly use an unimp trap, they don't seem to alter the logic for setting up the signal handler. 18:24:50 btw, nyef, I definitely agree on VOP selection. Some sort of tree parsing logic would work much better, or at least be easier to control 18:25:24 yacks [~py@180.151.36.168] has joined #sbcl 18:25:34 Yeah, ISTR a discussion with someone, probably you, a couple of years back involving viterbi search for representation and VOP selection. 18:27:06 sounds plausible. 18:27:40 it seems a bit ass backward to re-extract an expression tree from basic blocks, but that's life. 18:27:49 automaciej: I'm also seeing sparc-related runtime noise in 1.0.25.x, 1.0.26.x, and 1.0.53.x, though the latter really, really, shouldn't be affecting the build this way (it's a breakpoint logic fix). 18:37:40 Heh. "Better to do something that's simultaneously more pieces, less complicated in any given piece, and more epic." (-: 18:38:07 Last October was an interesting month for me. 18:39:25 Bike_ [~Glossina@71-222-34-97.ptld.qwest.net] has joined #sbcl 18:40:16 -!- Bike_ [~Glossina@71-222-34-97.ptld.qwest.net] has quit [Client Quit] 18:40:34 Bike_ [~Glossina@71-222-34-97.ptld.qwest.net] has joined #sbcl 18:42:01 -!- Bike [~Glossina@71-214-90-142.ptld.qwest.net] has quit [Ping timeout: 256 seconds] 18:49:14 -!- Snamich [~Snamich@netblock-68-183-229-245.dslextreme.com] has quit [Quit: Snamich] 18:53:10 foreignFunction [~niksaak@ip-4761.sunline.net.ua] has joined #sbcl 19:09:02 (build-success solaris-10 sparc 1.0.23) 19:09:03 T 19:10:06 pom pom pom 19:10:46 So now it's a matter of a bisection search to find where it breaks, right? 19:10:57 automaciej: how fast can you build it? 19:11:21 disabling contrib building should speed things up 19:12:52 sparc is slow in general, let's see... 20:20  21:09 so maybe 40-50 minutes per build. 19:13:13 not that great for bisecting 19:14:01 there's no hurry. if it's scripted out, I can leave it running for as long as needed. 19:14:41 *automaciej* doesn't pay the electricity bill, nyah nyah nyah 19:15:02 I have to get moving in about half an hour, but I should be on again later tonight or tomorrow. 19:15:46 I'll be here 19:16:10 I also probably won't have access to my sparc/linux box until wednesday. 19:17:23 -!- Bike_ is now known as Bike 19:19:29 -!- teggi [~teggi@123.20.31.134] has quit [Remote host closed the connection] 19:21:10 -!- segv- [~mb@95-91-241-81-dynip.superkabel.de] has quit [Remote host closed the connection] 19:21:25 sdemarre [~serge@91.176.198.219] has joined #sbcl 19:33:57 -!- stassats` [~stassats@wikipedia/stassats] has quit [Read error: Operation timed out] 19:42:05 -!- nyef [~nyef@c-50-157-244-41.hsd1.ma.comcast.net] has quit [Quit: G'night all.] 20:14:47 -!- sdemarre [~serge@91.176.198.219] has quit [Ping timeout: 246 seconds] 20:15:26 -!- Watcher7|off is now known as Watcher7 20:33:48 -!- Watcher7 is now known as Watcher7|off 20:43:28 -!- wbooze [~wbooze@xdsl-87-79-252-16.netcologne.de] has quit [Ping timeout: 245 seconds] 20:56:35 -!- drmeister [~drmeister@farnsworth.chem.temple.edu] has quit [Remote host closed the connection] 21:14:17 -!- Watcher7|off is now known as Watcher7 21:44:23 Quadrescence [~quad@unaffiliated/quadrescence] has joined #sbcl 21:44:42 drmeister [~drmeister@pool-173-59-25-70.phlapa.fios.verizon.net] has joined #sbcl 21:48:19 Quadresce_ [~quad@unaffiliated/quadrescence] has joined #sbcl 21:49:47 -!- Quadrescence [~quad@unaffiliated/quadrescence] has quit [Disconnected by services] 21:49:57 -!- Quadresce_ is now known as Quadrescence 21:51:45 -!- Bike [~Glossina@71-222-34-97.ptld.qwest.net] has quit [Ping timeout: 276 seconds] 21:54:46 Bike [~Glossina@71-222-34-97.ptld.qwest.net] has joined #sbcl 21:55:18 -!- foreignFunction [~niksaak@ip-4761.sunline.net.ua] has quit [Quit: Leaving.] 22:08:59 -!- LiamH [~none@pdp8.nrl.navy.mil] has quit [Quit: Leaving.] 22:31:37 -!- ASau [~user@p5797F607.dip0.t-ipconnect.de] has quit [Remote host closed the connection] 22:32:41 ASau [~user@p5797F607.dip0.t-ipconnect.de] has joined #sbcl 22:44:32 foreignFunction [~niksaak@ip-4761.sunline.net.ua] has joined #sbcl 23:18:54 nyef [~nyef@pool-64-222-174-41.man.east.myfairpoint.net] has joined #sbcl 23:19:11 Okay, I'm back, at least for a while. 23:19:33 Did we get any gsoc proposals for the hybrid mark/sweep collector? 23:37:52 nope 23:46:49 -!- davazp [~user@178.167.152.165.threembb.ie] has quit [Remote host closed the connection] 23:48:46 When does google announce the accepted proposals? 23:49:48 ASau` [~user@p4FF97CD4.dip0.t-ipconnect.de] has joined #sbcl 23:53:36 -!- ASau [~user@p5797F607.dip0.t-ipconnect.de] has quit [Ping timeout: 264 seconds] 23:55:15 -!- Bike [~Glossina@71-222-34-97.ptld.qwest.net] has quit [Ping timeout: 256 seconds] 23:57:23 Bike [~Glossina@71-222-34-97.ptld.qwest.net] has joined #sbcl