comparison src/share/vm/utilities/exceptions.hpp @ 11173:6b0fd0964b87

Merge with http://hg.openjdk.java.net/hsx/hsx25/hotspot/
author Doug Simon <doug.simon@oracle.com>
date Wed, 31 Jul 2013 11:00:54 +0200
parents 37977d1dcedc ef57c43512d6
children 3cce976666d9
comparison
equal deleted inserted replaced
10912:4ea54634f03e 11173:6b0fd0964b87
201 201
202 #define PENDING_EXCEPTION (((ThreadShadow*)THREAD)->pending_exception()) 202 #define PENDING_EXCEPTION (((ThreadShadow*)THREAD)->pending_exception())
203 #define HAS_PENDING_EXCEPTION (((ThreadShadow*)THREAD)->has_pending_exception()) 203 #define HAS_PENDING_EXCEPTION (((ThreadShadow*)THREAD)->has_pending_exception())
204 #define CLEAR_PENDING_EXCEPTION (((ThreadShadow*)THREAD)->clear_pending_exception()) 204 #define CLEAR_PENDING_EXCEPTION (((ThreadShadow*)THREAD)->clear_pending_exception())
205 205
206 #define CHECK THREAD); if (HAS_PENDING_EXCEPTION) return ; (0 206 #define CHECK THREAD); if (HAS_PENDING_EXCEPTION) return ; (void)(0
207 #define CHECK_(result) THREAD); if (HAS_PENDING_EXCEPTION) return result; (0 207 #define CHECK_(result) THREAD); if (HAS_PENDING_EXCEPTION) return result; (void)(0
208 #define CHECK_0 CHECK_(0) 208 #define CHECK_0 CHECK_(0)
209 #define CHECK_NH CHECK_(Handle()) 209 #define CHECK_NH CHECK_(Handle())
210 #define CHECK_NULL CHECK_(NULL) 210 #define CHECK_NULL CHECK_(NULL)
211 #define CHECK_false CHECK_(false) 211 #define CHECK_false CHECK_(false)
212 212
213 #define CHECK_AND_CLEAR THREAD); if (HAS_PENDING_EXCEPTION) { CLEAR_PENDING_EXCEPTION; return; } (0 213 #define CHECK_AND_CLEAR THREAD); if (HAS_PENDING_EXCEPTION) { CLEAR_PENDING_EXCEPTION; return; } (void)(0
214 #define CHECK_AND_CLEAR_(result) THREAD); if (HAS_PENDING_EXCEPTION) { CLEAR_PENDING_EXCEPTION; return result; } (0 214 #define CHECK_AND_CLEAR_(result) THREAD); if (HAS_PENDING_EXCEPTION) { CLEAR_PENDING_EXCEPTION; return result; } (void)(0
215 #define CHECK_AND_CLEAR_0 CHECK_AND_CLEAR_(0) 215 #define CHECK_AND_CLEAR_0 CHECK_AND_CLEAR_(0)
216 #define CHECK_AND_CLEAR_NH CHECK_AND_CLEAR_(Handle()) 216 #define CHECK_AND_CLEAR_NH CHECK_AND_CLEAR_(Handle())
217 #define CHECK_AND_CLEAR_NULL CHECK_AND_CLEAR_(NULL) 217 #define CHECK_AND_CLEAR_NULL CHECK_AND_CLEAR_(NULL)
218 #define CHECK_AND_CLEAR_false CHECK_AND_CLEAR_(false) 218 #define CHECK_AND_CLEAR_false CHECK_AND_CLEAR_(false)
219 219
289 THREAD); if (HAS_PENDING_EXCEPTION) { \ 289 THREAD); if (HAS_PENDING_EXCEPTION) { \
290 oop ex = PENDING_EXCEPTION; \ 290 oop ex = PENDING_EXCEPTION; \
291 CLEAR_PENDING_EXCEPTION; \ 291 CLEAR_PENDING_EXCEPTION; \
292 ex->print(); \ 292 ex->print(); \
293 ShouldNotReachHere(); \ 293 ShouldNotReachHere(); \
294 } (0 294 } (void)(0
295 295
296 // ExceptionMark is a stack-allocated helper class for local exception handling. 296 // ExceptionMark is a stack-allocated helper class for local exception handling.
297 // It is used with the EXCEPTION_MARK macro. 297 // It is used with the EXCEPTION_MARK macro.
298 298
299 class ExceptionMark { 299 class ExceptionMark {