hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp
changeset 6176 4d9030fe341f
parent 5547 f4b087cbb361
child 7397 5b173b4ca846
equal deleted inserted replaced
6175:86dbf3cacacc 6176:4d9030fe341f
   214 //----------------------------------------------------------------------------------------------------
   214 //----------------------------------------------------------------------------------------------------
   215 // Debugging
   215 // Debugging
   216 
   216 
   217 #define DEBUG_EXCEPTION ::abort();
   217 #define DEBUG_EXCEPTION ::abort();
   218 
   218 
       
   219 #ifdef ARM
       
   220 #ifdef SOLARIS
       
   221 #define BREAKPOINT __asm__ volatile (".long 0xe1200070")
       
   222 #else
       
   223 #define BREAKPOINT __asm__ volatile (".long 0xe7f001f0")
       
   224 #endif
       
   225 #else
   219 extern "C" void breakpoint();
   226 extern "C" void breakpoint();
   220 #define BREAKPOINT ::breakpoint()
   227 #define BREAKPOINT ::breakpoint()
       
   228 #endif
   221 
   229 
   222 // checking for nanness
   230 // checking for nanness
   223 #ifdef SOLARIS
   231 #ifdef SOLARIS
   224 #ifdef SPARC
   232 #ifdef SPARC
   225 inline int g_isnan(float  f) { return isnanf(f); }
   233 inline int g_isnan(float  f) { return isnanf(f); }
   232 inline int g_isnan(float  f) { return isnanf(f); }
   240 inline int g_isnan(float  f) { return isnanf(f); }
   233 inline int g_isnan(double f) { return isnan(f); }
   241 inline int g_isnan(double f) { return isnan(f); }
   234 #else
   242 #else
   235 #error "missing platform-specific definition here"
   243 #error "missing platform-specific definition here"
   236 #endif
   244 #endif
       
   245 
       
   246 // GCC 4.3 does not allow 0.0/0.0 to produce a NAN value
       
   247 #if (__GNUC__ == 4) && (__GNUC_MINOR__ > 2)
       
   248 #define CAN_USE_NAN_DEFINE 1
       
   249 #endif
       
   250 
   237 
   251 
   238 // Checking for finiteness
   252 // Checking for finiteness
   239 
   253 
   240 inline int g_isfinite(jfloat  f)                 { return finite(f); }
   254 inline int g_isfinite(jfloat  f)                 { return finite(f); }
   241 inline int g_isfinite(jdouble f)                 { return finite(f); }
   255 inline int g_isfinite(jdouble f)                 { return finite(f); }