RFR: 8247281: migrate ObjectMonitor::_object to OopStorage [v4]
Roman Kennke
rkennke at openjdk.java.net
Mon Sep 14 20:18:38 UTC 2020
On Mon, 14 Sep 2020 18:55:38 GMT, Daniel D. Daugherty <dcubed at openjdk.org> wrote:
>> This RFE is to migrate the following field to OopStorage:
>>
>> class ObjectMonitor {
>> <snip>
>> void* volatile _object; // backward object pointer - strong root
>>
>> Unlike the previous patches in this series, there are a lot of collateral
>> changes so this is not a trivial review. Sorry for the tedious parts of
>> the review. Since Erik and I are both contributors to this patch, we
>> would like at least 1 GC team reviewer and 1 Runtime team reviewer.
>>
>> This changeset was tested with Mach5 Tier[1-3],4,5,6,7,8 testing
>> along with JDK-8252980 and JDK-8252981. I also ran it through my
>> inflation stress kit for 48 hours on my Linux-X64 machine.
>
> Daniel D. Daugherty has updated the pull request incrementally with one additional commit since the last revision:
>
> kimbarrett CR - made minor changes to address Kim's code review.
src/hotspot/share/gc/shared/space.inline.hpp line 176:
> 174: assert(!space->scanned_block_is_obj(cur_obj) || oop(cur_obj)->mark_raw().is_unlocked() ||
> 175: oop(cur_obj)->mark_raw().has_bias_pattern() || oop(cur_obj)->mark_raw().has_monitor(),
> 176: "these are the only valid states during a mark sweep");
Is this change related? Also, when moving the assert into the else block it will become always-true because of
space->scanned_block_is_obj(cur_obj), or am I missing something?
-------------
PR: https://git.openjdk.java.net/jdk/pull/135
More information about the hotspot-runtime-dev
mailing list