aboutsummaryrefslogtreecommitdiff
path: root/src/share/vm/prims/whitebox.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/share/vm/prims/whitebox.hpp')
-rw-r--r--src/share/vm/prims/whitebox.hpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/share/vm/prims/whitebox.hpp b/src/share/vm/prims/whitebox.hpp
index f78117414..a6e27b490 100644
--- a/src/share/vm/prims/whitebox.hpp
+++ b/src/share/vm/prims/whitebox.hpp
@@ -36,6 +36,24 @@
#define WB_END JNI_END
#define WB_METHOD_DECLARE(result_type) extern "C" result_type JNICALL
+#define CHECK_JNI_EXCEPTION_(env, value) \
+ do { \
+ JavaThread* THREAD = JavaThread::thread_from_jni_environment(env); \
+ if (HAS_PENDING_EXCEPTION) { \
+ CLEAR_PENDING_EXCEPTION; \
+ return(value); \
+ } \
+ } while (0)
+
+#define CHECK_JNI_EXCEPTION(env) \
+ do { \
+ JavaThread* THREAD = JavaThread::thread_from_jni_environment(env); \
+ if (HAS_PENDING_EXCEPTION) { \
+ CLEAR_PENDING_EXCEPTION; \
+ return; \
+ } \
+ } while (0)
+
class WhiteBox : public AllStatic {
private:
static bool _used;