hmm, no response. another approach, which seems like it would be a better fit for Io with its actors model support would be to do as Erlang does and treat OS ...
... If your VM is single threaded (or is serialized by a mutex effectively to a single thread) then blocking on a system call makes the VM unresponsive to any...
... If it returned to the calling code because it won't handle the syscall itself, it's also unresponsive: it doesn't run while the calling code handles the...
... Well, yes, I didn't understand how the technique on that webpage was supposed to work either. But in general you should be able to use trampolining to...
... yes that would be the perfect mechanism for handling system calls. the system call itself though, should be handled in another OS thread so it doesn't...
I'm not sure that the http://www.vlerq.org/vqo/47 makes much sense. Another way to achieve portability of system calls is to use a portability layer that is...
... I don't beleive that, trampolines are very simple. The first interpreter I ever wrote used this technique. What you can do with trampolines is mind...
I still don't get what trampolines accomplish. I get the impression that it's a C friendly way of continuation passing? But since C doesn't have lambda's, how...
... read section 6.2 of the paper I referenced. it explains why it is necessary. ... you don't. continuation passing style doesn't mean that you restart...
Im thinking about using two part references in my runtime for Pluk. First is a pointer to a type instance the other is an object instance specific value. For a...
Bart van der Werf (Bl...
bluelive@...
Mar 9, 2005 5:18 pm
2322
... E.g. Roberto Ierusalimschy, Luiz Henrique de Figueiredo, Waldemar Celes "The Implementation of Lua 5.0" ...
... here's an example. programmer writes this: f = { A(); B(); return C(); }; compiler translates it to this in trampoline style: Z = C; // tail call...
Having values be passed around by a tag plus the value is a pretty common technique. The most common technique is to only have integer as a special value and...
... actually to be completely correct I'd need to make explicit the call-return mechanism. f = { A(); B(); return C(); }; gets translated to: F1 = {...
... Filtering specific bits from a word seems a bit expensive, it also limits the range of allowed values. I mainly want to attempt this to get around the...
Bart van der Werf (Bl...
bluelive@...
Mar 9, 2005 8:10 pm
2327
... yes. I am not arguing for any particular method. This is the most common practice though. Used by various implementations of Smalltalk, Scheme and...
... Testing one bit is not that expensive. IMHO less expensive than doubling the cost of passing values around. ... No, because larger ints should be...
... pretty ... you ... also ... the ... the ... have ... Integer ... filtering a bit (or several bits) from pointers/longs is not all that expensive, but it is...
... Thanks James, but that's the part that I understand already! What I don't understand is how this while loop technique relates to the definition of...
I don't think being dynamically generated is what makes something a trampoline. A trampoline is a function that returns the next function to call -- ...
... Thanks that makes it a lot clearer :) grtz, Bart...
Bart van der Werf (Bl...
bluelive@...
Mar 10, 2005 9:23 pm
2333
... I think of the trampoline not as the function that returns the next function but the function responsible for calling these functions that return the next...
... OK I guess we have to amend with a second definition trampoline: 1. a function that returns the next function to call 2. a piece of code that, when jumped...
For what it's worth, I think there are two completely unrelated definitions floating around: * One that's used in JIT compilers. This one typically is emitting...