Mercurial > hg > graal-jvmci-8
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 { |