[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
|