LoadCompressedPointer

Thomas Wuerthinger thomas.wuerthinger at oracle.com
Mon Sep 2 07:28:04 PDT 2013


No, because compressed pointers are only available for 64-bit systems. Also, the AMD64Move instruction is only valid on a 64-bit platform. - thomas

On Aug 26, 2013, at 1:21 AM, Christian Wimmer <christian.wimmer at oracle.com> wrote:

> But then the assertion also needs to cover Kind.Long for 32 bit systems, or not?
> 
> -Christian
> 
> 
> On 8/19/2013 11:57 PM, Lukas Stadler wrote:
>> This is required - for compressed Klass* pointers in the object header.
>> These are compressed pointers to non - garbage collected structures.
>> 
>> - Lukas
>> 
>> On Aug 19, 2013, at 11:04 PM, Mick Jordan <mick.jordan at oracle.com> wrote:
>> 
>>> On 8/19/13 12:54 PM, Venkatachalam, Vasanth wrote:
>>>> After a recent merge, I noticed some new logic in AMD64Move.LoadCompressedPointer() routine:
>>>> 
>>>> assert kind = Kind.Object || kind = kind.Long;
>>>> 
>>>> Can someone explain why we would allow kind = kind.Long?
>>>> 
>>>> What cases would trigger a call to LoadCompressedPointer where kind = Kind.Long?
>>>> 
>>>> 
>>> This is probably another case where a Word type (rewritten to Kind.long) is involved. I don't like it.
>>> 
>>> Mick
>>> 
>> 
> 



More information about the graal-dev mailing list