Mercurial > hg > truffle
comparison src/share/vm/utilities/exceptions.hpp @ 11130:90d6c221d4e5
Merge
author | jprovino |
---|---|
date | Tue, 16 Jul 2013 12:20:08 -0400 |
parents | ef57c43512d6 |
children | 6b0fd0964b87 5d9995d16b26 |
comparison
equal
deleted
inserted
replaced
11129:16b10327b00d | 11130:90d6c221d4e5 |
---|---|
192 | 192 |
193 #define PENDING_EXCEPTION (((ThreadShadow*)THREAD)->pending_exception()) | 193 #define PENDING_EXCEPTION (((ThreadShadow*)THREAD)->pending_exception()) |
194 #define HAS_PENDING_EXCEPTION (((ThreadShadow*)THREAD)->has_pending_exception()) | 194 #define HAS_PENDING_EXCEPTION (((ThreadShadow*)THREAD)->has_pending_exception()) |
195 #define CLEAR_PENDING_EXCEPTION (((ThreadShadow*)THREAD)->clear_pending_exception()) | 195 #define CLEAR_PENDING_EXCEPTION (((ThreadShadow*)THREAD)->clear_pending_exception()) |
196 | 196 |
197 #define CHECK THREAD); if (HAS_PENDING_EXCEPTION) return ; (0 | 197 #define CHECK THREAD); if (HAS_PENDING_EXCEPTION) return ; (void)(0 |
198 #define CHECK_(result) THREAD); if (HAS_PENDING_EXCEPTION) return result; (0 | 198 #define CHECK_(result) THREAD); if (HAS_PENDING_EXCEPTION) return result; (void)(0 |
199 #define CHECK_0 CHECK_(0) | 199 #define CHECK_0 CHECK_(0) |
200 #define CHECK_NH CHECK_(Handle()) | 200 #define CHECK_NH CHECK_(Handle()) |
201 #define CHECK_NULL CHECK_(NULL) | 201 #define CHECK_NULL CHECK_(NULL) |
202 #define CHECK_false CHECK_(false) | 202 #define CHECK_false CHECK_(false) |
203 | 203 |
204 #define CHECK_AND_CLEAR THREAD); if (HAS_PENDING_EXCEPTION) { CLEAR_PENDING_EXCEPTION; return; } (0 | 204 #define CHECK_AND_CLEAR THREAD); if (HAS_PENDING_EXCEPTION) { CLEAR_PENDING_EXCEPTION; return; } (void)(0 |
205 #define CHECK_AND_CLEAR_(result) THREAD); if (HAS_PENDING_EXCEPTION) { CLEAR_PENDING_EXCEPTION; return result; } (0 | 205 #define CHECK_AND_CLEAR_(result) THREAD); if (HAS_PENDING_EXCEPTION) { CLEAR_PENDING_EXCEPTION; return result; } (void)(0 |
206 #define CHECK_AND_CLEAR_0 CHECK_AND_CLEAR_(0) | 206 #define CHECK_AND_CLEAR_0 CHECK_AND_CLEAR_(0) |
207 #define CHECK_AND_CLEAR_NH CHECK_AND_CLEAR_(Handle()) | 207 #define CHECK_AND_CLEAR_NH CHECK_AND_CLEAR_(Handle()) |
208 #define CHECK_AND_CLEAR_NULL CHECK_AND_CLEAR_(NULL) | 208 #define CHECK_AND_CLEAR_NULL CHECK_AND_CLEAR_(NULL) |
209 #define CHECK_AND_CLEAR_false CHECK_AND_CLEAR_(false) | 209 #define CHECK_AND_CLEAR_false CHECK_AND_CLEAR_(false) |
210 | 210 |
280 THREAD); if (HAS_PENDING_EXCEPTION) { \ | 280 THREAD); if (HAS_PENDING_EXCEPTION) { \ |
281 oop ex = PENDING_EXCEPTION; \ | 281 oop ex = PENDING_EXCEPTION; \ |
282 CLEAR_PENDING_EXCEPTION; \ | 282 CLEAR_PENDING_EXCEPTION; \ |
283 ex->print(); \ | 283 ex->print(); \ |
284 ShouldNotReachHere(); \ | 284 ShouldNotReachHere(); \ |
285 } (0 | 285 } (void)(0 |
286 | 286 |
287 // ExceptionMark is a stack-allocated helper class for local exception handling. | 287 // ExceptionMark is a stack-allocated helper class for local exception handling. |
288 // It is used with the EXCEPTION_MARK macro. | 288 // It is used with the EXCEPTION_MARK macro. |
289 | 289 |
290 class ExceptionMark { | 290 class ExceptionMark { |