[Vm-dev] VM Maker: VMMaker-dtl.270.mcz

David T. Lewis lewis at mail.msen.com
Sat Apr 28 20:33:55 UTC 2012

Commit notice too large for the list, forwarding trimmed version:

----- Forwarded message from vm-dev-owner at lists.squeakfoundation.org -----

Delivered-To: list-vm-dev at lists.squeakfoundation.org
Date: Sat, 28 Apr 2012 20:23:42.546 0000
From: commits at source.squeak.org
To: vm-dev at lists.squeakfoundation.org
Reply-To: vm-dev at lists.squeakfoundation.org
Subject: VM Maker: VMMaker-dtl.270.mcz

David T. Lewis uploaded a new version of VMMaker to project VM Maker:

==================== Summary ====================

Name: VMMaker-dtl.270
Author: dtl
Time: 28 April 2012, 4:23:12.307 pm
UUID: f17e6e57-c227-47a4-876c-287e33175b48
Ancestors: VMMaker-dtl.268

VMMaker 4.9

Add StackInterpreter and related classes, with additional changes to support ObjectMemory / Interpreter refactoring. The organization of the traditional Interpreter and ObjectMemory are now better aligned with the oscog branch of VMMaker, while the generated code for a standard VM remains equivalent to prior versions.

NewObjectMemory and StackInterpreter are not yet ready for use, and as always Cog and StackInterpreter VMs should be build from the oscog branch.

Upgrade note - If problems are experienced in generating a standard VM after loading this version of VMMaker, try recompiling the VMClass hierarchy, and reinitializing ObjectMemory and Interpreter. Pool variables are now used extensively, and in some cases a recompile may be needed to support the updates.

Changes that affect generated code:

- Allow inlining of ObjectMemory>>accessibleObjectAfter:

- All other changes are cosmetic, related to variable ordering, temp variable names, extraneous white space, etc.

- Generated code for the standard interpreter is equivalent to previous version, except that #accessibleObjectAfter: is now inlined.

Interpreter / ObjectMemory refactorings:

- Add StackInterpreter, StackInterpreterPrimitives, InterpreterStackPages, VMStructType and ReadOnlyArrayWrapper from oscog.

- Add CogClass and Cogit stub classes to support the refactoring.

- Add ObjectMemory subclass ClassicObjectMemory. Move methods that were overridden in NewObjectMemory from ObjectMemory to ClassicObjectMemory, and retain abstract implementations in ObjectMemory. Methods with 'self subclassResponsibility' are abstract and are not translated to C.

- The traditional object memory used with Interpreter is now ClassicObjectMemory, and the new object memory for StackInterpreter is NewObjectMemory, both of which are subclassed from ObjectMemory.

=============== Diff against VMMaker-dtl.268 ===============


More information about the Vm-dev mailing list