RFR: 8230401: ClassLoaderData::_keep_alive is read with wrong type in c2i entry barrier
erik.osterlund at oracle.com
Fri Aug 30 15:43:51 UTC 2019
Zhengyu noticed that the ClassLoaderData::_keep_alive field is a short,
but the c2i entry barrier reads it with cmpl, treating it like an int.
First of all, thanks Zhengyu for spotting that. Nice catch.
Encoding cmpw is not currently supported for x86_64 extended registers,
used in the barriers. So my proposed fix is to simply change the type of
_keep_alive to int. Because the 2 extra bytes will become padding
anyway, so we are not really saving any bytes by making it s2.
More information about the hotspot-runtime-dev