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

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

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

Levente Uzonyi
 
Hi Eliot,

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

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
>
>
>
Reply | Threaded
Open this post in threaded view
|

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

Eliot Miranda-2
 
Hi Levente,

On Mon, Jan 13, 2020 at 2:21 PM Levente Uzonyi <[hidden email]> 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