Portability of compiled code

Ashutosh Mehra asmehra at redhat.com
Fri Dec 23 17:46:10 UTC 2022


Hello,

Early this year we were doing some experiments on portability of
checkpoints under project CRaC and prepared a document [0] on our findings.
We feel parts of it would be relevant under Project Leyden as well, as it
*may* enable ahead-of-time compilation in future (I know we are not there
yet!)

For the CRaC checkpoints, we found the code generated by C1/C2 compiler is
not always portable due to the use of architecture specific instructions.
The same would hold true in the context of AoT compilations as well.
To make the code portable C1/C2 compilers should be provided with a minimal
set of cpu features that they are allowed to exploit during codegen phase.
However, this can also negatively impact the performance of the generated
code as it would now not be utilizing all the features of the underlying
architecture.
So the performance may have to be traded for gaining portability.

If anyone has thoughts on this aspect of the problem, please share them.

[0] http://cr.openjdk.java.net/~heidinga/crac/Portability_of_checkpoints.pdf

- Ashutosh Mehra
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/leyden-dev/attachments/20221223/a5885efe/attachment.htm>


More information about the leyden-dev mailing list