Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8045273 | 8u25 | Per Liden | P4 | Resolved | Fixed | b01 |
JDK-8038230 | 8u20 | Per Liden | P4 | Resolved | Fixed | b08 |
JDK-8053273 | emb-8u26 | Per Liden | P4 | Resolved | Fixed | b17 |
In G1ParScanThreadState::copy_to_survivor_space(), alloc_purpose is just seen as a hint to allocate(). E.g. a request for an allocation in survivor region might end up being an allocation in an old region (if we're out of survivor regions). However, the alloc_purpose flags is later also used (incorrectly) to determine where the object was actually allocated to 1) determine if the object age should be adjusted and 2) for undoing the allocation.
After the object has been allocated the alloc_purpose flags should be updated to reflect the actual location of the object.
After the object has been allocated the alloc_purpose flags should be updated to reflect the actual location of the object.
- backported by
-
JDK-8038230 G1: alloc_purpose in copy_to_survivor_space() used incorrectly
- Resolved
-
JDK-8045273 G1: alloc_purpose in copy_to_survivor_space() used incorrectly
- Resolved
-
JDK-8053273 G1: alloc_purpose in copy_to_survivor_space() used incorrectly
- Resolved
- blocks
-
JDK-8029075 String deduplication in G1
- Resolved