> In abstract, if you have a lot of threads installing counted references to
> the same object, you are likely looking at a problem that is inherently
> unscalable. The exception is references taken locally for *read* operations.
> Those are exactly the ones that benefit from "known live pointer" analysis.
>
>
>> Normal Jikes header is 16 bytes ( 32 bit)   so adding a field would go to
>> 17or 20 .. and im not sure what happens to the object alignment  ,
>> paragraph alignment for header and body are nice .   Obviously if the cost
>> went from  11 bytes to 12 it would have a lower impact .
>>
>
> The jikes header already has room for the stuff we are talking about.
> There is no need to add a byte.
>

They did consider it  and JIkes allows extra test field  but adding 4 bytes
 gave worse performance ( probably because  going from 16 to 17 ( = 20) and
stuffing up the allignment  , then the way i read it they only had a few
bits left so didnt test higher values  just 5 for the 3 bits they had.

Checked... Shahriya explored this and states that  the capping provides a
very minor improvement and the gain was made almost entirely by not using a
new header field. Every  header field has a significant cost  they
conclude... ( prob affected by Java small objects like Point  and higher
creation/copying costs , which also makes me think C++ no header and some
bits in the pointer  or  for 64 bit  have an option to use 32 bit pointers
 for higher performance but 4G heap  else use 96 bit  pointers ) .

BTW When 1 field is 2-3  % (on Java)  what is the "managed" overhead  for
having an object header  ?  Did they test this for the C++ runtime type
system ( which went with putting it in the vtable) ?


>
>>
>>>
>
>> Ok use overflow bit , so you have bit set and tst . Tricky..
>>
>
> Nope. You have add, mask, and store.
>

I suspect on value type system a seperate field is much faster as unlike
Java you dont have the header cost on everything. If you can find a byte or
word in the header ( or reference)  and use non mask instruction that would
be ideal.

Anyway lots of testing...just the basics yet alone the storage ,tracer etc


Ben
_______________________________________________
bitc-dev mailing list
[email protected]
http://www.coyotos.org/mailman/listinfo/bitc-dev

Reply via email to