JDK-8305898 : Alternative self-forwarding mechanism
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: gc
  • Priority: P4
  • Status: Open
  • Resolution: Unresolved
  • OS: generic
  • CPU: generic
  • Submitted: 2023-04-12
  • Updated: 2024-09-11
Related Reports
Relates :  
Description
Currently, the Serial, Parallel and G1 GCs store a pointer to self into object headers, when compaction fails, to indicate that the object has been looked at, but failed compaction into to-space. This is problematic for compact object headers (JDK-8294992) because it would (temporarily) over-write the crucial class information, which we need for heap parsing. I would like to propose an alternative: use the bit #3 (previously biased-locking bit) to indicate that an object is 'self-forwarded'. That preserves the crucial class information in the upper bits of the header until the full header gets restored.
Comments
A pull request was submitted for review. Branch: master URL: https://git.openjdk.org/jdk/pull/20603 Date: 2024-08-15 20:52:13 +0000
21-08-2024

A pull request was submitted for review. URL: https://git.openjdk.org/jdk/pull/17755 Date: 2024-02-07 18:33:00 +0000
07-02-2024

A pull request was submitted for review. URL: https://git.openjdk.org/jdk/pull/13779 Date: 2023-05-03 13:03:17 +0000
04-05-2023