JDK-8206183 : Possible construct EMPTY_STACK and allocation stack, etc. on first use.
Type:Enhancement
Component:hotspot
Affected Version:11
Priority:P4
Status:Resolved
Resolution:Fixed
Submitted:2018-07-02
Updated:2018-07-26
Resolved:2018-07-11
The Version table provides details related to the release that this issue/RFE will be addressed.
Unresolved : Release in which this issue/RFE will be addressed. Resolved: Release in which this issue/RFE has been resolved. Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.
Martin has untested prototype:
http://mail.openjdk.java.net/pipermail/hotspot-runtime-dev/2018-July/028982.html
Comments
NMT has some code to workaround static initialization order, e.g. aggressively initialize EMPTY_STACK or declare allocation stack/site objects as static arrays to avoid being initialized by C runtime.
These workarounds seem that can be solved by using this construct on first use pattern.