Conversation with #inferno at Mon Jul 25 20:47:52 2011 on powerman-asdf@irc.freenode.net (irc) (23:34:54) teurastaja [~samuel@modemcable072.213-81-70.mc.videotron.ca] entered the room. (02:59:09) vpm [~vpm@reverse-94.fdn.fr] entered the room. (07:53:40) ***Maxdamantus wonders if there's some expectation of "threads" in Dis actually being threads. (07:53:54) Maxdamantus: (I think of threads as things that are pre-empted) (07:54:19) Maxdamantus: Much simpler to just crunch until you hit a send/recv. (08:00:52) Maxdamantus: Mm, the problem then though is when something gets into a busy wait. (10:05:32) bvalek2 [588058e0@gateway/web/freenode/ip.88.128.88.224] entered the room. (10:46:41) mjl- [mjl@ipv6.berteun.nl] entered the room. (10:47:22) mjl-: Maxdamantus: the currnet dis interpreter runs some QUANTA of instructions before giving up control of a thread (10:47:32) mjl-: or on a blocking call (10:48:00) mjl-: eg if it does a blocking syscall to the underlying OS it does a release() to give up the vm interpret iirc, and an acquire() when it needs it back (10:48:42) Maxdamantus: Hm. So threads actually work sort of co-operatively? (10:48:57) Maxdamantus: I'm probably just going to do something similar. (10:49:16) Maxdamantus: But it won't break out after an exact number of instructions .. will only be able to break when the pc goes back to 0. (10:49:31) Maxdamantus: (and it'll keep a counter for the amount of times that happens) (10:49:49) Maxdamantus: But atm it's breaking also during intra-module calls. (10:50:47) Maxdamantus: (after one module emits an mcall, some other thread might run a bit before the target module's code is run) (10:51:45) ***Maxdamantus needs to figure out Limbo's call system's argument layout, so he can see prettier messages than fp dumps. (10:52:32) Maxdamantus: function print(fp, cont){ print("sys->print called somehow! fp = " + fp.toSource()); return cont; } (11:07:13) Maxdamantus: er, not when pc = 0 .. when it has to break out of the switch; basically any time the next instruction is not the one following the current (eg, jmp, call, br*, ..) (11:08:41) mjl-: ah, that should be often enough (11:10:31) Maxdamantus: Yeah. It's basically just so if it's actually used for something, at least the user will be able to control the UI to kill the process. (11:11:16) Maxdamantus: Do you know approximately how much of "Inferno" is outside of Dis? (11:11:37) Maxdamantus: If the VM works well, it might be cool to get it to run Inferno. (11:12:00) Maxdamantus: I think though, all the GUI stuff is outside, and Tk would basically need to be re-implemented. (11:13:08) Maxdamantus: (not that the GUI is the most important bit) (11:13:34) mjl-: correct, tk is in c code (11:13:53) mjl-: there's quite a bit of fundamental stuff in c, some because it has to, some because it is faster (11:14:23) mjl-: it's basically the builtin modules, you can recognize them in from /module/*.m because their PATH starts with a $ (11:14:44) mjl-: $ grep PATH module/sys.m (11:14:44) mjl-: PATH: con "$Sys"; (11:15:31) mjl-: libinterp/ has some code to implement builtin modules. most of those are implemented in terms of calling a c library (11:15:57) mjl-: eg libinterp/crypt.c for crypto, it uses libsec iirc (11:16:21) Maxdamantus: Mm, using that method, in module/, doesn't seem too much (except Tk) (11:17:05) mjl-: crypt, draw, freetype, ipints, keyring, math, srv, sys, tk (11:17:09) mjl-: and a few more (11:17:14) mjl-: is what i see (11:17:24) Maxdamantus: Yeah. (11:17:31) mjl-: sys.m is implemented in emu/port/inferno.c and os/port/inferno.c (11:17:48) Maxdamantus: I've noticed. (11:18:24) ***Maxdamantus was incorrectly looking in there for how to read varargs from a frame. (11:23:25) Fish [~Fish@exo3753.pck.nerim.net] entered the room. (11:28:36) Maxdamantus: Mm .. I think it just goes that the next argument is the next alignment suitable for that type, which is what I guessed when starting making that vararg function. (11:29:19) Maxdamantus: Starting from fp+32 (17:21:13) ***Maxdamantus wonders if there's some spawn/channel-based parallel quicksort or something in Limbo somewhere, so he can test his channels and spawns. (18:01:46) Maxdamantus: Hm. I think Inferno is cheating :( (18:02:55) Maxdamantus: http://www.vitanuova.com/inferno/papers/limbo.html says <- selection is random, and I remember Pike saying so explicitly in his speech on Squekual. (18:03:18) Maxdamantus: But I'm getting a predictable sequence. (19:37:37) bvalek2 [50bb933d@gateway/web/freenode/ip.80.187.147.61] entered the room. (20:41:47) Fish- [~Fish@9fans.fr] entered the room. (02:14:10) btdn [~btdn@adsl-68-74-168-153.dsl.milwwi.ameritech.net] entered the room. (07:59:31) robot12 [~kazzhilki@proxy10.ts.fujitsu.com] entered the room. (11:02:37) bvalek2 [50bbd263@gateway/web/freenode/ip.80.187.210.99] entered the room. (15:50:16) btdn [~btdn@adsl-68-75-82-139.dsl.milwwi.ameritech.net] entered the room. (17:13:31) bvalek2 [50bbd263@gateway/web/freenode/ip.80.187.210.99] entered the room. (19:27:51) perdix [~mkhl@sxemacs/devel/perdix] entered the room. (19:28:55) perdix [~mkhl@sxemacs/devel/perdix] entered the room. (19:55:12) bvalek2 [50bbd412@gateway/web/freenode/ip.80.187.212.18] entered the room. (20:01:17) dboswell [~none@64.55.42.132] entered the room. (01:52:54) btdn [~btdn@adsl-66-72-237-115.dsl.milwwi.ameritech.net] entered the room. (04:32:05) btdn [~btdn@adsl-66-72-237-115.dsl.milwwi.ameritech.net] entered the room. (05:16:55) jaredj [~jaredj@Coventry-Room.wpr-mtg.orl.wayport.net] entered the room. (08:09:41) acmeuser [~acmeuser@81.195.69.111.dynamic.snap.net.nz] entered the room. (08:34:53) perdix [~mkhl@sxemacs/devel/perdix] entered the room. (10:23:30) bvalek2 [c3e41484@gateway/web/freenode/ip.195.228.20.132] entered the room. (18:27:26) bvalek2 [50bbd711@gateway/web/freenode/ip.80.187.215.17] entered the room. (19:53:07) perdix [~mkhl@sxemacs/devel/perdix] entered the room. (20:05:27) Fish- [~Fish@exo3753.pck.nerim.net] entered the room. (20:36:48) Fish [~Fish@9fans.fr] entered the room. (22:41:10) mjl- [mjl@ipv6.berteun.nl] entered the room. (08:29:46) perdix [~mkhl@sxemacs/devel/perdix] entered the room. (10:51:26) vsrinivas [~me@c-68-48-11-23.hsd1.md.comcast.net] entered the room. (19:10:01) perdix [~mkhl@sxemacs/devel/perdix] entered the room. (20:25:05) perdix [~mkhl@sxemacs/devel/perdix] entered the room. (20:44:22) Fish [~Fish@9fans.fr] entered the room. (21:30:16) bvalek2 [5062fe48@gateway/web/freenode/ip.80.98.254.72] entered the room. (00:12:15) MightyMax [5ad8a7f7@gateway/web/freenode/ip.90.216.167.247] entered the room. (00:28:16) MightyMax: bor-dom (00:47:27) Fish [~Fish@9fans.fr] entered the room. (00:47:28) Fish- [~Fish@exo3753.pck.nerim.net] entered the room. (01:01:26) Fish [~Fish@9fans.fr] entered the room. (01:28:42) perdiy [~mkhl@sxemacs/devel/perdix] entered the room. (06:28:05) Maxdamantus: I think I remember reading somewhere about some sort of "C to Limbo" converter .. anyone know anything about that? (06:29:09) Maxdamantus: I'd imagine it wouldn't be too crazy a thing to do neatly, if it's thought of as something of a porting tool, so it does its best then relies on the programmer to fix what's missing. (06:35:46) vsrinivas: c2l is in tree iirc (06:35:55) vsrinivas: that's why libc and libc0 exist for limbo (06:39:36) Maxdamantus: Ah, thanks. (07:35:05) hotaru2k3 [~hotaru@gateway/tor-sasl/hotaru2k3] entered the room. (09:09:44) perdix [~mkhl@178-25-226-108-dynip.superkabel.de] entered the room. (09:09:44) perdix [~mkhl@sxemacs/devel/perdix] entered the room. (10:12:02) bvalek2 [5062fe48@gateway/web/freenode/ip.80.98.254.72] entered the room. (15:12:37) Fish [~Fish@bus77-2-82-244-150-190.fbx.proxad.net] entered the room. (16:00:28) bvalek2 [5062fe48@gateway/web/freenode/ip.80.98.254.72] entered the room. (16:29:56) perdix [~mkhl@sxemacs/devel/perdix] entered the room. (21:36:45) btdn [~btdn@adsl-66-72-237-115.dsl.milwwi.ameritech.net] entered the room. (04:21:52) acmeuser [~acmeuser@pool-71-179-93-114.bltmmd.fios.verizon.net] entered the room. (04:22:06) acmeuser left the room. (10:00:09) bvalek2 [5062fe48@gateway/web/freenode/ip.80.98.254.72] entered the room. (10:49:43) perdix [~mkhl@sxemacs/devel/perdix] entered the room. (12:12:25) Fish [~Fish@bus77-2-82-244-150-190.fbx.proxad.net] entered the room. (20:41:43) Fish [~Fish@9fans.fr] entered the room. (09:10:49) perdix [~mkhl@sxemacs/devel/perdix] entered the room. (09:40:56) The account has disconnected and you are no longer in this chat. You will be automatically rejoined in the chat when the account reconnects.