Hi Tim(othy?).


On Tue, Nov 26, 2013 at 1:22 PM, gettimothy <gettimothy@zoho.com> wrote:
 
Does Cog Interpreter state and cycle differ from the standard VM ?

Yes.  Quite a lot.  The best overview is http://www.mirandabanda.org/cogblog/2009/01/14/under-cover-contexts-and-the-big-frame-up/.  Rationale for closures is in the posts named "Closure Overview" & "Closure Bytecodes".  HTH.

 

Details are not needed, just a heads up so that when I do get to Cog work, I make it a point to study them.

From the Blue Book, here is the definition of Interpreter State and Cycle:

       Interpreter State:
     1. The CompiledMethod whose bytecodes ar being executed.
     2. The location of the next bytecode to be executed in that CompiledMethod: i.e its /instruction pointer/
     3. The receiver and arguments of the message that invoked the CompiledMethod.
     4. Any temporary variables needed by the CompiledMethod.
     5. a stack.

       Interpreter Cycle:
     1. fetch the bytecode from the CompiledMethod indicated by the instruction pointer.
     2. Increment the instruction pointer.
     3. Perform the function specified by the bytecode.


thx.

t




--
best,
Eliot