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