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

Eliot Miranda eliot.miranda at gmail.com
Mon Jan 13 17:47:27 UTC 2020

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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20200113/ad9ee6da/attachment.html>

More information about the Vm-dev mailing list