Tiered compilation leads to "unloaded signature class" inlining failures in JRuby
Charles Oliver Nutter
headius at headius.com
Thu Sep 3 18:13:20 UTC 2020
OMG, it might be working...
On Thu, Sep 3, 2020 at 11:32 AM Charles Oliver Nutter
<headius at headius.com> wrote:
> I'm not sure I understand fully, but I'm now generously sprinkling
> class LDCs into my jitted methods' static initializers now. This seems
> like an incredibly onerous series of requirements just to load some
> dynamic code.
So I moved the Class.forName's out of the OneShot constructor and into
the static initializer (as LDC) in the jitted methods' classes. I went
ahead and loaded everything that is in the signatures in question.
https://gist.github.com/headius/6408b8392096d7932020870022374a9d
Running the original script, I no longer see "unloaded signature
class" warnings from PrintInlining, and as shown in the above gist I
eventually get the asm I expect!
But this is a hacky workaround, right? Do other frameworks that
dynamically generate code also have to do this aggressive classloading
within that generated code? This doesn't seem right, does it?
- Charlie
>
> - Charlie
More information about the hotspot-compiler-dev
mailing list