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

Thu, 22 Aug 2013 09:39:54 -0700

author
goetz
date
Thu, 22 Aug 2013 09:39:54 -0700
changeset 6461
bdd155477289
parent 6460
f42f2e2a1518
child 6462
e2722a66aba7

8023033: PPC64 (part 13): basic changes for AIX
Summary: Added AIX includes alpha-sorted before BSD. Fix compilation issues with xlC in shared code. Basic shared platform dependend adaption (vm_version etc.).
Reviewed-by: kvn, dholmes, stefank

src/os/posix/vm/os_posix.cpp file | annotate | diff | comparison | revisions
src/share/vm/c1/c1_globals.hpp file | annotate | diff | comparison | revisions
src/share/vm/classfile/classLoader.cpp file | annotate | diff | comparison | revisions
src/share/vm/code/nmethod.cpp file | annotate | diff | comparison | revisions
src/share/vm/code/relocInfo.hpp file | annotate | diff | comparison | revisions
src/share/vm/code/stubs.hpp file | annotate | diff | comparison | revisions
src/share/vm/code/vmreg.hpp file | annotate | diff | comparison | revisions
src/share/vm/compiler/disassembler.hpp file | annotate | diff | comparison | revisions
src/share/vm/gc_implementation/concurrentMarkSweep/adaptiveFreeList.cpp file | annotate | diff | comparison | revisions
src/share/vm/gc_implementation/concurrentMarkSweep/cmsAdaptiveSizePolicy.cpp file | annotate | diff | comparison | revisions
src/share/vm/gc_implementation/parallelScavenge/parMarkBitMap.cpp file | annotate | diff | comparison | revisions
src/share/vm/gc_implementation/parallelScavenge/psVirtualspace.cpp file | annotate | diff | comparison | revisions
src/share/vm/interpreter/bytecodeInterpreter.cpp file | annotate | diff | comparison | revisions
src/share/vm/libadt/port.hpp file | annotate | diff | comparison | revisions
src/share/vm/memory/allocation.cpp file | annotate | diff | comparison | revisions
src/share/vm/memory/allocation.hpp file | annotate | diff | comparison | revisions
src/share/vm/memory/space.hpp file | annotate | diff | comparison | revisions
src/share/vm/memory/universe.cpp file | annotate | diff | comparison | revisions
src/share/vm/oops/typeArrayOop.hpp file | annotate | diff | comparison | revisions
src/share/vm/opto/c2_globals.hpp file | annotate | diff | comparison | revisions
src/share/vm/prims/jvm.cpp file | annotate | diff | comparison | revisions
src/share/vm/prims/jvm.h file | annotate | diff | comparison | revisions
src/share/vm/prims/nativeLookup.cpp file | annotate | diff | comparison | revisions
src/share/vm/runtime/arguments.cpp file | annotate | diff | comparison | revisions
src/share/vm/runtime/atomic.cpp file | annotate | diff | comparison | revisions
src/share/vm/runtime/atomic.inline.hpp file | annotate | diff | comparison | revisions
src/share/vm/runtime/globals.hpp file | annotate | diff | comparison | revisions
src/share/vm/runtime/interfaceSupport.hpp file | annotate | diff | comparison | revisions
src/share/vm/runtime/javaFrameAnchor.hpp file | annotate | diff | comparison | revisions
src/share/vm/runtime/mutexLocker.hpp file | annotate | diff | comparison | revisions
src/share/vm/runtime/os.hpp file | annotate | diff | comparison | revisions
src/share/vm/runtime/osThread.hpp file | annotate | diff | comparison | revisions
src/share/vm/runtime/sharedRuntimeTrans.cpp file | annotate | diff | comparison | revisions
src/share/vm/runtime/sharedRuntimeTrig.cpp file | annotate | diff | comparison | revisions
src/share/vm/runtime/thread.hpp file | annotate | diff | comparison | revisions
src/share/vm/runtime/thread.inline.hpp file | annotate | diff | comparison | revisions
src/share/vm/runtime/threadLocalStorage.hpp file | annotate | diff | comparison | revisions
src/share/vm/runtime/timer.cpp file | annotate | diff | comparison | revisions
src/share/vm/runtime/virtualspace.cpp file | annotate | diff | comparison | revisions
src/share/vm/runtime/vmStructs.cpp file | annotate | diff | comparison | revisions
src/share/vm/runtime/vm_version.cpp file | annotate | diff | comparison | revisions
src/share/vm/utilities/accessFlags.cpp file | annotate | diff | comparison | revisions
src/share/vm/utilities/bitMap.cpp file | annotate | diff | comparison | revisions
src/share/vm/utilities/debug.hpp file | annotate | diff | comparison | revisions
src/share/vm/utilities/decoder.cpp file | annotate | diff | comparison | revisions
src/share/vm/utilities/globalDefinitions.hpp file | annotate | diff | comparison | revisions
src/share/vm/utilities/histogram.hpp file | annotate | diff | comparison | revisions
src/share/vm/utilities/macros.hpp file | annotate | diff | comparison | revisions
src/share/vm/utilities/ostream.cpp file | annotate | diff | comparison | revisions
src/share/vm/utilities/resourceHash.hpp file | annotate | diff | comparison | revisions
src/share/vm/utilities/taskqueue.hpp file | annotate | diff | comparison | revisions
     1.1 --- a/src/os/posix/vm/os_posix.cpp	Fri Jul 26 00:59:18 2013 +0200
     1.2 +++ b/src/os/posix/vm/os_posix.cpp	Thu Aug 22 09:39:54 2013 -0700
     1.3 @@ -165,7 +165,7 @@
     1.4    else st->print("%uk", rlim.rlim_cur >> 10);
     1.5  
     1.6    // Isn't there on solaris
     1.7 -#ifndef TARGET_OS_FAMILY_solaris
     1.8 +#if! defined(TARGET_OS_FAMILY_solaris) && !defined(TARGET_OS_FAMILY_aix)
     1.9    st->print(", NPROC ");
    1.10    getrlimit(RLIMIT_NPROC, &rlim);
    1.11    if (rlim.rlim_cur == RLIM_INFINITY) st->print("infinity");
    1.12 @@ -487,7 +487,7 @@
    1.13  #define NUM_IMPORTANT_SIGS 32
    1.14  // Returns one-line short description of a signal set in a user provided buffer.
    1.15  const char* os::Posix::describe_signal_set_short(const sigset_t* set, char* buffer, size_t buf_size) {
    1.16 -  assert(buf_size = (NUM_IMPORTANT_SIGS + 1), "wrong buffer size");
    1.17 +  assert(buf_size == (NUM_IMPORTANT_SIGS + 1), "wrong buffer size");
    1.18    // Note: for shortness, just print out the first 32. That should
    1.19    // cover most of the useful ones, apart from realtime signals.
    1.20    for (int sig = 1; sig <= NUM_IMPORTANT_SIGS; sig++) {
     2.1 --- a/src/share/vm/c1/c1_globals.hpp	Fri Jul 26 00:59:18 2013 +0200
     2.2 +++ b/src/share/vm/c1/c1_globals.hpp	Thu Aug 22 09:39:54 2013 -0700
     2.3 @@ -47,6 +47,9 @@
     2.4  #ifdef TARGET_OS_FAMILY_windows
     2.5  # include "c1_globals_windows.hpp"
     2.6  #endif
     2.7 +#ifdef TARGET_OS_FAMILY_aix
     2.8 +# include "c1_globals_aix.hpp"
     2.9 +#endif
    2.10  #ifdef TARGET_OS_FAMILY_bsd
    2.11  # include "c1_globals_bsd.hpp"
    2.12  #endif
     3.1 --- a/src/share/vm/classfile/classLoader.cpp	Fri Jul 26 00:59:18 2013 +0200
     3.2 +++ b/src/share/vm/classfile/classLoader.cpp	Thu Aug 22 09:39:54 2013 -0700
     3.3 @@ -68,6 +68,9 @@
     3.4  #ifdef TARGET_OS_FAMILY_windows
     3.5  # include "os_windows.inline.hpp"
     3.6  #endif
     3.7 +#ifdef TARGET_OS_FAMILY_aix
     3.8 +# include "os_aix.inline.hpp"
     3.9 +#endif
    3.10  #ifdef TARGET_OS_FAMILY_bsd
    3.11  # include "os_bsd.inline.hpp"
    3.12  #endif
     4.1 --- a/src/share/vm/code/nmethod.cpp	Fri Jul 26 00:59:18 2013 +0200
     4.2 +++ b/src/share/vm/code/nmethod.cpp	Thu Aug 22 09:39:54 2013 -0700
     4.3 @@ -799,7 +799,7 @@
     4.4  }
     4.5  #endif // def HAVE_DTRACE_H
     4.6  
     4.7 -void* nmethod::operator new(size_t size, int nmethod_size) throw () {
     4.8 +void* nmethod::operator new(size_t size, int nmethod_size) {
     4.9    // Not critical, may return null if there is too little continuous memory
    4.10    return CodeCache::allocate(nmethod_size);
    4.11  }
     5.1 --- a/src/share/vm/code/relocInfo.hpp	Fri Jul 26 00:59:18 2013 +0200
     5.2 +++ b/src/share/vm/code/relocInfo.hpp	Thu Aug 22 09:39:54 2013 -0700
     5.3 @@ -365,7 +365,7 @@
     5.4    // "immediate" in the prefix header word itself.  This optimization
     5.5    // is invisible outside this module.)
     5.6  
     5.7 -  inline friend relocInfo prefix_relocInfo(int datalen = 0);
     5.8 +  inline friend relocInfo prefix_relocInfo(int datalen);
     5.9  
    5.10   protected:
    5.11    // an immediate relocInfo optimizes a prefix with one 10-bit unsigned value
    5.12 @@ -460,7 +460,7 @@
    5.13    return relocInfo(relocInfo::none, relocInfo::offset_limit() - relocInfo::offset_unit);
    5.14  }
    5.15  
    5.16 -inline relocInfo prefix_relocInfo(int datalen) {
    5.17 +inline relocInfo prefix_relocInfo(int datalen = 0) {
    5.18    assert(relocInfo::fits_into_immediate(datalen), "datalen in limits");
    5.19    return relocInfo(relocInfo::data_prefix_tag, relocInfo::RAW_BITS, relocInfo::datalen_tag | datalen);
    5.20  }
     6.1 --- a/src/share/vm/code/stubs.hpp	Fri Jul 26 00:59:18 2013 +0200
     6.2 +++ b/src/share/vm/code/stubs.hpp	Thu Aug 22 09:39:54 2013 -0700
     6.3 @@ -36,6 +36,9 @@
     6.4  #ifdef TARGET_OS_FAMILY_windows
     6.5  # include "os_windows.inline.hpp"
     6.6  #endif
     6.7 +#ifdef TARGET_OS_FAMILY_aix
     6.8 +# include "os_aix.inline.hpp"
     6.9 +#endif
    6.10  #ifdef TARGET_OS_FAMILY_bsd
    6.11  # include "os_bsd.inline.hpp"
    6.12  #endif
     7.1 --- a/src/share/vm/code/vmreg.hpp	Fri Jul 26 00:59:18 2013 +0200
     7.2 +++ b/src/share/vm/code/vmreg.hpp	Thu Aug 22 09:39:54 2013 -0700
     7.3 @@ -73,7 +73,7 @@
     7.4  // friend class Location;
     7.5  private:
     7.6    enum {
     7.7 -    BAD = -1
     7.8 +    BAD_REG = -1
     7.9    };
    7.10  
    7.11  
    7.12 @@ -86,7 +86,7 @@
    7.13  
    7.14  public:
    7.15  
    7.16 -  static VMReg  as_VMReg(int val, bool bad_ok = false) { assert(val > BAD || bad_ok, "invalid"); return (VMReg) (intptr_t) val; }
    7.17 +  static VMReg  as_VMReg(int val, bool bad_ok = false) { assert(val > BAD_REG || bad_ok, "invalid"); return (VMReg) (intptr_t) val; }
    7.18  
    7.19    const char*  name() {
    7.20      if (is_reg()) {
    7.21 @@ -98,8 +98,8 @@
    7.22        return "STACKED REG";
    7.23      }
    7.24    }
    7.25 -  static VMReg Bad() { return (VMReg) (intptr_t) BAD; }
    7.26 -  bool is_valid() const { return ((intptr_t) this) != BAD; }
    7.27 +  static VMReg Bad() { return (VMReg) (intptr_t) BAD_REG; }
    7.28 +  bool is_valid() const { return ((intptr_t) this) != BAD_REG; }
    7.29    bool is_stack() const { return (intptr_t) this >= (intptr_t) stack0; }
    7.30    bool is_reg()   const { return is_valid() && !is_stack(); }
    7.31  
     8.1 --- a/src/share/vm/compiler/disassembler.hpp	Fri Jul 26 00:59:18 2013 +0200
     8.2 +++ b/src/share/vm/compiler/disassembler.hpp	Thu Aug 22 09:39:54 2013 -0700
     8.3 @@ -36,6 +36,9 @@
     8.4  #ifdef TARGET_OS_FAMILY_windows
     8.5  # include "os_windows.inline.hpp"
     8.6  #endif
     8.7 +#ifdef TARGET_OS_FAMILY_aix
     8.8 +# include "os_aix.inline.hpp"
     8.9 +#endif
    8.10  #ifdef TARGET_OS_FAMILY_bsd
    8.11  # include "os_bsd.inline.hpp"
    8.12  #endif
     9.1 --- a/src/share/vm/gc_implementation/concurrentMarkSweep/adaptiveFreeList.cpp	Fri Jul 26 00:59:18 2013 +0200
     9.2 +++ b/src/share/vm/gc_implementation/concurrentMarkSweep/adaptiveFreeList.cpp	Thu Aug 22 09:39:54 2013 -0700
     9.3 @@ -122,7 +122,7 @@
     9.4  
     9.5  template <class Chunk>
     9.6  void AdaptiveFreeList<Chunk>::return_chunk_at_tail(Chunk* chunk) {
     9.7 -  return_chunk_at_tail(chunk, true);
     9.8 +  AdaptiveFreeList<Chunk>::return_chunk_at_tail(chunk, true);
     9.9  }
    9.10  
    9.11  template <class Chunk>
    10.1 --- a/src/share/vm/gc_implementation/concurrentMarkSweep/cmsAdaptiveSizePolicy.cpp	Fri Jul 26 00:59:18 2013 +0200
    10.2 +++ b/src/share/vm/gc_implementation/concurrentMarkSweep/cmsAdaptiveSizePolicy.cpp	Thu Aug 22 09:39:54 2013 -0700
    10.3 @@ -37,6 +37,9 @@
    10.4  #ifdef TARGET_OS_FAMILY_windows
    10.5  # include "os_windows.inline.hpp"
    10.6  #endif
    10.7 +#ifdef TARGET_OS_FAMILY_aix
    10.8 +# include "os_aix.inline.hpp"
    10.9 +#endif
   10.10  #ifdef TARGET_OS_FAMILY_bsd
   10.11  # include "os_bsd.inline.hpp"
   10.12  #endif
    11.1 --- a/src/share/vm/gc_implementation/parallelScavenge/parMarkBitMap.cpp	Fri Jul 26 00:59:18 2013 +0200
    11.2 +++ b/src/share/vm/gc_implementation/parallelScavenge/parMarkBitMap.cpp	Thu Aug 22 09:39:54 2013 -0700
    11.3 @@ -38,6 +38,9 @@
    11.4  #ifdef TARGET_OS_FAMILY_windows
    11.5  # include "os_windows.inline.hpp"
    11.6  #endif
    11.7 +#ifdef TARGET_OS_FAMILY_aix
    11.8 +# include "os_aix.inline.hpp"
    11.9 +#endif
   11.10  #ifdef TARGET_OS_FAMILY_bsd
   11.11  # include "os_bsd.inline.hpp"
   11.12  #endif
    12.1 --- a/src/share/vm/gc_implementation/parallelScavenge/psVirtualspace.cpp	Fri Jul 26 00:59:18 2013 +0200
    12.2 +++ b/src/share/vm/gc_implementation/parallelScavenge/psVirtualspace.cpp	Thu Aug 22 09:39:54 2013 -0700
    12.3 @@ -35,6 +35,9 @@
    12.4  #ifdef TARGET_OS_FAMILY_windows
    12.5  # include "os_windows.inline.hpp"
    12.6  #endif
    12.7 +#ifdef TARGET_OS_FAMILY_aix
    12.8 +# include "os_aix.inline.hpp"
    12.9 +#endif
   12.10  #ifdef TARGET_OS_FAMILY_bsd
   12.11  # include "os_bsd.inline.hpp"
   12.12  #endif
    13.1 --- a/src/share/vm/interpreter/bytecodeInterpreter.cpp	Fri Jul 26 00:59:18 2013 +0200
    13.2 +++ b/src/share/vm/interpreter/bytecodeInterpreter.cpp	Thu Aug 22 09:39:54 2013 -0700
    13.3 @@ -67,6 +67,9 @@
    13.4  #ifdef TARGET_OS_ARCH_linux_ppc
    13.5  # include "orderAccess_linux_ppc.inline.hpp"
    13.6  #endif
    13.7 +#ifdef TARGET_OS_ARCH_aix_ppc
    13.8 +# include "orderAccess_aix_ppc.inline.hpp"
    13.9 +#endif
   13.10  #ifdef TARGET_OS_ARCH_bsd_x86
   13.11  # include "orderAccess_bsd_x86.inline.hpp"
   13.12  #endif
    14.1 --- a/src/share/vm/libadt/port.hpp	Fri Jul 26 00:59:18 2013 +0200
    14.2 +++ b/src/share/vm/libadt/port.hpp	Thu Aug 22 09:39:54 2013 -0700
    14.3 @@ -91,8 +91,6 @@
    14.4  #define IMPLEMENTATION
    14.5  #include <stdlib.h>
    14.6  #include <memory.h>
    14.7 -inline int min( int a, int b) { return a < b ? a : b; }
    14.8 -inline int max( int a, int b) { return a > b ? a : b; }
    14.9  
   14.10  #elif defined(_MSC_VER)
   14.11  // Microsoft Visual C++
    15.1 --- a/src/share/vm/memory/allocation.cpp	Fri Jul 26 00:59:18 2013 +0200
    15.2 +++ b/src/share/vm/memory/allocation.cpp	Thu Aug 22 09:39:54 2013 -0700
    15.3 @@ -45,6 +45,9 @@
    15.4  #ifdef TARGET_OS_FAMILY_windows
    15.5  # include "os_windows.inline.hpp"
    15.6  #endif
    15.7 +#ifdef TARGET_OS_FAMILY_aix
    15.8 +# include "os_aix.inline.hpp"
    15.9 +#endif
   15.10  #ifdef TARGET_OS_FAMILY_bsd
   15.11  # include "os_bsd.inline.hpp"
   15.12  #endif
    16.1 --- a/src/share/vm/memory/allocation.hpp	Fri Jul 26 00:59:18 2013 +0200
    16.2 +++ b/src/share/vm/memory/allocation.hpp	Thu Aug 22 09:39:54 2013 -0700
    16.3 @@ -220,8 +220,11 @@
    16.4  class StackObj ALLOCATION_SUPER_CLASS_SPEC {
    16.5   private:
    16.6    void* operator new(size_t size);
    16.7 +  void* operator new [](size_t size);
    16.8 +#ifdef __IBMCPP__
    16.9 + public:
   16.10 +#endif
   16.11    void  operator delete(void* p);
   16.12 -  void* operator new [](size_t size);
   16.13    void  operator delete [](void* p);
   16.14  };
   16.15  
    17.1 --- a/src/share/vm/memory/space.hpp	Fri Jul 26 00:59:18 2013 +0200
    17.2 +++ b/src/share/vm/memory/space.hpp	Thu Aug 22 09:39:54 2013 -0700
    17.3 @@ -45,6 +45,9 @@
    17.4  #ifdef TARGET_OS_FAMILY_windows
    17.5  # include "os_windows.inline.hpp"
    17.6  #endif
    17.7 +#ifdef TARGET_OS_FAMILY_aix
    17.8 +# include "os_aix.inline.hpp"
    17.9 +#endif
   17.10  #ifdef TARGET_OS_FAMILY_bsd
   17.11  # include "os_bsd.inline.hpp"
   17.12  #endif
    18.1 --- a/src/share/vm/memory/universe.cpp	Fri Jul 26 00:59:18 2013 +0200
    18.2 +++ b/src/share/vm/memory/universe.cpp	Thu Aug 22 09:39:54 2013 -0700
    18.3 @@ -747,7 +747,7 @@
    18.4        // the correct no-access prefix.
    18.5        // The final value will be set in initialize_heap() below.
    18.6        Universe::set_narrow_oop_base((address)NarrowOopHeapMax);
    18.7 -#ifdef _WIN64
    18.8 +#if defined(_WIN64) || defined(AIX)
    18.9        if (UseLargePages) {
   18.10          // Cannot allocate guard pages for implicit checks in indexed
   18.11          // addressing mode when large pages are specified on windows.
   18.12 @@ -825,6 +825,11 @@
   18.13        // Can't reserve heap below 32Gb.
   18.14        // keep the Universe::narrow_oop_base() set in Universe::reserve_heap()
   18.15        Universe::set_narrow_oop_shift(LogMinObjAlignmentInBytes);
   18.16 +#ifdef AIX
   18.17 +      // There is no protected page before the heap. This assures all oops
   18.18 +      // are decoded so that NULL is preserved, so this page will not be accessed.
   18.19 +      Universe::set_narrow_oop_use_implicit_null_checks(false);
   18.20 +#endif
   18.21        if (verbose) {
   18.22          tty->print(", %s: "PTR_FORMAT,
   18.23              narrow_oop_mode_to_string(HeapBasedNarrowOop),
    19.1 --- a/src/share/vm/oops/typeArrayOop.hpp	Fri Jul 26 00:59:18 2013 +0200
    19.2 +++ b/src/share/vm/oops/typeArrayOop.hpp	Thu Aug 22 09:39:54 2013 -0700
    19.3 @@ -51,6 +51,9 @@
    19.4  #ifdef TARGET_OS_ARCH_linux_ppc
    19.5  # include "orderAccess_linux_ppc.inline.hpp"
    19.6  #endif
    19.7 +#ifdef TARGET_OS_ARCH_aix_ppc
    19.8 +# include "orderAccess_aix_ppc.inline.hpp"
    19.9 +#endif
   19.10  #ifdef TARGET_OS_ARCH_bsd_x86
   19.11  # include "orderAccess_bsd_x86.inline.hpp"
   19.12  #endif
    20.1 --- a/src/share/vm/opto/c2_globals.hpp	Fri Jul 26 00:59:18 2013 +0200
    20.2 +++ b/src/share/vm/opto/c2_globals.hpp	Thu Aug 22 09:39:54 2013 -0700
    20.3 @@ -47,6 +47,9 @@
    20.4  #ifdef TARGET_OS_FAMILY_windows
    20.5  # include "c2_globals_windows.hpp"
    20.6  #endif
    20.7 +#ifdef TARGET_OS_FAMILY_aix
    20.8 +# include "c2_globals_aix.hpp"
    20.9 +#endif
   20.10  #ifdef TARGET_OS_FAMILY_bsd
   20.11  # include "c2_globals_bsd.hpp"
   20.12  #endif
    21.1 --- a/src/share/vm/prims/jvm.cpp	Fri Jul 26 00:59:18 2013 +0200
    21.2 +++ b/src/share/vm/prims/jvm.cpp	Thu Aug 22 09:39:54 2013 -0700
    21.3 @@ -76,6 +76,9 @@
    21.4  #ifdef TARGET_OS_FAMILY_windows
    21.5  # include "jvm_windows.h"
    21.6  #endif
    21.7 +#ifdef TARGET_OS_FAMILY_aix
    21.8 +# include "jvm_aix.h"
    21.9 +#endif
   21.10  #ifdef TARGET_OS_FAMILY_bsd
   21.11  # include "jvm_bsd.h"
   21.12  #endif
    22.1 --- a/src/share/vm/prims/jvm.h	Fri Jul 26 00:59:18 2013 +0200
    22.2 +++ b/src/share/vm/prims/jvm.h	Thu Aug 22 09:39:54 2013 -0700
    22.3 @@ -35,6 +35,9 @@
    22.4  #ifdef TARGET_OS_FAMILY_windows
    22.5  # include "jvm_windows.h"
    22.6  #endif
    22.7 +#ifdef TARGET_OS_FAMILY_aix
    22.8 +# include "jvm_aix.h"
    22.9 +#endif
   22.10  #ifdef TARGET_OS_FAMILY_bsd
   22.11  # include "jvm_bsd.h"
   22.12  #endif
    23.1 --- a/src/share/vm/prims/nativeLookup.cpp	Fri Jul 26 00:59:18 2013 +0200
    23.2 +++ b/src/share/vm/prims/nativeLookup.cpp	Thu Aug 22 09:39:54 2013 -0700
    23.3 @@ -50,6 +50,9 @@
    23.4  #ifdef TARGET_OS_FAMILY_windows
    23.5  # include "os_windows.inline.hpp"
    23.6  #endif
    23.7 +#ifdef TARGET_OS_FAMILY_aix
    23.8 +# include "os_aix.inline.hpp"
    23.9 +#endif
   23.10  #ifdef TARGET_OS_FAMILY_bsd
   23.11  # include "os_bsd.inline.hpp"
   23.12  #endif
    24.1 --- a/src/share/vm/runtime/arguments.cpp	Fri Jul 26 00:59:18 2013 +0200
    24.2 +++ b/src/share/vm/runtime/arguments.cpp	Thu Aug 22 09:39:54 2013 -0700
    24.3 @@ -49,6 +49,9 @@
    24.4  #ifdef TARGET_OS_FAMILY_windows
    24.5  # include "os_windows.inline.hpp"
    24.6  #endif
    24.7 +#ifdef TARGET_OS_FAMILY_aix
    24.8 +# include "os_aix.inline.hpp"
    24.9 +#endif
   24.10  #ifdef TARGET_OS_FAMILY_bsd
   24.11  # include "os_bsd.inline.hpp"
   24.12  #endif
    25.1 --- a/src/share/vm/runtime/atomic.cpp	Fri Jul 26 00:59:18 2013 +0200
    25.2 +++ b/src/share/vm/runtime/atomic.cpp	Thu Aug 22 09:39:54 2013 -0700
    25.3 @@ -33,6 +33,9 @@
    25.4  #ifdef TARGET_OS_FAMILY_windows
    25.5  # include "os_windows.inline.hpp"
    25.6  #endif
    25.7 +#ifdef TARGET_OS_FAMILY_aix
    25.8 +# include "os_aix.inline.hpp"
    25.9 +#endif
   25.10  #ifdef TARGET_OS_FAMILY_bsd
   25.11  # include "os_bsd.inline.hpp"
   25.12  #endif
    26.1 --- a/src/share/vm/runtime/atomic.inline.hpp	Fri Jul 26 00:59:18 2013 +0200
    26.2 +++ b/src/share/vm/runtime/atomic.inline.hpp	Thu Aug 22 09:39:54 2013 -0700
    26.3 @@ -57,6 +57,11 @@
    26.4  # include "atomic_windows_x86.inline.hpp"
    26.5  #endif
    26.6  
    26.7 +// AIX
    26.8 +#ifdef TARGET_OS_ARCH_aix_ppc
    26.9 +# include "atomic_aix_ppc.inline.hpp"
   26.10 +#endif
   26.11 +
   26.12  // BSD
   26.13  #ifdef TARGET_OS_ARCH_bsd_x86
   26.14  # include "atomic_bsd_x86.inline.hpp"
    27.1 --- a/src/share/vm/runtime/globals.hpp	Fri Jul 26 00:59:18 2013 +0200
    27.2 +++ b/src/share/vm/runtime/globals.hpp	Thu Aug 22 09:39:54 2013 -0700
    27.3 @@ -61,6 +61,9 @@
    27.4  #ifdef TARGET_OS_FAMILY_windows
    27.5  # include "globals_windows.hpp"
    27.6  #endif
    27.7 +#ifdef TARGET_OS_FAMILY_aix
    27.8 +# include "globals_aix.hpp"
    27.9 +#endif
   27.10  #ifdef TARGET_OS_FAMILY_bsd
   27.11  # include "globals_bsd.hpp"
   27.12  #endif
   27.13 @@ -88,6 +91,9 @@
   27.14  #ifdef TARGET_OS_ARCH_linux_ppc
   27.15  # include "globals_linux_ppc.hpp"
   27.16  #endif
   27.17 +#ifdef TARGET_OS_ARCH_aix_ppc
   27.18 +# include "globals_aix_ppc.hpp"
   27.19 +#endif
   27.20  #ifdef TARGET_OS_ARCH_bsd_x86
   27.21  # include "globals_bsd_x86.hpp"
   27.22  #endif
   27.23 @@ -116,6 +122,9 @@
   27.24  #ifdef TARGET_OS_FAMILY_windows
   27.25  # include "c1_globals_windows.hpp"
   27.26  #endif
   27.27 +#ifdef TARGET_OS_FAMILY_aix
   27.28 +# include "c1_globals_aix.hpp"
   27.29 +#endif
   27.30  #ifdef TARGET_OS_FAMILY_bsd
   27.31  # include "c1_globals_bsd.hpp"
   27.32  #endif
   27.33 @@ -130,6 +139,9 @@
   27.34  #ifdef TARGET_ARCH_arm
   27.35  # include "c2_globals_arm.hpp"
   27.36  #endif
   27.37 +#ifdef TARGET_ARCH_ppc
   27.38 +# include "c2_globals_ppc.hpp"
   27.39 +#endif
   27.40  #ifdef TARGET_OS_FAMILY_linux
   27.41  # include "c2_globals_linux.hpp"
   27.42  #endif
   27.43 @@ -139,6 +151,9 @@
   27.44  #ifdef TARGET_OS_FAMILY_windows
   27.45  # include "c2_globals_windows.hpp"
   27.46  #endif
   27.47 +#ifdef TARGET_OS_FAMILY_aix
   27.48 +# include "c2_globals_aix.hpp"
   27.49 +#endif
   27.50  #ifdef TARGET_OS_FAMILY_bsd
   27.51  # include "c2_globals_bsd.hpp"
   27.52  #endif
    28.1 --- a/src/share/vm/runtime/interfaceSupport.hpp	Fri Jul 26 00:59:18 2013 +0200
    28.2 +++ b/src/share/vm/runtime/interfaceSupport.hpp	Thu Aug 22 09:39:54 2013 -0700
    28.3 @@ -107,6 +107,9 @@
    28.4  #ifdef TARGET_OS_FAMILY_windows
    28.5  # include "interfaceSupport_windows.hpp"
    28.6  #endif
    28.7 +#ifdef TARGET_OS_FAMILY_aix
    28.8 +# include "interfaceSupport_aix.hpp"
    28.9 +#endif
   28.10  #ifdef TARGET_OS_FAMILY_bsd
   28.11  # include "interfaceSupport_bsd.hpp"
   28.12  #endif
    29.1 --- a/src/share/vm/runtime/javaFrameAnchor.hpp	Fri Jul 26 00:59:18 2013 +0200
    29.2 +++ b/src/share/vm/runtime/javaFrameAnchor.hpp	Thu Aug 22 09:39:54 2013 -0700
    29.3 @@ -50,6 +50,9 @@
    29.4  #ifdef TARGET_OS_ARCH_linux_ppc
    29.5  # include "orderAccess_linux_ppc.inline.hpp"
    29.6  #endif
    29.7 +#ifdef TARGET_OS_ARCH_aix_ppc
    29.8 +# include "orderAccess_aix_ppc.inline.hpp"
    29.9 +#endif
   29.10  #ifdef TARGET_OS_ARCH_bsd_x86
   29.11  # include "orderAccess_bsd_x86.inline.hpp"
   29.12  #endif
    30.1 --- a/src/share/vm/runtime/mutexLocker.hpp	Fri Jul 26 00:59:18 2013 +0200
    30.2 +++ b/src/share/vm/runtime/mutexLocker.hpp	Thu Aug 22 09:39:54 2013 -0700
    30.3 @@ -36,6 +36,9 @@
    30.4  #ifdef TARGET_OS_FAMILY_windows
    30.5  # include "os_windows.inline.hpp"
    30.6  #endif
    30.7 +#ifdef TARGET_OS_FAMILY_aix
    30.8 +# include "os_aix.inline.hpp"
    30.9 +#endif
   30.10  #ifdef TARGET_OS_FAMILY_bsd
   30.11  # include "os_bsd.inline.hpp"
   30.12  #endif
    31.1 --- a/src/share/vm/runtime/os.hpp	Fri Jul 26 00:59:18 2013 +0200
    31.2 +++ b/src/share/vm/runtime/os.hpp	Thu Aug 22 09:39:54 2013 -0700
    31.3 @@ -41,6 +41,10 @@
    31.4  #ifdef TARGET_OS_FAMILY_windows
    31.5  # include "jvm_windows.h"
    31.6  #endif
    31.7 +#ifdef TARGET_OS_FAMILY_aix
    31.8 +# include "jvm_aix.h"
    31.9 +# include <setjmp.h>
   31.10 +#endif
   31.11  #ifdef TARGET_OS_FAMILY_bsd
   31.12  # include "jvm_bsd.h"
   31.13  # include <setjmp.h>
   31.14 @@ -750,6 +754,10 @@
   31.15  #ifdef TARGET_OS_FAMILY_windows
   31.16  # include "os_windows.hpp"
   31.17  #endif
   31.18 +#ifdef TARGET_OS_FAMILY_aix
   31.19 +# include "os_aix.hpp"
   31.20 +# include "os_posix.hpp"
   31.21 +#endif
   31.22  #ifdef TARGET_OS_FAMILY_bsd
   31.23  # include "os_posix.hpp"
   31.24  # include "os_bsd.hpp"
   31.25 @@ -778,6 +786,9 @@
   31.26  #ifdef TARGET_OS_ARCH_linux_ppc
   31.27  # include "os_linux_ppc.hpp"
   31.28  #endif
   31.29 +#ifdef TARGET_OS_ARCH_aix_ppc
   31.30 +# include "os_aix_ppc.hpp"
   31.31 +#endif
   31.32  #ifdef TARGET_OS_ARCH_bsd_x86
   31.33  # include "os_bsd_x86.hpp"
   31.34  #endif
    32.1 --- a/src/share/vm/runtime/osThread.hpp	Fri Jul 26 00:59:18 2013 +0200
    32.2 +++ b/src/share/vm/runtime/osThread.hpp	Thu Aug 22 09:39:54 2013 -0700
    32.3 @@ -105,6 +105,9 @@
    32.4  #ifdef TARGET_OS_FAMILY_windows
    32.5  # include "osThread_windows.hpp"
    32.6  #endif
    32.7 +#ifdef TARGET_OS_FAMILY_aix
    32.8 +# include "osThread_aix.hpp"
    32.9 +#endif
   32.10  #ifdef TARGET_OS_FAMILY_bsd
   32.11  # include "osThread_bsd.hpp"
   32.12  #endif
    33.1 --- a/src/share/vm/runtime/sharedRuntimeTrans.cpp	Fri Jul 26 00:59:18 2013 +0200
    33.2 +++ b/src/share/vm/runtime/sharedRuntimeTrans.cpp	Thu Aug 22 09:39:54 2013 -0700
    33.3 @@ -56,10 +56,12 @@
    33.4  # define __LO(x) *(1+(int*)&x)
    33.5  #endif
    33.6  
    33.7 +#if !defined(AIX)
    33.8  double copysign(double x, double y) {
    33.9    __HI(x) = (__HI(x)&0x7fffffff)|(__HI(y)&0x80000000);
   33.10    return x;
   33.11  }
   33.12 +#endif
   33.13  
   33.14  /*
   33.15   * ====================================================
   33.16 @@ -85,6 +87,7 @@
   33.17    hugeX   = 1.0e+300,
   33.18    tiny   = 1.0e-300;
   33.19  
   33.20 +#if !defined(AIX)
   33.21  double scalbn (double x, int n) {
   33.22    int  k,hx,lx;
   33.23    hx = __HI(x);
   33.24 @@ -111,6 +114,7 @@
   33.25    __HI(x) = (hx&0x800fffff)|(k<<20);
   33.26    return x*twom54;
   33.27  }
   33.28 +#endif
   33.29  
   33.30  /* __ieee754_log(x)
   33.31   * Return the logrithm of x
    34.1 --- a/src/share/vm/runtime/sharedRuntimeTrig.cpp	Fri Jul 26 00:59:18 2013 +0200
    34.2 +++ b/src/share/vm/runtime/sharedRuntimeTrig.cpp	Thu Aug 22 09:39:54 2013 -0700
    34.3 @@ -658,7 +658,7 @@
    34.4  
    34.5  static double __kernel_cos(double x, double y)
    34.6  {
    34.7 -  double a,hz,z,r,qx;
    34.8 +  double a,h,z,r,qx;
    34.9    int ix;
   34.10    ix = __HI(x)&0x7fffffff;      /* ix = |x|'s high word*/
   34.11    if(ix<0x3e400000) {                   /* if x < 2**27 */
   34.12 @@ -675,9 +675,9 @@
   34.13        __HI(qx) = ix-0x00200000; /* x/4 */
   34.14        __LO(qx) = 0;
   34.15      }
   34.16 -    hz = 0.5*z-qx;
   34.17 -    a  = one-qx;
   34.18 -    return a - (hz - (z*r-x*y));
   34.19 +    h = 0.5*z-qx;
   34.20 +    a = one-qx;
   34.21 +    return a - (h - (z*r-x*y));
   34.22    }
   34.23  }
   34.24  
    35.1 --- a/src/share/vm/runtime/thread.hpp	Fri Jul 26 00:59:18 2013 +0200
    35.2 +++ b/src/share/vm/runtime/thread.hpp	Thu Aug 22 09:39:54 2013 -0700
    35.3 @@ -1730,6 +1730,9 @@
    35.4  #ifdef TARGET_OS_ARCH_linux_ppc
    35.5  # include "thread_linux_ppc.hpp"
    35.6  #endif
    35.7 +#ifdef TARGET_OS_ARCH_aix_ppc
    35.8 +# include "thread_aix_ppc.hpp"
    35.9 +#endif
   35.10  #ifdef TARGET_OS_ARCH_bsd_x86
   35.11  # include "thread_bsd_x86.hpp"
   35.12  #endif
    36.1 --- a/src/share/vm/runtime/thread.inline.hpp	Fri Jul 26 00:59:18 2013 +0200
    36.2 +++ b/src/share/vm/runtime/thread.inline.hpp	Thu Aug 22 09:39:54 2013 -0700
    36.3 @@ -37,6 +37,9 @@
    36.4  #ifdef TARGET_OS_FAMILY_windows
    36.5  # include "thread_windows.inline.hpp"
    36.6  #endif
    36.7 +#ifdef TARGET_OS_FAMILY_aix
    36.8 +# include "thread_aix.inline.hpp"
    36.9 +#endif
   36.10  #ifdef TARGET_OS_FAMILY_bsd
   36.11  # include "thread_bsd.inline.hpp"
   36.12  #endif
    37.1 --- a/src/share/vm/runtime/threadLocalStorage.hpp	Fri Jul 26 00:59:18 2013 +0200
    37.2 +++ b/src/share/vm/runtime/threadLocalStorage.hpp	Thu Aug 22 09:39:54 2013 -0700
    37.3 @@ -68,6 +68,9 @@
    37.4  #ifdef TARGET_OS_ARCH_linux_ppc
    37.5  # include "threadLS_linux_ppc.hpp"
    37.6  #endif
    37.7 +#ifdef TARGET_OS_ARCH_aix_ppc
    37.8 +# include "threadLS_aix_ppc.hpp"
    37.9 +#endif
   37.10  #ifdef TARGET_OS_ARCH_bsd_x86
   37.11  # include "threadLS_bsd_x86.hpp"
   37.12  #endif
    38.1 --- a/src/share/vm/runtime/timer.cpp	Fri Jul 26 00:59:18 2013 +0200
    38.2 +++ b/src/share/vm/runtime/timer.cpp	Thu Aug 22 09:39:54 2013 -0700
    38.3 @@ -35,6 +35,9 @@
    38.4  #ifdef TARGET_OS_FAMILY_windows
    38.5  # include "os_windows.inline.hpp"
    38.6  #endif
    38.7 +#ifdef TARGET_OS_FAMILY_aix
    38.8 +# include "os_aix.inline.hpp"
    38.9 +#endif
   38.10  #ifdef TARGET_OS_FAMILY_bsd
   38.11  # include "os_bsd.inline.hpp"
   38.12  #endif
    39.1 --- a/src/share/vm/runtime/virtualspace.cpp	Fri Jul 26 00:59:18 2013 +0200
    39.2 +++ b/src/share/vm/runtime/virtualspace.cpp	Thu Aug 22 09:39:54 2013 -0700
    39.3 @@ -36,6 +36,9 @@
    39.4  #ifdef TARGET_OS_FAMILY_windows
    39.5  # include "os_windows.inline.hpp"
    39.6  #endif
    39.7 +#ifdef TARGET_OS_FAMILY_aix
    39.8 +# include "os_aix.inline.hpp"
    39.9 +#endif
   39.10  #ifdef TARGET_OS_FAMILY_bsd
   39.11  # include "os_bsd.inline.hpp"
   39.12  #endif
    40.1 --- a/src/share/vm/runtime/vmStructs.cpp	Fri Jul 26 00:59:18 2013 +0200
    40.2 +++ b/src/share/vm/runtime/vmStructs.cpp	Thu Aug 22 09:39:54 2013 -0700
    40.3 @@ -143,6 +143,9 @@
    40.4  #ifdef TARGET_OS_ARCH_linux_ppc
    40.5  # include "vmStructs_linux_ppc.hpp"
    40.6  #endif
    40.7 +#ifdef TARGET_OS_ARCH_aix_ppc
    40.8 +# include "vmStructs_aix_ppc.hpp"
    40.9 +#endif
   40.10  #ifdef TARGET_OS_ARCH_bsd_x86
   40.11  # include "vmStructs_bsd_x86.hpp"
   40.12  #endif
    41.1 --- a/src/share/vm/runtime/vm_version.cpp	Fri Jul 26 00:59:18 2013 +0200
    41.2 +++ b/src/share/vm/runtime/vm_version.cpp	Thu Aug 22 09:39:54 2013 -0700
    41.3 @@ -177,6 +177,7 @@
    41.4  #define OS       LINUX_ONLY("linux")             \
    41.5                   WINDOWS_ONLY("windows")         \
    41.6                   SOLARIS_ONLY("solaris")         \
    41.7 +                 AIX_ONLY("aix")                 \
    41.8                   BSD_ONLY("bsd")
    41.9  
   41.10  #ifdef ZERO
   41.11 @@ -237,6 +238,9 @@
   41.12        #endif
   41.13      #elif defined(__GNUC__)
   41.14          #define HOTSPOT_BUILD_COMPILER "gcc " __VERSION__
   41.15 +    #elif defined(__IBMCPP__)
   41.16 +        #define HOTSPOT_BUILD_COMPILER "xlC " XSTR(__IBMCPP__)
   41.17 +
   41.18      #else
   41.19        #define HOTSPOT_BUILD_COMPILER "unknown compiler"
   41.20      #endif
    42.1 --- a/src/share/vm/utilities/accessFlags.cpp	Fri Jul 26 00:59:18 2013 +0200
    42.2 +++ b/src/share/vm/utilities/accessFlags.cpp	Thu Aug 22 09:39:54 2013 -0700
    42.3 @@ -34,6 +34,9 @@
    42.4  #ifdef TARGET_OS_FAMILY_windows
    42.5  # include "os_windows.inline.hpp"
    42.6  #endif
    42.7 +#ifdef TARGET_OS_FAMILY_aix
    42.8 +# include "os_aix.inline.hpp"
    42.9 +#endif
   42.10  #ifdef TARGET_OS_FAMILY_bsd
   42.11  # include "os_bsd.inline.hpp"
   42.12  #endif
    43.1 --- a/src/share/vm/utilities/bitMap.cpp	Fri Jul 26 00:59:18 2013 +0200
    43.2 +++ b/src/share/vm/utilities/bitMap.cpp	Thu Aug 22 09:39:54 2013 -0700
    43.3 @@ -35,6 +35,9 @@
    43.4  #ifdef TARGET_OS_FAMILY_windows
    43.5  # include "os_windows.inline.hpp"
    43.6  #endif
    43.7 +#ifdef TARGET_OS_FAMILY_aix
    43.8 +# include "os_aix.inline.hpp"
    43.9 +#endif
   43.10  #ifdef TARGET_OS_FAMILY_bsd
   43.11  # include "os_bsd.inline.hpp"
   43.12  #endif
    44.1 --- a/src/share/vm/utilities/debug.hpp	Fri Jul 26 00:59:18 2013 +0200
    44.2 +++ b/src/share/vm/utilities/debug.hpp	Thu Aug 22 09:39:54 2013 -0700
    44.3 @@ -25,8 +25,8 @@
    44.4  #ifndef SHARE_VM_UTILITIES_DEBUG_HPP
    44.5  #define SHARE_VM_UTILITIES_DEBUG_HPP
    44.6  
    44.7 +#include "utilities/globalDefinitions.hpp"
    44.8  #include "prims/jvm.h"
    44.9 -#include "utilities/globalDefinitions.hpp"
   44.10  
   44.11  #include <stdarg.h>
   44.12  
    45.1 --- a/src/share/vm/utilities/decoder.cpp	Fri Jul 26 00:59:18 2013 +0200
    45.2 +++ b/src/share/vm/utilities/decoder.cpp	Thu Aug 22 09:39:54 2013 -0700
    45.3 @@ -33,6 +33,8 @@
    45.4    #include "decoder_windows.hpp"
    45.5  #elif defined(__APPLE__)
    45.6    #include "decoder_machO.hpp"
    45.7 +#elif defined(AIX)
    45.8 +  #include "decoder_aix.hpp"
    45.9  #else
   45.10    #include "decoder_elf.hpp"
   45.11  #endif
   45.12 @@ -67,6 +69,8 @@
   45.13    decoder = new (std::nothrow) WindowsDecoder();
   45.14  #elif defined (__APPLE__)
   45.15    decoder = new (std::nothrow)MachODecoder();
   45.16 +#elif defined(AIX)
   45.17 +  decoder = new (std::nothrow)AIXDecoder();
   45.18  #else
   45.19    decoder = new (std::nothrow)ElfDecoder();
   45.20  #endif
    46.1 --- a/src/share/vm/utilities/globalDefinitions.hpp	Fri Jul 26 00:59:18 2013 +0200
    46.2 +++ b/src/share/vm/utilities/globalDefinitions.hpp	Thu Aug 22 09:39:54 2013 -0700
    46.3 @@ -38,6 +38,9 @@
    46.4  #ifdef TARGET_COMPILER_sparcWorks
    46.5  # include "utilities/globalDefinitions_sparcWorks.hpp"
    46.6  #endif
    46.7 +#ifdef TARGET_COMPILER_xlc
    46.8 +# include "utilities/globalDefinitions_xlc.hpp"
    46.9 +#endif
   46.10  
   46.11  #include "utilities/macros.hpp"
   46.12  
    47.1 --- a/src/share/vm/utilities/histogram.hpp	Fri Jul 26 00:59:18 2013 +0200
    47.2 +++ b/src/share/vm/utilities/histogram.hpp	Thu Aug 22 09:39:54 2013 -0700
    47.3 @@ -37,6 +37,9 @@
    47.4  #ifdef TARGET_OS_FAMILY_windows
    47.5  # include "os_windows.inline.hpp"
    47.6  #endif
    47.7 +#ifdef TARGET_OS_FAMILY_aix
    47.8 +# include "os_aix.inline.hpp"
    47.9 +#endif
   47.10  #ifdef TARGET_OS_FAMILY_bsd
   47.11  # include "os_bsd.inline.hpp"
   47.12  #endif
    48.1 --- a/src/share/vm/utilities/macros.hpp	Fri Jul 26 00:59:18 2013 +0200
    48.2 +++ b/src/share/vm/utilities/macros.hpp	Thu Aug 22 09:39:54 2013 -0700
    48.3 @@ -254,6 +254,14 @@
    48.4  #define NOT_LINUX(code) code
    48.5  #endif
    48.6  
    48.7 +#ifdef AIX
    48.8 +#define AIX_ONLY(code) code
    48.9 +#define NOT_AIX(code)
   48.10 +#else
   48.11 +#define AIX_ONLY(code)
   48.12 +#define NOT_AIX(code) code
   48.13 +#endif
   48.14 +
   48.15  #ifdef SOLARIS
   48.16  #define SOLARIS_ONLY(code) code
   48.17  #define NOT_SOLARIS(code)
    49.1 --- a/src/share/vm/utilities/ostream.cpp	Fri Jul 26 00:59:18 2013 +0200
    49.2 +++ b/src/share/vm/utilities/ostream.cpp	Thu Aug 22 09:39:54 2013 -0700
    49.3 @@ -39,6 +39,9 @@
    49.4  #ifdef TARGET_OS_FAMILY_windows
    49.5  # include "os_windows.inline.hpp"
    49.6  #endif
    49.7 +#ifdef TARGET_OS_FAMILY_aix
    49.8 +# include "os_aix.inline.hpp"
    49.9 +#endif
   49.10  #ifdef TARGET_OS_FAMILY_bsd
   49.11  # include "os_bsd.inline.hpp"
   49.12  #endif
   49.13 @@ -1040,7 +1043,7 @@
   49.14  
   49.15  #ifndef PRODUCT
   49.16  
   49.17 -#if defined(SOLARIS) || defined(LINUX) || defined(_ALLBSD_SOURCE)
   49.18 +#if defined(SOLARIS) || defined(LINUX) || defined(AIX) || defined(_ALLBSD_SOURCE)
   49.19  #include <sys/types.h>
   49.20  #include <sys/socket.h>
   49.21  #include <netinet/in.h>
    50.1 --- a/src/share/vm/utilities/resourceHash.hpp	Fri Jul 26 00:59:18 2013 +0200
    50.2 +++ b/src/share/vm/utilities/resourceHash.hpp	Thu Aug 22 09:39:54 2013 -0700
    50.3 @@ -44,8 +44,12 @@
    50.4  
    50.5  template<
    50.6      typename K, typename V,
    50.7 -    typename ResourceHashtableFns<K>::hash_fn   HASH   = primitive_hash<K>,
    50.8 -    typename ResourceHashtableFns<K>::equals_fn EQUALS = primitive_equals<K>,
    50.9 +    // xlC does not compile this:
   50.10 +    // http://stackoverflow.com/questions/8532961/template-argument-of-type-that-is-defined-by-inner-typedef-from-other-template-c
   50.11 +    //typename ResourceHashtableFns<K>::hash_fn   HASH   = primitive_hash<K>,
   50.12 +    //typename ResourceHashtableFns<K>::equals_fn EQUALS = primitive_equals<K>,
   50.13 +    unsigned (*HASH)  (K const&)           = primitive_hash<K>,
   50.14 +    bool     (*EQUALS)(K const&, K const&) = primitive_equals<K>,
   50.15      unsigned SIZE = 256
   50.16      >
   50.17  class ResourceHashtable : public ResourceObj {
    51.1 --- a/src/share/vm/utilities/taskqueue.hpp	Fri Jul 26 00:59:18 2013 +0200
    51.2 +++ b/src/share/vm/utilities/taskqueue.hpp	Thu Aug 22 09:39:54 2013 -0700
    51.3 @@ -53,6 +53,9 @@
    51.4  #ifdef TARGET_OS_ARCH_linux_ppc
    51.5  # include "orderAccess_linux_ppc.inline.hpp"
    51.6  #endif
    51.7 +#ifdef TARGET_OS_ARCH_aix_ppc
    51.8 +# include "orderAccess_aix_ppc.inline.hpp"
    51.9 +#endif
   51.10  #ifdef TARGET_OS_ARCH_bsd_x86
   51.11  # include "orderAccess_bsd_x86.inline.hpp"
   51.12  #endif

mercurial