RFR (M): 8023033: PPC64 (part 13): basic changes for AIX
Lindenmaier, Goetz
goetz.lindenmaier at sap.com
Fri Aug 16 05:21:13 PDT 2013
Hi,
- I removed the throw()
- I removed the #ifndef in port.hpp
- I fixed the typeo.
http://cr.openjdk.java.net/~goetz/webrevs/8023033-aixShared-2/
I always build without precompiled headers, the nightbuild with
them.
Yes, there will be makefiles for aix, and the platform files. tTe prototype
patches are here
http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/file/9677ba28c6d8/ppc_patches/0014_aix_make_changes.patch
http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/file/9677ba28c6d8/ppc_patches/0015_aix_ppc_files.patch
But the make change contains mostly new files, except for
--- a/make/defs.make Tue Jul 23 21:07:11 2013 +0200
+++ b/make/defs.make Tue Jul 23 22:13:05 2013 +0200
@@ -166,11 +166,15 @@
HOST := $(shell uname -n)
endif
-# If not SunOS, not Linux and not BSD, assume Windows
+# If not SunOS, not Linux not BSD and not AIX, assume Windows
ifneq ($(OS), Linux)
ifneq ($(OS), SunOS)
ifneq ($(OS), bsd)
- OSNAME=windows
+ ifneq ($(OS), AIX)
+ OSNAME=windows
+ else
+ OSNAME=aix
+ endif
else
OSNAME=bsd
endif
Best regards,
Goetz
-----Original Message-----
From: Vladimir Kozlov [mailto:vladimir.kozlov at oracle.com]
Sent: Friday, August 16, 2013 7:21 AM
To: David Holmes
Cc: Lindenmaier, Goetz; 'ppc-aix-port-dev at openjdk.java.net'; 'hotspot-dev at openjdk.java.net'
Subject: Re: RFR (M): 8023033: PPC64 (part 13): basic changes for AIX
I thought trow() was added long time ago. But it was added, I think by accident, very recently:
http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/a7fb14888912
I missed it when I did the review of those changes.
We should remove throw.
Vladimir
On 8/15/13 5:14 PM, David Holmes wrote:
> On 16/08/2013 7:54 AM, Vladimir Kozlov wrote:
>> 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.
>
> Why do we have throw here:
>
> void* nmethod::operator new(size_t size, int nmethod_size) throw () {
> // Not critical, may return null if there is too little continuous memory
> return CodeCache::allocate(nmethod_size);
> }
>
> Seems to me it should be removed if anything.
>
> David
> -----
>
>>
>>>
>>> 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