On Mon, 14 Sep 2020 20:21:23 GMT, Daniel D. Daugherty <dcu...@openjdk.org> wrote:
>> 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? > > See this comment from Coleen and the replies: > https://github.com/openjdk/jdk/pull/135#discussion_r487300636 > > Please let me know if that resolved this comment for you. Sorry, no. Maybe it's too late here and I shall think about it tomorrow morning instead ;-) Or maybe you can explain it again in the context of that change. How's the assert even relevant when moved in the else-branch? ------------- PR: https://git.openjdk.java.net/jdk/pull/135