RFR (M): 8023033: PPC64 (part 13): basic changes for AIX

Vladimir Kozlov vladimir.kozlov at oracle.com
Thu Aug 15 14:54:12 PDT 2013


On 8/15/13 2:32 PM, Lindenmaier, Goetz wrote:
> 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".

Okay, it is just declaration.

>
> 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.

Okay, I will test it also.

Vladimir

>
> 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 hotspot-dev mailing list