[14] RFR (S): 8234923: Missed call_site_target nmethod dependency for non-fully initialized ConstantCallSite instance

Vladimir Ivanov vladimir.x.ivanov at oracle.com
Fri Nov 29 15:55:43 UTC 2019


http://cr.openjdk.java.net/~vlivanov/8234923/webrev.00/
https://bugs.openjdk.java.net/browse/JDK-8234923

The fix for 8234401 is incomplete: though it does notify the JVM about 
call site target update (by calling setTargetNormal [2]), on JVM side 
JITs skip nmethod dependencies for ConstantCallSites irrespective of 
whether they are fully initialized or not. So, affected nmethods aren't 
invalidated.

The fix is to make JITs aware about initialization status of 
ConstantCallSite instance by inspecting its isFrozen field and register 
proper nmethod dependency if a CallSite is being initialized.

Testing: tier1-6

Best regards,
Vladimir Ivanov

[1] 
https://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/2019-November/036019.html

[2] https://hg.openjdk.java.net/jdk/jdk/rev/a6e25566cb56#l1.26


More information about the hotspot-compiler-dev mailing list