Are the rules for stack allocation optimization less strict for HotSpot Java 9-13 ?
In Java 7 & Java 8 HotSpot stack allocation of objects (due to JVM optimization known as scalar object replacement) is possible but to achieve garbage free allocation on the thread stack a number of strict constraints must be fulfilled.
The rules to enable stack allocation optimization for Java 8 (HotSpot, OpenJDK 8) are summarized in splendid answer to this question: When can Hotspot allocate objects on the stack? and as for Java 7 here: Eligibility for escape analysis / stack allocation with Java 7
In this question I would like to find out what is the current state of EA & stack allocation optimization in newer JDK version ? Does other Java VMs (eg. OpenJ9) has different rules ?