Setting the Cog bit

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Setting the Cog bit

David T. Lewis
 
Does the Cog VM update to a new image format version number when
snapshotting? If not, then I have the following proposal:

An image that is snapshotted by a Cog VM is going to expect Cog
support when next loaded. It would be good if the image snapshot
declares this explicitly so the VM can exit in a controlled manner
if unable to provide the required support.

I propose that we add a Cog bit to the image format version number,
as illustrated in the attached change set. This can be extended in
the future such that an image that requires "foo" support from a VM
will set the "foo bit".

The original Squeak images had image format number 6502. With closure
support, this became 6504. Requiring Cog implies a requirement for
closure support, so an image that requires Cog support would be 6505.
For 64-bit images, the corresponding image format numbers are 68000,
68002, and 68003. Note that bit 0 was previously unused, which means
that Cog would become the recipient of the highly-coveted bit zero
position ;)

There are plenty of free bits available to be allocated for future
capabilities, and the high order bit would be reserved for expansion
if the need ever arises.

Dave


ImageFormatVersion-dtl.1.cs (19K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Setting the Cog bit

Eliot Miranda-2
 


On Tue, Jun 22, 2010 at 6:52 PM, David T. Lewis <[hidden email]> wrote:
 
Does the Cog VM update to a new image format version number when
snapshotting?

Yes it does.  It and the Stack VM set the image format to 6505.  This reflects the platform-order floats change which is not backwards-compatible.

Note that Cog also insists on a 6504 or 6505 format image to start-u, i.e. it won;t attempt to start-up non-closure images.

 
If not, then I have the following proposal:

An image that is snapshotted by a Cog VM is going to expect Cog
support when next loaded. It would be good if the image snapshot
declares this explicitly so the VM can exit in a controlled manner
if unable to provide the required support.

I propose that we add a Cog bit to the image format version number,
as illustrated in the attached change set. This can be extended in
the future such that an image that requires "foo" support from a VM
will set the "foo bit".

The original Squeak images had image format number 6502. With closure
support, this became 6504. Requiring Cog implies a requirement for
closure support, so an image that requires Cog support would be 6505.
For 64-bit images, the corresponding image format numbers are 68000,
68002, and 68003. Note that bit 0 was previously unused, which means
that Cog would become the recipient of the highly-coveted bit zero
position ;)

:)  Looks like I accidentally chose the right bit :)
 
There are plenty of free bits available to be allocated for future
capabilities, and the high order bit would be reserved for expansion
if the need ever arises.

Dave



Reply | Threaded
Open this post in threaded view
|

Re: Setting the Cog bit

David T. Lewis
 
On Tue, Jun 22, 2010 at 07:07:48PM -0700, Eliot Miranda wrote:

>  
> On Tue, Jun 22, 2010 at 6:52 PM, David T. Lewis <[hidden email]> wrote:
>
> > Does the Cog VM update to a new image format version number when
> > snapshotting?
>
> Yes it does.  It and the Stack VM set the image format to 6505.  This
> reflects the platform-order floats change which is not backwards-compatible.
>
> Note that Cog also insists on a 6504 or 6505 format image to start-u, i.e.
> it won;t attempt to start-up non-closure images.
>
>
> > If not, then I have the following proposal:

<snip>

>
> :)  Looks like I accidentally chose the right bit :)

Perfect. In any case, I stand by my proposal to name it the "Cog bit".
I feel confident in predicting that 30 years from now, folks will be
spinning tall tales to explain the true origins of the Cog bit.

Dave

Reply | Threaded
Open this post in threaded view
|

Re: Setting the Cog bit

Bert Freudenberg


On 23.06.2010, at 04:47, David T. Lewis wrote:

>
> On Tue, Jun 22, 2010 at 07:07:48PM -0700, Eliot Miranda wrote:
>>
>> On Tue, Jun 22, 2010 at 6:52 PM, David T. Lewis <[hidden email]> wrote:
>>
>>> Does the Cog VM update to a new image format version number when
>>> snapshotting?
>>
>> Yes it does.  It and the Stack VM set the image format to 6505.  This
>> reflects the platform-order floats change which is not backwards-compatible.
>>
>> Note that Cog also insists on a 6504 or 6505 format image to start-u, i.e.
>> it won;t attempt to start-up non-closure images.
>>
>>
>>> If not, then I have the following proposal:
>
> <snip>
>
>>
>> :)  Looks like I accidentally chose the right bit :)
>
> Perfect. In any case, I stand by my proposal to name it the "Cog bit".
> I feel confident in predicting that 30 years from now, folks will be
> spinning tall tales to explain the true origins of the Cog bit.
>
> Dave

Yeah: "Cog? That was odd. The bit, that is."

- Bert -


Reply | Threaded
Open this post in threaded view
|

Re: Setting the Cog bit

CdAB63
 
Trying CogVM... so far so good with things I developed.

Eliot, Andreas, Teleplace thanks for your effort & congrats for well
done job !!!


CdAB


signature.asc (269 bytes) Download Attachment