[Vm-dev] Bytecode set (was Ubuntu unit issues)

Jeremy Kajikawa jeremy.kajikawa at gmail.com
Mon Apr 16 17:03:46 UTC 2012

Colin: thanks... something like that... just trying to work out the
octet numbers and formatting for what data goes where.

as I trying to encode this at assembler level where each opcode value
has a specific routine that is called from a opCodeVector JumpTable

Each Entry in the JumpTable is directly executed by the processor with
a second JumpTable encoded similarly for basic microcode Read/Write
functions to deal with various standard DataTypes in fixed formats

this is to plug into the generic Interpreter engine I already have.

the first test of this was to Emulate an Intel 80486 on a Motorola
68040 processor with the Host running at 25MHz.

I managed to get an average speed rating of between 16MHz to 20MHz
performance even with "real world" code being run through

I am currently re-implimenting this engine on top of a PPC host and
would like to expand its modularity to additional languages and

If at all possible I would like to make the equivalent "machine level"
interpretation of the opcode numbers possible even if there is inline
data and addresses present as well.

With having no prior experience with Smalltalk any usage of terms I
know in a different will won't make any sense initially and trying to
get to grips with Smalltalk by using the Environment ... I already
tried this unsuccessfully.

I'm more interested in the number codes that each operation is
represented by and making routines to match within set ranges,  and
where one operation is multiple codes chained,  being able to have a
listing starting with 0x00 is opcode "somename" and has N octets of
immediate values following it formatted as ?:? bitstrings.

If that makes any sense?

as for stack or message information,  I'm willing to work out what is
needed to make those happen if they are needed as bytecode level

On Tue, Apr 17, 2012 at 4:20 AM, Colin Putney <colin at wiresong.com> wrote:
> On 2012-04-16, at 8:14 AM, Jeremy Kajikawa wrote:
> I am somewhat dogmatically minded about technical details,  so I am
> unlikely to wade through buckets of documentation about Smalltalk as a
> language and how to use it if it is not answering the question about
> what I am looking up.
> I'm confused. You want to implement a Smalltalk interpreter, but you're not interested in the details of the language? Perhaps you should tell us what your overall goal is. That way we can provide more useful information.
> As for documentation of the bytecode set, you may find the Blue Book useful. It's the canonical description of how Smalltalk works, including the interpreter. Squeak is a descendant of this implementation. The section on the interpreter is here:
> http://www.mirandabanda.org/bluebook/bluebook_chapter28.html#StackBytecodes28
> Hope this helps,
> Colin
> PS. Since this has nothing to do with Ubuntu, I've changed the subject to something more appropriate

More information about the Vm-dev mailing list