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:
Goetz Lindenmaier 2013-08-22 09:39:54 -07:00
parent a72b868ac2
commit fac7ee02c5
51 changed files with 182 additions and 22 deletions

View file

@ -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);
}

View file

@ -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);
}

View file

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

View file

@ -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(); }