00:04:01 homie` [~levgue@xdsl-78-35-172-212.netcologne.de] has joined #sbcl 00:06:31 -!- homie [~levgue@xdsl-78-35-163-194.netcologne.de] has quit [Ping timeout: 260 seconds] 00:28:57 nyef: let's say I want to implement some sort of work stealing 00:29:12 Uh-oh 00:29:54 I presume there's more to this? 00:29:57 so, I have an activation record at the bottom of thread A's stack 00:30:08 or in the middle, actually. 00:30:18 and I want to resume its execution in thread B. 00:30:54 would it be enough to fixup the activation record's return address to some carefully-written trampoline (1) 00:31:23 and (2) point B's base pointer to the activation record in A's stack? 00:32:27 Umm... So you want thread B to run a function with a CFP pointing into thread A's stack? 00:32:33 yup. 00:33:31 Function entry sets the CSP relative to the CFP, but that applies to the callee's CFP, not the caller's CFP, so that shouldn't be too bad... 00:34:08 May have some cache coherency problems, may not... 00:34:42 well, extra CC traffic, maybe. But if work stealing is effective, very few frames will be stolen this way. 00:35:10 You're basically trying to treat it as a closure, aren't you? 00:35:26 sure. A DX closure, I guess. 00:35:44 Um... A closure, plus you're also starting up a continuation... 00:35:58 single-shot DX closure. 00:36:45 and then there's the easy way, just copying the AR in a buffer. 00:36:58 Seems workable at second glance, but I can't help but think that there might be a better way. 00:37:37 Can't copy the AR to thread B's stack and splice it into the call chain appropriately? 00:37:53 also an option. 00:39:43 How are you planning to find your entry point, anyway? 00:40:00 I was thinking a fake conditional. 00:40:12 setjmp-style. 00:40:34 actually, no, that can't work. 00:40:42 I'd have to get a pointer to the return address on the stack. 00:41:26 (the callee's return address) 00:41:31 Isn't it in the callee stack frame anyway? 00:41:43 yes. And this is getting hairy. 00:43:11 (I guess a less wrong way would be to insert the annotation in each call VOP) 00:44:39 (flet ((work-stealing-entry () ...)) (let ((*work-stealing-entry* #'work-stealing-entry)) ...)? 00:44:57 Oh! And (declare (dynamic-extent #'work-stealing-entry)), of course. 00:45:04 ooh, right. 00:45:08 DX closures aren't as bad. 00:45:48 Still could be improved, but not as bad. 00:46:00 but I have to make each possible entry point a separate function and call them explicitly. 00:46:04 almost as bad as CPS 00:47:21 Mmm, right. 00:47:36 (or make sure every entry point can be reached with a GO, etc) 00:47:46 -!- slyrus [~chatzilla@adsl-99-55-169-181.dsl.pltn13.sbcglobal.net] has quit [Ping timeout: 264 seconds] 00:48:14 Maybe it would be better to just find the callee frame after all. 00:48:47 or just tell people to use it right and not worry about making the leaves magically fast. 00:48:51 You could hack IR2TRAN to stash the callee CFP in the caller frame as necessary, too... Or stash the LRA in the frame. 00:52:07 rpg [~rpg@216.243.156.16.real-time.com] has joined #sbcl 00:54:26 too hairy; I'll spend any hack time on cloning C functions at runtime ;) 00:56:24 Okay, have fun with that. 00:57:14 I've lost count of how many times I gave up trying to mess around with stack frames in SBCL :\ 00:58:30 I can't say I blame you. I'm not sure I've succeeded in hacking that stuff more than three times so far. 01:10:54 It'd be nice if DX closures could store unboxed numbers on the stack. :-/ 01:28:37 -!- hargettp [~hargettp@96.237.121.111] has quit [Quit: Leaving...] 01:28:50 slyrus [~chatzilla@adsl-99-55-169-181.dsl.pltn13.sbcglobal.net] has joined #sbcl 02:38:38 -!- rpg [~rpg@216.243.156.16.real-time.com] has quit [Quit: rpg] 03:17:07 rpg [~rpg@216.243.156.16.real-time.com] has joined #sbcl 03:19:33 -!- rpg [~rpg@216.243.156.16.real-time.com] has quit [Client Quit] 04:17:07 -!- antgreen [~user@CPE00222d6c4710-CM00222d6c470d.cpe.net.cable.rogers.com] has quit [Read error: Operation timed out] 04:21:53 -!- homie` [~levgue@xdsl-78-35-172-212.netcologne.de] has quit [Read error: Connection reset by peer] 04:24:46 homie [~levgue@xdsl-78-35-172-212.netcologne.de] has joined #sbcl 05:35:10 echo-area [~user@114.251.86.0] has joined #sbcl 05:56:45 nikodemus [~nikodemus@cs181199216.pp.htv.fi] has joined #sbcl 05:56:46 -!- ChanServ has set mode +o nikodemus 07:01:49 -!- nikodemus [~nikodemus@cs181199216.pp.htv.fi] has quit [Read error: Operation timed out] 07:12:44 tcr [~tcr@100.Red-88-6-12.staticIP.rima-tde.net] has joined #sbcl 07:32:55 flip214 [~marek@2001:858:107:1:219:d1ff:fe07:e073] has joined #sbcl 07:32:55 -!- flip214 [~marek@2001:858:107:1:219:d1ff:fe07:e073] has quit [Changing host] 07:32:55 flip214 [~marek@unaffiliated/flip214] has joined #sbcl 07:44:02 -!- tcr [~tcr@100.Red-88-6-12.staticIP.rima-tde.net] has quit [Quit: Leaving.] 08:53:33 nikodemus [~nikodemus@cs181058025.pp.htv.fi] has joined #sbcl 08:53:33 -!- ChanServ has set mode +o nikodemus 09:36:15 -!- Krystof [~csr21@csrhodes.plus.com] has quit [Ping timeout: 246 seconds] 09:46:21 -!- flip214 [~marek@unaffiliated/flip214] has quit [Ping timeout: 260 seconds] 09:58:50 flip214 [~marek@2001:858:107:1:219:d1ff:fe07:e073] has joined #sbcl 09:58:50 -!- flip214 [~marek@2001:858:107:1:219:d1ff:fe07:e073] has quit [Changing host] 09:58:50 flip214 [~marek@unaffiliated/flip214] has joined #sbcl 10:03:41 hargettp [~hargettp@96.237.121.111] has joined #sbcl 10:30:25 -!- hargettp [~hargettp@96.237.121.111] has quit [Quit: Leaving...] 10:33:59 hargettp [~hargettp@96.237.121.111] has joined #sbcl 11:00:04 woudshoo [~user@ironhead.xs4all.nl] has joined #sbcl 11:16:55 -!- echo-area [~user@114.251.86.0] has quit [Remote host closed the connection] 11:49:58 -!- hargettp [~hargettp@96.237.121.111] has quit [Quit: Leaving...] 12:09:30 hargettp [~hargettp@96.237.121.111] has joined #sbcl 12:16:05 -!- hargettp [~hargettp@96.237.121.111] has quit [Quit: Leaving...] 12:18:54 Krystof [~csr21@csrhodes.plus.com] has joined #sbcl 12:18:54 -!- ChanServ has set mode +o Krystof 12:23:23 homie` [~levgue@xdsl-78-35-167-203.netcologne.de] has joined #sbcl 12:25:09 -!- homie [~levgue@xdsl-78-35-172-212.netcologne.de] has quit [Ping timeout: 252 seconds] 12:30:47 -!- flip214 [~marek@unaffiliated/flip214] has quit [Remote host closed the connection] 12:48:24 flip214 [~marek@unaffiliated/flip214] has joined #sbcl 13:23:12 tsuru [~charlie@adsl-87-47-213.bna.bellsouth.net] has joined #sbcl 13:25:32 antgreen [~user@CPE00222d6c4710-CM00222d6c470d.cpe.net.cable.rogers.com] has joined #sbcl 13:36:49 dlowe [~dlowe@ita4fw1.itasoftware.com] has joined #sbcl 14:23:04 -!- woudshoo [~user@ironhead.xs4all.nl] has quit [Remote host closed the connection] 14:31:10 -!- antgreen [~user@CPE00222d6c4710-CM00222d6c470d.cpe.net.cable.rogers.com] has quit [Remote host closed the connection] 14:39:03 attila_lendvai [~attila_le@adsl-89-132-59-135.monradsl.monornet.hu] has joined #sbcl 14:39:06 -!- attila_lendvai [~attila_le@adsl-89-132-59-135.monradsl.monornet.hu] has quit [Changing host] 14:39:07 attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has joined #sbcl 14:51:39 froydnj [~froydnj@gateway.codesourcery.com] has joined #sbcl 15:57:51 -!- flip214 [~marek@unaffiliated/flip214] has quit [Remote host closed the connection] 17:41:03 mon_key [~user@unaffiliated/monkey/x-267253] has joined #sbcl 17:41:15 Hello sbcl! 17:41:50 -!- nikodemus [~nikodemus@cs181058025.pp.htv.fi] has quit [Ping timeout: 276 seconds] 17:43:57 sbcl/src/pcl/documentation.lisp has a method specialized on standard-slot-definition for getting/setting its documentation. I'd like to use this feature but don't know how to frob the MOP 17:48:20 -!- cmm [~cmm@bzq-79-182-200-111.red.bezeqint.net] has quit [Ping timeout: 276 seconds] 17:48:53 cmm [~cmm@bzq-79-182-200-111.red.bezeqint.net] has joined #sbcl 19:44:03 -!- Krystof [~csr21@csrhodes.plus.com] has quit [Ping timeout: 252 seconds] 19:58:10 Krystof [~csr21@csrhodes.plus.com] has joined #sbcl 19:58:10 -!- ChanServ has set mode +o Krystof 20:42:01 -!- dlowe [~dlowe@ita4fw1.itasoftware.com] has quit [Quit: Leaving.] 21:36:45 Fare [~Fare@ita4fw1.itasoftware.com] has joined #sbcl 21:51:42 -!- homie` [~levgue@xdsl-78-35-167-203.netcologne.de] has quit [Remote host closed the connection] 21:59:22 homie [~levgue@xdsl-78-35-167-203.netcologne.de] has joined #sbcl 22:10:21 -!- homie [~levgue@xdsl-78-35-167-203.netcologne.de] has quit [Ping timeout: 252 seconds] 22:28:11 hargettp [~hargettp@96.237.121.111] has joined #sbcl 22:41:05 -!- Fare [~Fare@ita4fw1.itasoftware.com] has quit [Quit: Leaving] 22:42:57 homie [~levgue@xdsl-78-35-167-203.netcologne.de] has joined #sbcl 23:04:15 -!- attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has quit [Ping timeout: 252 seconds] 23:18:18 attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has joined #sbcl 23:25:08 tcr [~tcr@100.Red-88-6-12.staticIP.rima-tde.net] has joined #sbcl