RFR: 8295724: VirtualMachineError: Out of space in CodeCache for method handle intrinsic

Dean Long dlong at openjdk.org
Wed Nov 2 18:27:58 UTC 2022


On Tue, 1 Nov 2022 13:13:46 GMT, Martin Doerr <mdoerr at openjdk.org> wrote:

> This proposal prevents the VM from terminating unexpectedly in some rare cases (see JBS issue). It allows using NonNMethod code space for method handle intrinsics which are needed urgently if the other code cache spaces are full. There are other options (see JBS issue), but this one appears to be the simplest one.

I'm not sure this change is safe.  We never put nmethods into NonNMethod (see code_blob_type_accepts_nmethod() and CodeCache::is_non_nmethod()).  If we did, a lot of things could break, because NMethodIterator doesn't look in that heap for nmethods.  We might get away with it if method handle intrinsics don't have oops or inline caches, but it seems dangerous.  Also, this change only makes the failure harder to reproduce.  We could still run out of NonNMethod space, right?

-------------

PR: https://git.openjdk.org/jdk/pull/10933


More information about the hotspot-compiler-dev mailing list