8023033: PPC64 (part 13): basic changes for AIX
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
This commit is contained in:
parent
a72b868ac2
commit
fac7ee02c5
@ -165,7 +165,7 @@ void os::Posix::print_rlimit_info(outputStream* st) {
|
||||
else st->print("%uk", rlim.rlim_cur >> 10);
|
||||
|
||||
// Isn't there on solaris
|
||||
#ifndef TARGET_OS_FAMILY_solaris
|
||||
#if! defined(TARGET_OS_FAMILY_solaris) && !defined(TARGET_OS_FAMILY_aix)
|
||||
st->print(", NPROC ");
|
||||
getrlimit(RLIMIT_NPROC, &rlim);
|
||||
if (rlim.rlim_cur == RLIM_INFINITY) st->print("infinity");
|
||||
@ -487,7 +487,7 @@ bool os::Posix::is_valid_signal(int sig) {
|
||||
#define NUM_IMPORTANT_SIGS 32
|
||||
// Returns one-line short description of a signal set in a user provided buffer.
|
||||
const char* os::Posix::describe_signal_set_short(const sigset_t* set, char* buffer, size_t buf_size) {
|
||||
assert(buf_size = (NUM_IMPORTANT_SIGS + 1), "wrong buffer size");
|
||||
assert(buf_size == (NUM_IMPORTANT_SIGS + 1), "wrong buffer size");
|
||||
// Note: for shortness, just print out the first 32. That should
|
||||
// cover most of the useful ones, apart from realtime signals.
|
||||
for (int sig = 1; sig <= NUM_IMPORTANT_SIGS; sig++) {
|
||||
|
@ -47,6 +47,9 @@
|
||||
#ifdef TARGET_OS_FAMILY_windows
|
||||
# include "c1_globals_windows.hpp"
|
||||
#endif
|
||||
#ifdef TARGET_OS_FAMILY_aix
|
||||
# include "c1_globals_aix.hpp"
|
||||
#endif
|
||||
#ifdef TARGET_OS_FAMILY_bsd
|
||||
# include "c1_globals_bsd.hpp"
|
||||
#endif
|
||||
|
@ -68,6 +68,9 @@
|
||||
#ifdef TARGET_OS_FAMILY_windows
|
||||
# include "os_windows.inline.hpp"
|
||||
#endif
|
||||
#ifdef TARGET_OS_FAMILY_aix
|
||||
# include "os_aix.inline.hpp"
|
||||
#endif
|
||||
#ifdef TARGET_OS_FAMILY_bsd
|
||||
# include "os_bsd.inline.hpp"
|
||||
#endif
|
||||
|
@ -799,7 +799,7 @@ nmethod::nmethod(
|
||||
}
|
||||
#endif // def HAVE_DTRACE_H
|
||||
|
||||
void* nmethod::operator new(size_t size, int nmethod_size) throw () {
|
||||
void* nmethod::operator new(size_t size, int nmethod_size) {
|
||||
// Not critical, may return null if there is too little continuous memory
|
||||
return CodeCache::allocate(nmethod_size);
|
||||
}
|
||||
|
@ -365,7 +365,7 @@ class relocInfo VALUE_OBJ_CLASS_SPEC {
|
||||
// "immediate" in the prefix header word itself. This optimization
|
||||
// is invisible outside this module.)
|
||||
|
||||
inline friend relocInfo prefix_relocInfo(int datalen = 0);
|
||||
inline friend relocInfo prefix_relocInfo(int datalen);
|
||||
|
||||
protected:
|
||||
// an immediate relocInfo optimizes a prefix with one 10-bit unsigned value
|
||||
@ -460,7 +460,7 @@ inline relocInfo filler_relocInfo() {
|
||||
return relocInfo(relocInfo::none, relocInfo::offset_limit() - relocInfo::offset_unit);
|
||||
}
|
||||
|
||||
inline relocInfo prefix_relocInfo(int datalen) {
|
||||
inline relocInfo prefix_relocInfo(int datalen = 0) {
|
||||
assert(relocInfo::fits_into_immediate(datalen), "datalen in limits");
|
||||
return relocInfo(relocInfo::data_prefix_tag, relocInfo::RAW_BITS, relocInfo::datalen_tag | datalen);
|
||||
}
|
||||
|
@ -36,6 +36,9 @@
|
||||
#ifdef TARGET_OS_FAMILY_windows
|
||||
# include "os_windows.inline.hpp"
|
||||
#endif
|
||||
#ifdef TARGET_OS_FAMILY_aix
|
||||
# include "os_aix.inline.hpp"
|
||||
#endif
|
||||
#ifdef TARGET_OS_FAMILY_bsd
|
||||
# include "os_bsd.inline.hpp"
|
||||
#endif
|
||||
|
@ -73,7 +73,7 @@ friend class OptoReg;
|
||||
// friend class Location;
|
||||
private:
|
||||
enum {
|
||||
BAD = -1
|
||||
BAD_REG = -1
|
||||
};
|
||||
|
||||
|
||||
@ -86,7 +86,7 @@ private:
|
||||
|
||||
public:
|
||||
|
||||
static VMReg as_VMReg(int val, bool bad_ok = false) { assert(val > BAD || bad_ok, "invalid"); return (VMReg) (intptr_t) val; }
|
||||
static VMReg as_VMReg(int val, bool bad_ok = false) { assert(val > BAD_REG || bad_ok, "invalid"); return (VMReg) (intptr_t) val; }
|
||||
|
||||
const char* name() {
|
||||
if (is_reg()) {
|
||||
@ -98,8 +98,8 @@ public:
|
||||
return "STACKED REG";
|
||||
}
|
||||
}
|
||||
static VMReg Bad() { return (VMReg) (intptr_t) BAD; }
|
||||
bool is_valid() const { return ((intptr_t) this) != BAD; }
|
||||
static VMReg Bad() { return (VMReg) (intptr_t) BAD_REG; }
|
||||
bool is_valid() const { return ((intptr_t) this) != BAD_REG; }
|
||||
bool is_stack() const { return (intptr_t) this >= (intptr_t) stack0; }
|
||||
bool is_reg() const { return is_valid() && !is_stack(); }
|
||||
|
||||
|
@ -36,6 +36,9 @@
|
||||
#ifdef TARGET_OS_FAMILY_windows
|
||||
# include "os_windows.inline.hpp"
|
||||
#endif
|
||||
#ifdef TARGET_OS_FAMILY_aix
|
||||
# include "os_aix.inline.hpp"
|
||||
#endif
|
||||
#ifdef TARGET_OS_FAMILY_bsd
|
||||
# include "os_bsd.inline.hpp"
|
||||
#endif
|
||||
|
@ -122,7 +122,7 @@ void AdaptiveFreeList<Chunk>::return_chunk_at_head(Chunk* chunk, bool record_ret
|
||||
|
||||
template <class Chunk>
|
||||
void AdaptiveFreeList<Chunk>::return_chunk_at_tail(Chunk* chunk) {
|
||||
return_chunk_at_tail(chunk, true);
|
||||
AdaptiveFreeList<Chunk>::return_chunk_at_tail(chunk, true);
|
||||
}
|
||||
|
||||
template <class Chunk>
|
||||
|
@ -37,6 +37,9 @@
|
||||
#ifdef TARGET_OS_FAMILY_windows
|
||||
# include "os_windows.inline.hpp"
|
||||
#endif
|
||||
#ifdef TARGET_OS_FAMILY_aix
|
||||
# include "os_aix.inline.hpp"
|
||||
#endif
|
||||
#ifdef TARGET_OS_FAMILY_bsd
|
||||
# include "os_bsd.inline.hpp"
|
||||
#endif
|
||||
|
@ -38,6 +38,9 @@
|
||||
#ifdef TARGET_OS_FAMILY_windows
|
||||
# include "os_windows.inline.hpp"
|
||||
#endif
|
||||
#ifdef TARGET_OS_FAMILY_aix
|
||||
# include "os_aix.inline.hpp"
|
||||
#endif
|
||||
#ifdef TARGET_OS_FAMILY_bsd
|
||||
# include "os_bsd.inline.hpp"
|
||||
#endif
|
||||
|
@ -35,6 +35,9 @@
|
||||
#ifdef TARGET_OS_FAMILY_windows
|
||||
# include "os_windows.inline.hpp"
|
||||
#endif
|
||||
#ifdef TARGET_OS_FAMILY_aix
|
||||
# include "os_aix.inline.hpp"
|
||||
#endif
|
||||
#ifdef TARGET_OS_FAMILY_bsd
|
||||
# include "os_bsd.inline.hpp"
|
||||
#endif
|
||||
|
@ -67,6 +67,9 @@
|
||||
#ifdef TARGET_OS_ARCH_linux_ppc
|
||||
# include "orderAccess_linux_ppc.inline.hpp"
|
||||
#endif
|
||||
#ifdef TARGET_OS_ARCH_aix_ppc
|
||||
# include "orderAccess_aix_ppc.inline.hpp"
|
||||
#endif
|
||||
#ifdef TARGET_OS_ARCH_bsd_x86
|
||||
# include "orderAccess_bsd_x86.inline.hpp"
|
||||
#endif
|
||||
|
@ -91,8 +91,6 @@ inline int max( int a, int b) { return a > b ? a : b; }
|
||||
#define IMPLEMENTATION
|
||||
#include <stdlib.h>
|
||||
#include <memory.h>
|
||||
inline int min( int a, int b) { return a < b ? a : b; }
|
||||
inline int max( int a, int b) { return a > b ? a : b; }
|
||||
|
||||
#elif defined(_MSC_VER)
|
||||
// Microsoft Visual C++
|
||||
|
@ -45,6 +45,9 @@
|
||||
#ifdef TARGET_OS_FAMILY_windows
|
||||
# include "os_windows.inline.hpp"
|
||||
#endif
|
||||
#ifdef TARGET_OS_FAMILY_aix
|
||||
# include "os_aix.inline.hpp"
|
||||
#endif
|
||||
#ifdef TARGET_OS_FAMILY_bsd
|
||||
# include "os_bsd.inline.hpp"
|
||||
#endif
|
||||
|
@ -220,8 +220,11 @@ template <MEMFLAGS F> class CHeapObj ALLOCATION_SUPER_CLASS_SPEC {
|
||||
class StackObj ALLOCATION_SUPER_CLASS_SPEC {
|
||||
private:
|
||||
void* operator new(size_t size);
|
||||
void operator delete(void* p);
|
||||
void* operator new [](size_t size);
|
||||
#ifdef __IBMCPP__
|
||||
public:
|
||||
#endif
|
||||
void operator delete(void* p);
|
||||
void operator delete [](void* p);
|
||||
};
|
||||
|
||||
|
@ -45,6 +45,9 @@
|
||||
#ifdef TARGET_OS_FAMILY_windows
|
||||
# include "os_windows.inline.hpp"
|
||||
#endif
|
||||
#ifdef TARGET_OS_FAMILY_aix
|
||||
# include "os_aix.inline.hpp"
|
||||
#endif
|
||||
#ifdef TARGET_OS_FAMILY_bsd
|
||||
# include "os_bsd.inline.hpp"
|
||||
#endif
|
||||
|
@ -747,7 +747,7 @@ char* Universe::preferred_heap_base(size_t heap_size, NARROW_OOP_MODE mode) {
|
||||
// the correct no-access prefix.
|
||||
// The final value will be set in initialize_heap() below.
|
||||
Universe::set_narrow_oop_base((address)NarrowOopHeapMax);
|
||||
#ifdef _WIN64
|
||||
#if defined(_WIN64) || defined(AIX)
|
||||
if (UseLargePages) {
|
||||
// Cannot allocate guard pages for implicit checks in indexed
|
||||
// addressing mode when large pages are specified on windows.
|
||||
@ -825,6 +825,11 @@ jint Universe::initialize_heap() {
|
||||
// Can't reserve heap below 32Gb.
|
||||
// keep the Universe::narrow_oop_base() set in Universe::reserve_heap()
|
||||
Universe::set_narrow_oop_shift(LogMinObjAlignmentInBytes);
|
||||
#ifdef AIX
|
||||
// There is no protected page before the heap. This assures all oops
|
||||
// are decoded so that NULL is preserved, so this page will not be accessed.
|
||||
Universe::set_narrow_oop_use_implicit_null_checks(false);
|
||||
#endif
|
||||
if (verbose) {
|
||||
tty->print(", %s: "PTR_FORMAT,
|
||||
narrow_oop_mode_to_string(HeapBasedNarrowOop),
|
||||
|
@ -51,6 +51,9 @@
|
||||
#ifdef TARGET_OS_ARCH_linux_ppc
|
||||
# include "orderAccess_linux_ppc.inline.hpp"
|
||||
#endif
|
||||
#ifdef TARGET_OS_ARCH_aix_ppc
|
||||
# include "orderAccess_aix_ppc.inline.hpp"
|
||||
#endif
|
||||
#ifdef TARGET_OS_ARCH_bsd_x86
|
||||
# include "orderAccess_bsd_x86.inline.hpp"
|
||||
#endif
|
||||
|
@ -47,6 +47,9 @@
|
||||
#ifdef TARGET_OS_FAMILY_windows
|
||||
# include "c2_globals_windows.hpp"
|
||||
#endif
|
||||
#ifdef TARGET_OS_FAMILY_aix
|
||||
# include "c2_globals_aix.hpp"
|
||||
#endif
|
||||
#ifdef TARGET_OS_FAMILY_bsd
|
||||
# include "c2_globals_bsd.hpp"
|
||||
#endif
|
||||
|
@ -76,6 +76,9 @@
|
||||
#ifdef TARGET_OS_FAMILY_windows
|
||||
# include "jvm_windows.h"
|
||||
#endif
|
||||
#ifdef TARGET_OS_FAMILY_aix
|
||||
# include "jvm_aix.h"
|
||||
#endif
|
||||
#ifdef TARGET_OS_FAMILY_bsd
|
||||
# include "jvm_bsd.h"
|
||||
#endif
|
||||
|
@ -35,6 +35,9 @@
|
||||
#ifdef TARGET_OS_FAMILY_windows
|
||||
# include "jvm_windows.h"
|
||||
#endif
|
||||
#ifdef TARGET_OS_FAMILY_aix
|
||||
# include "jvm_aix.h"
|
||||
#endif
|
||||
#ifdef TARGET_OS_FAMILY_bsd
|
||||
# include "jvm_bsd.h"
|
||||
#endif
|
||||
|
@ -50,6 +50,9 @@
|
||||
#ifdef TARGET_OS_FAMILY_windows
|
||||
# include "os_windows.inline.hpp"
|
||||
#endif
|
||||
#ifdef TARGET_OS_FAMILY_aix
|
||||
# include "os_aix.inline.hpp"
|
||||
#endif
|
||||
#ifdef TARGET_OS_FAMILY_bsd
|
||||
# include "os_bsd.inline.hpp"
|
||||
#endif
|
||||
|
@ -49,6 +49,9 @@
|
||||
#ifdef TARGET_OS_FAMILY_windows
|
||||
# include "os_windows.inline.hpp"
|
||||
#endif
|
||||
#ifdef TARGET_OS_FAMILY_aix
|
||||
# include "os_aix.inline.hpp"
|
||||
#endif
|
||||
#ifdef TARGET_OS_FAMILY_bsd
|
||||
# include "os_bsd.inline.hpp"
|
||||
#endif
|
||||
|
@ -33,6 +33,9 @@
|
||||
#ifdef TARGET_OS_FAMILY_windows
|
||||
# include "os_windows.inline.hpp"
|
||||
#endif
|
||||
#ifdef TARGET_OS_FAMILY_aix
|
||||
# include "os_aix.inline.hpp"
|
||||
#endif
|
||||
#ifdef TARGET_OS_FAMILY_bsd
|
||||
# include "os_bsd.inline.hpp"
|
||||
#endif
|
||||
|
@ -57,6 +57,11 @@
|
||||
# include "atomic_windows_x86.inline.hpp"
|
||||
#endif
|
||||
|
||||
// AIX
|
||||
#ifdef TARGET_OS_ARCH_aix_ppc
|
||||
# include "atomic_aix_ppc.inline.hpp"
|
||||
#endif
|
||||
|
||||
// BSD
|
||||
#ifdef TARGET_OS_ARCH_bsd_x86
|
||||
# include "atomic_bsd_x86.inline.hpp"
|
||||
|
@ -61,6 +61,9 @@
|
||||
#ifdef TARGET_OS_FAMILY_windows
|
||||
# include "globals_windows.hpp"
|
||||
#endif
|
||||
#ifdef TARGET_OS_FAMILY_aix
|
||||
# include "globals_aix.hpp"
|
||||
#endif
|
||||
#ifdef TARGET_OS_FAMILY_bsd
|
||||
# include "globals_bsd.hpp"
|
||||
#endif
|
||||
@ -88,6 +91,9 @@
|
||||
#ifdef TARGET_OS_ARCH_linux_ppc
|
||||
# include "globals_linux_ppc.hpp"
|
||||
#endif
|
||||
#ifdef TARGET_OS_ARCH_aix_ppc
|
||||
# include "globals_aix_ppc.hpp"
|
||||
#endif
|
||||
#ifdef TARGET_OS_ARCH_bsd_x86
|
||||
# include "globals_bsd_x86.hpp"
|
||||
#endif
|
||||
@ -116,6 +122,9 @@
|
||||
#ifdef TARGET_OS_FAMILY_windows
|
||||
# include "c1_globals_windows.hpp"
|
||||
#endif
|
||||
#ifdef TARGET_OS_FAMILY_aix
|
||||
# include "c1_globals_aix.hpp"
|
||||
#endif
|
||||
#ifdef TARGET_OS_FAMILY_bsd
|
||||
# include "c1_globals_bsd.hpp"
|
||||
#endif
|
||||
@ -130,6 +139,9 @@
|
||||
#ifdef TARGET_ARCH_arm
|
||||
# include "c2_globals_arm.hpp"
|
||||
#endif
|
||||
#ifdef TARGET_ARCH_ppc
|
||||
# include "c2_globals_ppc.hpp"
|
||||
#endif
|
||||
#ifdef TARGET_OS_FAMILY_linux
|
||||
# include "c2_globals_linux.hpp"
|
||||
#endif
|
||||
@ -139,6 +151,9 @@
|
||||
#ifdef TARGET_OS_FAMILY_windows
|
||||
# include "c2_globals_windows.hpp"
|
||||
#endif
|
||||
#ifdef TARGET_OS_FAMILY_aix
|
||||
# include "c2_globals_aix.hpp"
|
||||
#endif
|
||||
#ifdef TARGET_OS_FAMILY_bsd
|
||||
# include "c2_globals_bsd.hpp"
|
||||
#endif
|
||||
|
@ -107,6 +107,9 @@ class InterfaceSupport: AllStatic {
|
||||
#ifdef TARGET_OS_FAMILY_windows
|
||||
# include "interfaceSupport_windows.hpp"
|
||||
#endif
|
||||
#ifdef TARGET_OS_FAMILY_aix
|
||||
# include "interfaceSupport_aix.hpp"
|
||||
#endif
|
||||
#ifdef TARGET_OS_FAMILY_bsd
|
||||
# include "interfaceSupport_bsd.hpp"
|
||||
#endif
|
||||
|
@ -50,6 +50,9 @@
|
||||
#ifdef TARGET_OS_ARCH_linux_ppc
|
||||
# include "orderAccess_linux_ppc.inline.hpp"
|
||||
#endif
|
||||
#ifdef TARGET_OS_ARCH_aix_ppc
|
||||
# include "orderAccess_aix_ppc.inline.hpp"
|
||||
#endif
|
||||
#ifdef TARGET_OS_ARCH_bsd_x86
|
||||
# include "orderAccess_bsd_x86.inline.hpp"
|
||||
#endif
|
||||
|
@ -36,6 +36,9 @@
|
||||
#ifdef TARGET_OS_FAMILY_windows
|
||||
# include "os_windows.inline.hpp"
|
||||
#endif
|
||||
#ifdef TARGET_OS_FAMILY_aix
|
||||
# include "os_aix.inline.hpp"
|
||||
#endif
|
||||
#ifdef TARGET_OS_FAMILY_bsd
|
||||
# include "os_bsd.inline.hpp"
|
||||
#endif
|
||||
|
@ -41,6 +41,10 @@
|
||||
#ifdef TARGET_OS_FAMILY_windows
|
||||
# include "jvm_windows.h"
|
||||
#endif
|
||||
#ifdef TARGET_OS_FAMILY_aix
|
||||
# include "jvm_aix.h"
|
||||
# include <setjmp.h>
|
||||
#endif
|
||||
#ifdef TARGET_OS_FAMILY_bsd
|
||||
# include "jvm_bsd.h"
|
||||
# include <setjmp.h>
|
||||
@ -750,6 +754,10 @@ class os: AllStatic {
|
||||
#ifdef TARGET_OS_FAMILY_windows
|
||||
# include "os_windows.hpp"
|
||||
#endif
|
||||
#ifdef TARGET_OS_FAMILY_aix
|
||||
# include "os_aix.hpp"
|
||||
# include "os_posix.hpp"
|
||||
#endif
|
||||
#ifdef TARGET_OS_FAMILY_bsd
|
||||
# include "os_posix.hpp"
|
||||
# include "os_bsd.hpp"
|
||||
@ -778,6 +786,9 @@ class os: AllStatic {
|
||||
#ifdef TARGET_OS_ARCH_linux_ppc
|
||||
# include "os_linux_ppc.hpp"
|
||||
#endif
|
||||
#ifdef TARGET_OS_ARCH_aix_ppc
|
||||
# include "os_aix_ppc.hpp"
|
||||
#endif
|
||||
#ifdef TARGET_OS_ARCH_bsd_x86
|
||||
# include "os_bsd_x86.hpp"
|
||||
#endif
|
||||
|
@ -105,6 +105,9 @@ class OSThread: public CHeapObj<mtThread> {
|
||||
#ifdef TARGET_OS_FAMILY_windows
|
||||
# include "osThread_windows.hpp"
|
||||
#endif
|
||||
#ifdef TARGET_OS_FAMILY_aix
|
||||
# include "osThread_aix.hpp"
|
||||
#endif
|
||||
#ifdef TARGET_OS_FAMILY_bsd
|
||||
# include "osThread_bsd.hpp"
|
||||
#endif
|
||||
|
@ -56,10 +56,12 @@
|
||||
# define __LO(x) *(1+(int*)&x)
|
||||
#endif
|
||||
|
||||
#if !defined(AIX)
|
||||
double copysign(double x, double y) {
|
||||
__HI(x) = (__HI(x)&0x7fffffff)|(__HI(y)&0x80000000);
|
||||
return x;
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* ====================================================
|
||||
@ -85,6 +87,7 @@ two54 = 1.80143985094819840000e+16, /* 0x43500000, 0x00000000 */
|
||||
hugeX = 1.0e+300,
|
||||
tiny = 1.0e-300;
|
||||
|
||||
#if !defined(AIX)
|
||||
double scalbn (double x, int n) {
|
||||
int k,hx,lx;
|
||||
hx = __HI(x);
|
||||
@ -111,6 +114,7 @@ double scalbn (double x, int n) {
|
||||
__HI(x) = (hx&0x800fffff)|(k<<20);
|
||||
return x*twom54;
|
||||
}
|
||||
#endif
|
||||
|
||||
/* __ieee754_log(x)
|
||||
* Return the logrithm of x
|
||||
|
@ -658,7 +658,7 @@ C6 = -1.13596475577881948265e-11; /* 0xBDA8FAE9, 0xBE8838D4 */
|
||||
|
||||
static double __kernel_cos(double x, double y)
|
||||
{
|
||||
double a,hz,z,r,qx;
|
||||
double a,h,z,r,qx;
|
||||
int ix;
|
||||
ix = __HI(x)&0x7fffffff; /* ix = |x|'s high word*/
|
||||
if(ix<0x3e400000) { /* if x < 2**27 */
|
||||
@ -675,9 +675,9 @@ static double __kernel_cos(double x, double y)
|
||||
__HI(qx) = ix-0x00200000; /* x/4 */
|
||||
__LO(qx) = 0;
|
||||
}
|
||||
hz = 0.5*z-qx;
|
||||
a = one-qx;
|
||||
return a - (hz - (z*r-x*y));
|
||||
h = 0.5*z-qx;
|
||||
a = one-qx;
|
||||
return a - (h - (z*r-x*y));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1730,6 +1730,9 @@ public:
|
||||
#ifdef TARGET_OS_ARCH_linux_ppc
|
||||
# include "thread_linux_ppc.hpp"
|
||||
#endif
|
||||
#ifdef TARGET_OS_ARCH_aix_ppc
|
||||
# include "thread_aix_ppc.hpp"
|
||||
#endif
|
||||
#ifdef TARGET_OS_ARCH_bsd_x86
|
||||
# include "thread_bsd_x86.hpp"
|
||||
#endif
|
||||
|
@ -37,6 +37,9 @@
|
||||
#ifdef TARGET_OS_FAMILY_windows
|
||||
# include "thread_windows.inline.hpp"
|
||||
#endif
|
||||
#ifdef TARGET_OS_FAMILY_aix
|
||||
# include "thread_aix.inline.hpp"
|
||||
#endif
|
||||
#ifdef TARGET_OS_FAMILY_bsd
|
||||
# include "thread_bsd.inline.hpp"
|
||||
#endif
|
||||
|
@ -68,6 +68,9 @@ class ThreadLocalStorage : AllStatic {
|
||||
#ifdef TARGET_OS_ARCH_linux_ppc
|
||||
# include "threadLS_linux_ppc.hpp"
|
||||
#endif
|
||||
#ifdef TARGET_OS_ARCH_aix_ppc
|
||||
# include "threadLS_aix_ppc.hpp"
|
||||
#endif
|
||||
#ifdef TARGET_OS_ARCH_bsd_x86
|
||||
# include "threadLS_bsd_x86.hpp"
|
||||
#endif
|
||||
|
@ -35,6 +35,9 @@
|
||||
#ifdef TARGET_OS_FAMILY_windows
|
||||
# include "os_windows.inline.hpp"
|
||||
#endif
|
||||
#ifdef TARGET_OS_FAMILY_aix
|
||||
# include "os_aix.inline.hpp"
|
||||
#endif
|
||||
#ifdef TARGET_OS_FAMILY_bsd
|
||||
# include "os_bsd.inline.hpp"
|
||||
#endif
|
||||
|
@ -36,6 +36,9 @@
|
||||
#ifdef TARGET_OS_FAMILY_windows
|
||||
# include "os_windows.inline.hpp"
|
||||
#endif
|
||||
#ifdef TARGET_OS_FAMILY_aix
|
||||
# include "os_aix.inline.hpp"
|
||||
#endif
|
||||
#ifdef TARGET_OS_FAMILY_bsd
|
||||
# include "os_bsd.inline.hpp"
|
||||
#endif
|
||||
|
@ -143,6 +143,9 @@
|
||||
#ifdef TARGET_OS_ARCH_linux_ppc
|
||||
# include "vmStructs_linux_ppc.hpp"
|
||||
#endif
|
||||
#ifdef TARGET_OS_ARCH_aix_ppc
|
||||
# include "vmStructs_aix_ppc.hpp"
|
||||
#endif
|
||||
#ifdef TARGET_OS_ARCH_bsd_x86
|
||||
# include "vmStructs_bsd_x86.hpp"
|
||||
#endif
|
||||
|
@ -177,6 +177,7 @@ const char* Abstract_VM_Version::jre_release_version() {
|
||||
#define OS LINUX_ONLY("linux") \
|
||||
WINDOWS_ONLY("windows") \
|
||||
SOLARIS_ONLY("solaris") \
|
||||
AIX_ONLY("aix") \
|
||||
BSD_ONLY("bsd")
|
||||
|
||||
#ifdef ZERO
|
||||
@ -237,6 +238,9 @@ const char* Abstract_VM_Version::internal_vm_info_string() {
|
||||
#endif
|
||||
#elif defined(__GNUC__)
|
||||
#define HOTSPOT_BUILD_COMPILER "gcc " __VERSION__
|
||||
#elif defined(__IBMCPP__)
|
||||
#define HOTSPOT_BUILD_COMPILER "xlC " XSTR(__IBMCPP__)
|
||||
|
||||
#else
|
||||
#define HOTSPOT_BUILD_COMPILER "unknown compiler"
|
||||
#endif
|
||||
|
@ -34,6 +34,9 @@
|
||||
#ifdef TARGET_OS_FAMILY_windows
|
||||
# include "os_windows.inline.hpp"
|
||||
#endif
|
||||
#ifdef TARGET_OS_FAMILY_aix
|
||||
# include "os_aix.inline.hpp"
|
||||
#endif
|
||||
#ifdef TARGET_OS_FAMILY_bsd
|
||||
# include "os_bsd.inline.hpp"
|
||||
#endif
|
||||
|
@ -35,6 +35,9 @@
|
||||
#ifdef TARGET_OS_FAMILY_windows
|
||||
# include "os_windows.inline.hpp"
|
||||
#endif
|
||||
#ifdef TARGET_OS_FAMILY_aix
|
||||
# include "os_aix.inline.hpp"
|
||||
#endif
|
||||
#ifdef TARGET_OS_FAMILY_bsd
|
||||
# include "os_bsd.inline.hpp"
|
||||
#endif
|
||||
|
@ -25,8 +25,8 @@
|
||||
#ifndef SHARE_VM_UTILITIES_DEBUG_HPP
|
||||
#define SHARE_VM_UTILITIES_DEBUG_HPP
|
||||
|
||||
#include "prims/jvm.h"
|
||||
#include "utilities/globalDefinitions.hpp"
|
||||
#include "prims/jvm.h"
|
||||
|
||||
#include <stdarg.h>
|
||||
|
||||
|
@ -33,6 +33,8 @@
|
||||
#include "decoder_windows.hpp"
|
||||
#elif defined(__APPLE__)
|
||||
#include "decoder_machO.hpp"
|
||||
#elif defined(AIX)
|
||||
#include "decoder_aix.hpp"
|
||||
#else
|
||||
#include "decoder_elf.hpp"
|
||||
#endif
|
||||
@ -67,6 +69,8 @@ AbstractDecoder* Decoder::create_decoder() {
|
||||
decoder = new (std::nothrow) WindowsDecoder();
|
||||
#elif defined (__APPLE__)
|
||||
decoder = new (std::nothrow)MachODecoder();
|
||||
#elif defined(AIX)
|
||||
decoder = new (std::nothrow)AIXDecoder();
|
||||
#else
|
||||
decoder = new (std::nothrow)ElfDecoder();
|
||||
#endif
|
||||
|
@ -38,6 +38,9 @@
|
||||
#ifdef TARGET_COMPILER_sparcWorks
|
||||
# include "utilities/globalDefinitions_sparcWorks.hpp"
|
||||
#endif
|
||||
#ifdef TARGET_COMPILER_xlc
|
||||
# include "utilities/globalDefinitions_xlc.hpp"
|
||||
#endif
|
||||
|
||||
#include "utilities/macros.hpp"
|
||||
|
||||
|
@ -37,6 +37,9 @@
|
||||
#ifdef TARGET_OS_FAMILY_windows
|
||||
# include "os_windows.inline.hpp"
|
||||
#endif
|
||||
#ifdef TARGET_OS_FAMILY_aix
|
||||
# include "os_aix.inline.hpp"
|
||||
#endif
|
||||
#ifdef TARGET_OS_FAMILY_bsd
|
||||
# include "os_bsd.inline.hpp"
|
||||
#endif
|
||||
|
@ -254,6 +254,14 @@
|
||||
#define NOT_LINUX(code) code
|
||||
#endif
|
||||
|
||||
#ifdef AIX
|
||||
#define AIX_ONLY(code) code
|
||||
#define NOT_AIX(code)
|
||||
#else
|
||||
#define AIX_ONLY(code)
|
||||
#define NOT_AIX(code) code
|
||||
#endif
|
||||
|
||||
#ifdef SOLARIS
|
||||
#define SOLARIS_ONLY(code) code
|
||||
#define NOT_SOLARIS(code)
|
||||
|
@ -39,6 +39,9 @@
|
||||
#ifdef TARGET_OS_FAMILY_windows
|
||||
# include "os_windows.inline.hpp"
|
||||
#endif
|
||||
#ifdef TARGET_OS_FAMILY_aix
|
||||
# include "os_aix.inline.hpp"
|
||||
#endif
|
||||
#ifdef TARGET_OS_FAMILY_bsd
|
||||
# include "os_bsd.inline.hpp"
|
||||
#endif
|
||||
@ -1040,7 +1043,7 @@ bufferedStream::~bufferedStream() {
|
||||
|
||||
#ifndef PRODUCT
|
||||
|
||||
#if defined(SOLARIS) || defined(LINUX) || defined(_ALLBSD_SOURCE)
|
||||
#if defined(SOLARIS) || defined(LINUX) || defined(AIX) || defined(_ALLBSD_SOURCE)
|
||||
#include <sys/types.h>
|
||||
#include <sys/socket.h>
|
||||
#include <netinet/in.h>
|
||||
|
@ -44,8 +44,12 @@ template<typename K> bool primitive_equals(const K& k0, const K& k1) {
|
||||
|
||||
template<
|
||||
typename K, typename V,
|
||||
typename ResourceHashtableFns<K>::hash_fn HASH = primitive_hash<K>,
|
||||
typename ResourceHashtableFns<K>::equals_fn EQUALS = primitive_equals<K>,
|
||||
// xlC does not compile this:
|
||||
// http://stackoverflow.com/questions/8532961/template-argument-of-type-that-is-defined-by-inner-typedef-from-other-template-c
|
||||
//typename ResourceHashtableFns<K>::hash_fn HASH = primitive_hash<K>,
|
||||
//typename ResourceHashtableFns<K>::equals_fn EQUALS = primitive_equals<K>,
|
||||
unsigned (*HASH) (K const&) = primitive_hash<K>,
|
||||
bool (*EQUALS)(K const&, K const&) = primitive_equals<K>,
|
||||
unsigned SIZE = 256
|
||||
>
|
||||
class ResourceHashtable : public ResourceObj {
|
||||
|
@ -53,6 +53,9 @@
|
||||
#ifdef TARGET_OS_ARCH_linux_ppc
|
||||
# include "orderAccess_linux_ppc.inline.hpp"
|
||||
#endif
|
||||
#ifdef TARGET_OS_ARCH_aix_ppc
|
||||
# include "orderAccess_aix_ppc.inline.hpp"
|
||||
#endif
|
||||
#ifdef TARGET_OS_ARCH_bsd_x86
|
||||
# include "orderAccess_bsd_x86.inline.hpp"
|
||||
#endif
|
||||
|
Loading…
x
Reference in New Issue
Block a user