[squeak-dev] V3

Vanessa Freudenberg vanessa at codefrau.net
Mon Jan 11 23:14:35 UTC 2021


On Mon, Jan 11, 2021 at 3:00 PM Eliot Miranda <eliot.miranda at gmail.com>
wrote:

>
>
> On Mon, Jan 11, 2021 at 2:57 PM Vanessa Freudenberg <vanessa at codefrau.net>
> wrote:
>
>> On Sat, Jan 9, 2021 at 7:09 AM David T. Lewis <lewis at mail.msen.com>
>> wrote:
>>
>>> On Fri, Jan 08, 2021 at 08:08:33PM -0800, Eliot Miranda wrote:
>>> > Hi V,
>>> >
>>> > On Tue, Jan 5, 2021 at 6:07 PM Vanessa Freudenberg <
>>> vanessa at codefrau.net>
>>> > wrote:
>>> >
>>> > > Reading the code I again noticed "Squeak V3" as name for the old
>>> bytecode
>>> > > set. Always wanted to know: Where does the "V3" nomenclature come
>>> from?
>>> > > What's V1 and V2? And should we consider Sista to be V4, or treat it
>>> as
>>> > > completely unrelated?
>>> > >
>>> >
>>> > In my diseased and uninformed mind V3 came from my noticing that the
>>> double
>>> > extended do anything bytecode didn't exist in Smalltalk-80, so I
>>> presumed
>>> > it wasn't in Squeak V1.  I don't know if it's in V2, and I was too
>>> lazy to
>>> > go look, but I did know it was in V3, so I called it, and the object
>>> > representation "V3".  Presumptuous but concise of me.  For me it
>>> really is
>>> > a label for no more than the state of play of Squeak when I came to
>>> start
>>> > changing its core execution engine.  I hope this is harmless enough.
>>> >
>>>
>>> I have become quite comfortable with the "V3" notation by now, regardless
>>> of its origins. I would prefer not to change it because I have used it
>>> extensively in some of my own personal projects (e.g. all of the package
>>> names in my http://www.squeaksource.com/TrunkUpdateStreamV3 hobby
>>> project).
>>>
>>> I also just like the name. "V3" is short and easily recognized, and it
>>> works nicely as a prefix or suffix in other names. To me, it also carries
>>> a vague connotation of "stable but not necessarily the latest thing".
>>> That's probably based on my recollection of early PC applications and
>>> operating systems where everyone knew not to trust any product until
>>> it reached at least version 3 ;-)
>>>
>>> Dave
>>>
>>
>> Can we come up with some major VM milestones to retroactively label as V1
>> / V2 / V3?
>>
>> Off the top of my head these could be
>>
>> * the original extension from ST80 to Squeak (as documented in Dan's
>> "Back to the future": 32 bit direct pointers, no refcounting,
>> variable-length object headers, etc)
>> * named primitives
>> * 64 bit support
>> * closures
>>
>> V1 would be the 1996 one then
>>
>
> +1
>
>> V3 might be the closure-supporting one (which year was that?)
>>
>
> 2009 (internally @ Qwaq) / 2010 (released to the community)
>
> V2 - ?
>>
>
> Named primitives seems like a major change to me
>

This message appears to indicate that named primitives and weak collections
arrived at the same time in 1998:
http://lists.squeakfoundation.org/pipermail/squeak-dev/1998-November/023502.html

Seems like a good candidate. Unless someone remembers a history of changes
to bytecodes specifically?

- Vanessa -
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20210111/04d4ddf9/attachment.html>


More information about the Squeak-dev mailing list