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