Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8203536 | 11.0.1 | Per Liden | P4 | Resolved | Fixed | team |
Add ThreadLocalAllocBuffer::undo_allocate() to undo the allocation made by the last call to ThreadLocalAllocBuffer::allocate().
In ZGC, when a Java thread relocates an object it can use its current TLAB for the new object allocation. However, a relocation can later fail, if some other thread won the race to update the forwarding information. In those cases, the loosing thread wants to undo its last TLAB allocation. This is very similar to PLAB::undo_allocation(), which does the same thing but for PLABs.
In ZGC, when a Java thread relocates an object it can use its current TLAB for the new object allocation. However, a relocation can later fail, if some other thread won the race to update the forwarding information. In those cases, the loosing thread wants to undo its last TLAB allocation. This is very similar to PLAB::undo_allocation(), which does the same thing but for PLABs.
- backported by
-
JDK-8203536 Add support for undoing last TLAB allocation
-
- Resolved
-