[Vm-dev] Spur Object 64 bit format

Eliot Miranda eliot.miranda at gmail.com
Tue Nov 12 18:24:14 UTC 2013


On Tue, Nov 12, 2013 at 3:56 AM, Clément Bera <bera.clement at gmail.com>wrote:

>
> Hey,
>
> By the way as you are talking about Immediate objects tags and Spur's
> object representation, I read on other VMs reports that it is faster in
> overall performance to have pointers tagged with the xxx1 and SmallIntegers
> tagged with xxx0, because SmallIntegers arithmetics is then much faster. Is
> it possible to modify that easily in Cog to try ? Do you have to edit only
> a few methods such as #longAt:, #integerValueOf: and SmallInteger
> primitives ?
>
> Another thing, I read in a java VM report that only 1% of objects needs a
> hash (other objects hash are unused), so their hash implementation took
> only 2 bits in the header, being:
> 01 -> no hash
> 10 -> hash is the object's address
> 11 -> hash is in a header extension
> Therefore, on first access to the hash, hash bits switches from 01 to 10,
> and the GC on objects with 10 switches the hash bits from 10 to 11 and add
> a header extension with the old address of the object. But I know I'm not
> teaching you anything there. What I would like to know is why did you
> choose in Spur to have a 22bits hash in the header over this
> implementation, and will the hash in Spur be calculated at each
> instantiation or lazily ?
>
> Thanks for any answers,
>
> Regards, Clement
>
>
>
> 2013/11/12 Henrik Johansen <henrik.s.johansen at veloxit.no>
>
>>
>>
>> On 12 Nov 2013, at 11:55 , Henrik Johansen <henrik.s.johansen at veloxit.no>
>> wrote:
>>
>> nterest ~= time and: [skills]
>>
>>
>> OT: I swear, missing parenthesis will be the death of me!
>>
>>
>
>


-- 
best,
Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20131112/635d97ca/attachment.htm


More information about the Vm-dev mailing list