RFR(M) 8166416: [AOT] Integrate JDK build changes and launcher 'jaotc' for AOT compiler
volker.simonis at gmail.com
Thu Oct 27 15:45:37 UTC 2016
On Thu, Oct 27, 2016 at 2:22 PM, Volker Simonis
<volker.simonis at gmail.com> wrote:
> currently libelf support is checked on every 64-bit Linux and Solaris
> platform (see lib-elf.m4):
> if ((test "x$OPENJDK_TARGET_OS" = "xlinux" \
> || test "x$OPENJDK_TARGET_OS" = "xsolaris") && \
> (test "x$OPENJDK_TARGET_CPU_BITS" = "x64")); then
> As far as I understand, this is only required for AOT and should
> therefore only be checked for if AOT is enabled. We could do something
> similar like for FFI (see libraries.m4):
> # Check if ffi is needed
> if HOTSPOT_CHECK_JVM_VARIANT(zero) ||
> HOTSPOT_CHECK_JVM_VARIANT(zeroshark); then
> And then test for "NEEDS_LIB_JELFSHIM" in lib-elf.m4 instead of
> testing for a specific platform.
> Otherwise we get ugly warning like:
> WARNING: Could not find libelf! Not building libjelfshim.so
And I think in the case where we compile for AOT, we should print the
usual, platform-dependent hints like for example:
libelf.so not found: try to run 'sudo apt-get install libelf-dev'
> during configuration if we are running on platforms without AOT
> support or if AOT support is switched of.
> On Thu, Oct 27, 2016 at 2:45 AM, Vladimir Kozlov
> <vladimir.kozlov at oracle.com> wrote:
>> AOT JEP:
>> Please, review build changes for AOT. Only Linux/x64 platform is supported.
>> 'jaotc' and AOT part of Hotspot will be build only on Linux/x64.
>> Changes include new 'jaotc' launcher, makefile changes to build
>> jdk.vm.compiler (Graal) and jdk.aot modules used by 'jaotc'.
>> Both modules sources are located in Hotspot: hotspot/src/jdk.aot and
>> 'jaotc' requires installed libelf package on a system to build native part
>> of 'jaotc'. It is used to generated AOT shared libraries (.so) as result of
>> AOT compilation.
>> Hotspot makefile changes will be pushed together with Hotspot AOT changes.
More information about the build-dev