RFR(M): 8024342: PPC64 (part 111): Support for C calling conventions that require 64-bit ints.
goetz.lindenmaier at sap.com
Mon Sep 9 01:42:36 PDT 2013
This is the first of about 10 changes taking us to a rudimentary c2 compiler on ppc64.
Some platforms, as ppc and s390x/zArch require that 32-bit ints are passed as 64-bit values to C functions. This change adds support to adapt the signature and to issue proper casts to c2-compiled stubs. The functions are used in generate_native_wrapper(). We also need to adapt the signature in PhaseIdealLoop::intrinsify_fill().
We add a function c_calling_convention_requires_ints_as_longs() to the platform files of sharedRuntime, with
enables this feature on ppc. All other shared changes depend on this function. The code should not affect the existing
platforms. The usage of the code is already visible in the sharedRuntime_ppc64 file in the staging repository (protected by
ifdef COMPILER2). See http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/file/bdd155477289/src/cpu/ppc/vm/sharedRuntime_ppc.cpp
line 1752 ff.
Please review and test this change.
More information about the hotspot-dev