equal
deleted
inserted
replaced
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); } |