Prioi to JDK-8342382, card-mark must be after store so that refine threads can see the new stored value on performing refinement. Hence the following method.
virtual bool card_mark_must_follow_store() const {
return true;
}
Nowadays, refine threads would handshake with mutators (`G1ConcurrentRefineSweepState::swap_java_threads_ct`) so that those stores are visible to refine threads.
virtual bool card_mark_must_follow_store() const {
return true;
}
Nowadays, refine threads would handshake with mutators (`G1ConcurrentRefineSweepState::swap_java_threads_ct`) so that those stores are visible to refine threads.
- links to
-
Commit(master)
openjdk/jdk/0a97bef8
-
Review(master)
openjdk/jdk/27794