RFR(S) 8218700: infinite loop in HotSpotJVMCIMetaAccessContext.fromClass after OutOfMemoryError
tom.rodriguez at oracle.com
Thu May 2 00:44:38 UTC 2019
You'll need to update your webrev after Vladimir's push. This code has
moved into HotSpootJVMCIRuntime.java.
Maybe WeakReferenceHolder instead of WeakTypeRef? It needs a comment
explaining that we're intentionally avoiding the use of
ClassValue.remove as well. Shouldn't the ref field be volatile?
ClassValue includes some barrier semantics and the new code needs
dean.long at oracle.com wrote on 4/26/19 12:09 PM:
> If we throw an OutOfMemoryError in the right place (see JDK-8222941),
> HotSpotJVMCIMetaAccessContext.fromClass can go into an infinite loop
> calling ClassValue.remove. To work around the problem, reset the value
> in a mutable cell instead of calling remove.
More information about the hotspot-compiler-dev