[squeak-dev] re: debugging plugin and virtual machine

Eliot Miranda eliot.miranda at gmail.com
Tue Jul 14 20:56:37 UTC 2009


On Tue, Jul 14, 2009 at 1:38 PM, askoh <askoh at askoh.com> wrote:

>
> Thanks for the info for developing Cog. Are you using Slang to write the
> VM?


Yes.


> Are you using something like InterpreterSimulator too?


Yes.  Except that the generated x86 machine code is executed by a virtual
processor packaged as an external plugin built using the Bochs x86 PC
simulator written in C++.  The generated machine code is written into the
same large ByteArray that houses the Smalltalk heap.

There are also a lot more classes involved
  cogmethod.h:
    CogBlockMethod/CogMethod - objects representing the headers of machine
code methods
  cointerp.c
    ObjectMemory/NewObjectMemory/StackInterpreter/CoInterpreter - the
interpreter and garbage collector hierarchy
    CoInterpreterStackPages & CogSimpleStackPage - where stack frames live
  cogit.c
    Cogit/SimpleStackBasedCogit - the code generator hierarchy
    CogObjectRepresentation/CogObjectRepresentationForSqueakV3 - the
abstraction of object access so one can plug-in object representations
    AbstractInstruction/CogIA32Compiler - the back-end hierarchy
    CogMethodZone - where generated methods live
    CogBlockStart, CogBytecodeDescriptor, CogBytecodeFixup,
CogInstructionAnnotation, CogPrimitiveDescriptor - internal compiler data
structures
    CogRTLOpcodes - a pool of abstract 2-operand opcodes

a few of which have simulation subclasses.  So its only a bit like
InterpreterSimulator.  I expect also to abstract out the garbage collector
later this year so that the interpreter has the ObjectMemory as an instance
variable so one can plug-in GC & object representation.



Is Cog still written
> in Smalltalk, converted to C and compiled into an executable?
>

Yes.


>
> Thanks,
> Aik-Siong Koh
> --
> View this message in context:
> http://www.nabble.com/debugging-plugin-and-virtual-machine-tp22314144p24486966.html
> Sent from the Squeak - Dev mailing list archive at Nabble.com.
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20090714/b12e5e3f/attachment.htm


More information about the Squeak-dev mailing list