VM terminology (was: [squeak-dev] Squeak 4.6 -- 2nd release candidate)

Tobias Pape Das.Linux at gmx.de
Wed Jul 8 13:23:28 UTC 2015


Hi Dave
On 08.07.2015, at 02:25, David T. Lewis <lewis at mail.msen.com> wrote:

> On Tue, Jul 07, 2015 at 05:31:38PM +0200, Tobias Pape wrote:
>> 
>> On 07.07.2015, at 17:26, Chris Muller <asqueaker at gmail.com> wrote:
>> 
>>>>> Interpreter VM will not be able to run Spur images going forward.
>>>> 
>>>> Pardon?
>>> 
>>> Download latest Spur image and changes:
>>> 
>>>   http://www.mirandabanda.org/files/Cog/VM/SpurImages/trunk46-spur.image
>>> 
>>>  http://www.mirandabanda.org/files/Cog/VM/SpurImages/trunk46-spur.changes
>>> 
>>> and latest interpreter VM.  Then try:
>>> 
>>>  squeak trunk46-spur.image
>>> 
>>> Results:
>>> 
>>> This interpreter (vers. 0) cannot read image file (vers. 6521).
>>> Press CR to quit...
>> 
>> 
>> Well, your sentence sounded as if there's no intention of making the interpreter 
>> VM SPUR-aware whatsoever. Surely I got that wrong, didn't I?
>> 
> 
> We are probably tripping over some terminology issues here.
> 
> We used to refer to the "standard VM" as distinct from the "experimental"
> Cog VMs. That terminology is no longer appropriate, because most people
> now use Cog (and Spur), and IMHO the terms "standard" and "experimentalt"
> are no longer helpful.
> 
> When Eliot and Andreas began the work that led to Cog (and now Spur), the
> first step (see Eliot's blog) was development of the stack-oriented interpreter,
> which was an improvement over the original context-based interpreter of the
> standard Squeak VM. The idea was (and still is) that the standard interpreter
> VMs would migrate to the stack interpreter model.
> 
> If you look at the VMMaker package (as opposed to VMMaker.oscog) you will
> find additional refactoring of the interpreter and object memory classes to
> support that original design intent. The VMs that we now call "interpreter
> VM" are generated from that code base, currently building from the context
> interpreter classes rather than the stack interpreter classes.
> 
> There is some work remaining to be done in order to be able to generate
> an "interpreter VM" from the stack interpreter classes in the VMMaker
> package. Once that is accomplished, the context interpreter will become
> a historical artifact, and the "interpreter VM" builds will in fact deliver
> the stack based interpreter VM as developed by Eliot and maintained in
> the VMMaker.oscog branch.
> 
> Beyond that, my powers of prediction are less clear. There is significant
> code merge work remaining to be done, but regardless of how (or when or
> by whom) that gets done, there is no reason that the new Spur object model
> should not be adopted, and no reason why an "interpreter VM" should not
> be able to support it.

Thanks for the quite enlightening explanation. :)
Together with Eliot's reply this makes going on a lot more predictable for
me. Thanks!

Best regards
	-Tobias





More information about the Squeak-dev mailing list