The liveness/remembered set verification code needs serious cleanup and improvements to robustness.
- the previous potential separate use of liveness and remembered set verification made the code a bit more complicated than necessary; now that remembered set verification always follows liveness verification, the code can assume that.
- lots of code duplication wrt to the code checking whether there were already enough failures to bail out
- factored out a special `is_oop_safe` method that is particularly careful about accessing the klass of the potentially bad object
- specialized the G1Mux2Closure in its single use to make the code clearer
- removed lots of unused variables that were assigned once but never actually used
- CollectedHeap::is_oop() should use `klass_raw` because otherwise it will immediately assert on oops with garbage klasses (but obviously still return `false` in this case).
- the previous potential separate use of liveness and remembered set verification made the code a bit more complicated than necessary; now that remembered set verification always follows liveness verification, the code can assume that.
- lots of code duplication wrt to the code checking whether there were already enough failures to bail out
- factored out a special `is_oop_safe` method that is particularly careful about accessing the klass of the potentially bad object
- specialized the G1Mux2Closure in its single use to make the code clearer
- removed lots of unused variables that were assigned once but never actually used
- CollectedHeap::is_oop() should use `klass_raw` because otherwise it will immediately assert on oops with garbage klasses (but obviously still return `false` in this case).
- blocks
-
JDK-8303013 Always do remembered set verification during G1 Full GC
-
- Resolved
-
- is blocked by
-
JDK-8302975 Remove redundant mark verification during G1 Full GC
-
- Resolved
-
- relates to
-
JDK-8303084 G1 Heap region liveness verification has inverted return value
-
- Resolved
-
-
JDK-8303344 After JDK-8302760, G1 heap verification does not exit VM after errors
-
- Resolved
-
-
JDK-8303334 Further improve liveness/remembered set verification for G1
-
- Resolved
-
(2 links to)