RFR (XL): 8152664 - Support non-continuous CodeBlobs in HotSpot

Andrew Dinn adinn at redhat.com
Mon Apr 11 12:03:06 UTC 2016


Hi Volker,

Sorry for the delayed response.

On 08/04/16 19:12, Volker Simonis wrote:
> I found the problem why your change crashes the VM on ppc (and I'm
> pretty sure it will also crash on ARM - @Andrew, maybe you can try it
> out?). It is caused by the following code in address
> NativeCall::get_trampoline() which is also present on arm64:

I have not yet tried this out on AArch64.  However, I am sure it will
fail exactly as per ppc for precisely the same reasons.

IMHO the cleanest way to deal with this is to split the current code so
that construction and relocation happen as two separate stages. That
would require

  hiding the constructors (protected for non-leaf, private for leaf)

  providing (private virtual) relocate methods

  replacing the public API with create methods

The latter API would ensure construction and relocation always happen as
a single, atomic step. This will certainly be the easiest to maintain
(especially for anyone new to the code).

regards,


Andrew Dinn
-----------
Senior Principal Software Engineer
Red Hat UK Ltd
Registered in UK and Wales under Company Registration No. 3798903
Directors: Michael Cunningham (US), Michael O'Neill (Ireland), Paul
Argiry (US)


More information about the hotspot-dev mailing list