On Tue, Aug 22, 2023 at 3:07 PM Jochen Theodorou <[email protected]> wrote: > Is there any possible circumstance in which the class Foo can now be > garbage collected? My assumption is no.
I can't speak to varhandles but this is very much like how JRuby handles all of our jitted Ruby methods and indy binding. Under normal circumstances, most Ruby methods get jit-compiled to bytecode lazily and loaded into a unique classloader each; that classloader is not rooted anywhere, so that if the Ruby method goes away, the jitted class can also go away. If the method was transient in the Ruby world (e.g. created on a "singleton" object that goes out of scope) but is still bound at a call site, it will not get garbage collected. We've actually had some "won't fix" bug reports about indy call sites rooting methods or classes that were called once (as is our expectation, not a bug). - Charlie _______________________________________________ mlvm-dev mailing list [email protected] https://mail.openjdk.org/mailman/listinfo/mlvm-dev
