RFR (M): 8023033: PPC64 (part 13): basic changes for AIX
Lindenmaier, Goetz
goetz.lindenmaier at sap.com
Thu Aug 15 14:32:00 PDT 2013
Hi Vladimir,
throw is needed because it`s there in the implementation in nmethod.cpp.
(So you are using it a bit at least :))
xlc says
"nmethod.cpp", line 802.7: 1540-0400 (S) "nmethod::operator new(size_t, int)" has a conflicting declaration.
"nmethod.hpp", line 268.9: 1540-0424 (I) "operator new" is declared on line 268 of "nmethod.hpp".
int64 is defined correctly, uint64 is not defined, but never used in hotspot.
I can not reproduce an error, but that's rather old coding from our VM.
We also switched from xlc8 to xlc10 in the course of this project.
I will test some more and talk to the person who implemented that tomorrow,
and if possible remove the change.
Best regards & thanks for the review,
Goetz.
-----Original Message-----
From: Vladimir Kozlov [mailto:vladimir.kozlov at oracle.com]
Sent: Thursday, August 15, 2013 5:52 PM
To: Lindenmaier, Goetz
Cc: 'hotspot-dev at openjdk.java.net'; ppc-aix-port-dev at openjdk.java.net; Albert Noll (albert.noll at oracle.com)
Subject: Re: RFR (M): 8023033: PPC64 (part 13): basic changes for AIX
Goetz,
I only see 2 problems which you did not explain:
nmethod.hpp. Why the next change? we don't use C++ exceptions:
- void* operator new(size_t size, int nmethod_size);
+ void* operator new(size_t size, int nmethod_size) throw ();
port.hpp. Did AIX has the same definitions for jlong and julong?:
+#ifndef _AIX
+// These conflict with /usr/include/sys/inttypes.h on aix.
typedef jlong int64; // Java long for my 64-bit type
typedef julong uint64; // Java long for my 64-bit type
+#endif
And of cause we need to test these changes with compilers we use.
Thanks,
Vladimir
On 8/15/13 5:10 AM, Lindenmaier, Goetz wrote:
> Hi,
>
> I prepared a webrev for
> 8023033: PPC64 (part 13): basic changes for AIX
> http://cr.openjdk.java.net/~goetz/webrevs/8023033-aixShared/
>
> This contains the basic shared changes needed for the AIX port,
> as there are
> - #includes
> - Fixes to get the code compiling with xlC/on AIX
> - Basic adaptions as in vm_version.cpp.
>
> It also determines the placement and naming of the aix files,
> which will go to os/aix and os_cpu/aix_ppc, as you can see in
> http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/file/9677ba28c6d8/src/os/aix/vm/
>
> Some details about the compilation problems:
>
> relocInfo.hpp:
> xlC wants initialization in inline implementation.
>
> vmreg.hpp:
> BAD is defined in AIX system header sys/param.h. Renamed.
>
> allocation.hpp
> xlC complains:
> runtime/mutexLocker.hpp", line 192.3: 1540-0300 (S) The "private" member "StackObj::operator delete(void *)" cannot be accessed.
>
> sharedRuntimeTrig.cpp
> Aix defines hz to be 100, see sys/m_param.h. Renamed.
>
> debug.hpp
> With other include order we get a lot of
> memory/metaspace.hpp", line 281.66: 1540-0130 (S) "PRIuPTR" is not declared.
>
>
> Please review and test this change. Comments are welcome.
>
> Thanks and best regards,
> Goetz.
>
More information about the ppc-aix-port-dev
mailing list