RFR JDK-8059510 Compact symbol table layout inside shared archive
Jiangli Zhou
jiangli.zhou at oracle.com
Thu Dec 4 02:06:23 UTC 2014
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