[squeak-dev] [Vm-dev] Reserving/allocating some slots in the specialObjectsArray for DoubleByteArray, WordArray and DoubleWordArray

Eliot Miranda eliot.miranda at gmail.com
Mon Jan 13 23:24:34 UTC 2020


Hi Levente,

On Mon, Jan 13, 2020 at 2:21 PM Levente Uzonyi <leves at caesar.elte.hu> wrote:

>  Hi Eliot,
>
> While we're extending specialObjectsArray, it may make sense adding
> FloatArray and the currently non-existent Float64Array as well.
>

Good point.  An at:[put:] primitive pair for Float64Array makes sense too.


> Levente
>
> On Mon, 13 Jan 2020, Eliot Miranda wrote:
>
> > Hi All,
> >     currently the following slots in the specialObjectsArray are unused
> in both Squeak and Pharo (& I suspect Cuis).
> >
> > newArray at: 32 put: nil. "was the prototype Float"
> > newArray at: 33 put: nil. "was the prototype 4-byte LargePositiveInteger"
> > newArray at: 34 put: nil. "was the prototype Point"
> >
> > The specialObjectsArray already contains ByteArray
> > newArray at: 27 put: ByteArray.
> >
> > I would like to have a full set of little-endian unsigned integer
> arrays.  In Spur Squeak these are ByteArray, DoubleByteArray, WordArray
> (Bitmap is big endian), and DoubleWordArray.  The VM's at:[put:] directly
> supports
> > these four at the JIT level giving us efficient unsigned access.  There
> is also efficient signed access for some signed arrays but these are less
> useful (at least in theVM simulator).
> >
> > I want to make all four unsigned integer array classs available to
> plugins etc via the interpreterProxy.  So here's a formal request to
> reserve these values for use as follows:
> > newArray at: 27 put: ByteArray.
> > ...
> > newArray at: 32 put: DoubleByteArray.
> > newArray at: 33 put: WordArray.
> > newArray at: 34 put: DoubleWordArray.
> >
> > _,,,^..^,,,_
> > best, Eliot
> >
> >
> >



-- 
_,,,^..^,,,_
best, Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20200113/094c8377/attachment.html>


More information about the Squeak-dev mailing list