RFR JDK-8059510 Compact symbol table layout inside shared archive
Jiangli Zhou
jiangli.zhou at oracle.com
Thu Dec 4 23:01:52 UTC 2014
Thanks, Ioi!
Jiangli
On 12/04/2014 02:17 PM, Ioi Lam wrote:
> 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