RFR JDK-8059510 Compact symbol table layout inside shared archive

Ioi Lam ioi.lam at oracle.com
Thu Dec 4 22:17:18 UTC 2014


Hi Jiangli,

Looks good. Thanks!

- Ioi

On 12/3/14, 6:06 PM, Jiangli Zhou wrote:
> Hi Ioi,
>
> I've updated the webrev: 
> http://cr.openjdk.java.net/~jiangli/8059510/webrev.06/
>
> Thanks,
> Jiangli
>
> On 12/03/2014 03:38 PM, Jiangli Zhou wrote:
>> Hi Ioi,
>>>
>>> I think these two blocks can be rewritten to avoid the use of the 
>>> #ifdef
>>>  162 #ifdef _LP64
>>>  163   *p++ = juint(base_address >> 32);
>>>  164 #else
>>>  165   *p++ = 0;
>>>  166 #endif
>>>  167   *p++ = juint(base_address & 0xffffffff); // base address
>>>
>>>  205   juint upper = *p++;
>>>  206   juint lower = *p++;
>>>  207 #ifdef _LP64
>>>  208   _base_address = (uintx(upper) << 32 ) + uintx(lower);
>>>  209 #else
>>>  210   _base_address = uintx(lower);
>>>  211 #endif
>>>
>>> ->
>>>
>>> 163   *p++ = juint(base_address >> 32);
>>>  167   *p++ = juint(base_address & 0xffffffff);
>>>
>>>  205   juint upper = *p++;
>>>  206   juint lower = *p++;
>>>  208   _base_address = (uintx(upper) << 32 ) + uintx(lower);
>>>
>>
>> Actually it would have problem on 32-bit platforms. The behaviour of 
>> shift by greater than or equal to the number of bits that exist in 
>> the operand is undefined. Gcc gives warning about the >>32 on linux-x86.
>>
>> Thanks,
>> Jiangli
>>
>>
>



More information about the hotspot-runtime-dev mailing list