[squeak-dev] UTCDateAndTime updated for Squeak trunk Chronology
and Spur (was: UTCDateAndTime updated for Squeak 4.6/5.0)
David T. Lewis
lewis at mail.msen.com
Sun Mar 13 22:24:01 UTC 2016
On Sun, Mar 13, 2016 at 10:28:19PM +0100, Levente Uzonyi wrote:
> On Sun, 13 Mar 2016, David T. Lewis wrote:
>
> >Apologies, this is not right. I was replying from a cell phone and my
> >recollection was wrong.
> >
> >I did at one point implement a #primitiveUtcWithOffset that could receive
> >an array of size two as an argument into which the result values are
> >stored,
> >instead if allocating the array in the primitive. However, I did *not*
> >commit
> >it to VMMaker, and it is not in any currently available VMs.
> >
> >I think I decided at the time that this approach was dangerous because it
> >would invite problems in cases involving multiple processes, where some
> >other process might call the primitive using the same array. In that case
> >the time value in the array would magically change without the first
> >process
> >being aware.
>
> That could only happen if the Array would be shared by multiple processes.
> For example if there were a dedicated class variable to retrieve the
> values from the VM, but that would be nothing but bad design.
Well yes, but bad design is a very common failure mode ;-)
>
> Why I thought that the argument should be of any Object with two slots is
> that this would allow us to use the DateAndTime instance itself to fetch
> the values into. Or anyone could come up with their own class to store
> timestamps and still be able to use this primitive.
That is absolutely brilliant! What a great idea.
DateAndTime class>>now
^self basicNew initializeFromPrimitive
Dave
More information about the Squeak-dev
mailing list
|