-
Task
-
Resolution: Fixed
-
P4
-
None
-
None
A review of https://github.com/openjdk/jdk/pull/20395 makes the suggestion:
My initial reaction was that we are breaking away from the invariant that "evac means evac: cset is not empty, there are forwarded objects", and generational hijacks evacuation for its promotional needs. In some sense, this is still valid: promotion young->old can be logically treated as "evacuation". Was this the intent?
I suggest introducing a local var: bool is_relocating_objects = !heap->collection_set()->is_empty(), an use it in this code.
My initial reaction was that we are breaking away from the invariant that "evac means evac: cset is not empty, there are forwarded objects", and generational hijacks evacuation for its promotional needs. In some sense, this is still valid: promotion young->old can be logically treated as "evacuation". Was this the intent?
I suggest introducing a local var: bool is_relocating_objects = !heap->collection_set()->is_empty(), an use it in this code.
- relates to
-
JDK-8341099 GenShen: assert(HAS_FWD == _heap->has_forwarded_objects()) failed: Forwarded object status is sane
-
- Resolved
-
- links to
-
Commit(master) openjdk/shenandoah-jdk21u/3d9f0abc
-
Commit(master) openjdk/shenandoah/fdd5ed99
-
Review(master) openjdk/shenandoah-jdk21u/105
-
Review(master) openjdk/shenandoah/503