Mercurial > hg > graal-compiler
comparison src/share/vm/utilities/globalDefinitions_gcc.hpp @ 1681:126ea7725993
6953477: Increase portability and flexibility of building Hotspot
Summary: A collection of portability improvements including shared code support for PPC, ARM platforms, software floating point, cross compilation support and improvements in error crash detail.
Reviewed-by: phh, never, coleenp, dholmes
author | bobv |
---|---|
date | Tue, 03 Aug 2010 08:13:38 -0400 |
parents | c18cbe5936b8 |
children | f95d63e2154a |
comparison
equal
deleted
inserted
replaced
1680:a64438a2b7e8 | 1681:126ea7725993 |
---|---|
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); } |