diff src/share/vm/jvmci/jvmciRuntime.hpp @ 22722:0229a2ca608b

Make kindToBasicType trapping.
author Roland Schatz <roland.schatz@oracle.com>
date Thu, 05 Nov 2015 10:59:29 +0100
parents 3039e5bb94cb
children 732763293625
line wrap: on
line diff
--- a/src/share/vm/jvmci/jvmciRuntime.hpp	Tue Nov 03 16:55:51 2015 +0100
+++ b/src/share/vm/jvmci/jvmciRuntime.hpp	Thu Nov 05 10:59:29 2015 +0100
@@ -29,6 +29,17 @@
 #include "runtime/arguments.hpp"
 #include "runtime/deoptimization.hpp"
 
+#define JVMCI_ERROR(...)       \
+  { Exceptions::fthrow(THREAD_AND_LOCATION, vmSymbols::jdk_vm_ci_common_JVMCIError(), __VA_ARGS__); return; }
+
+#define JVMCI_ERROR_(ret, ...) \
+  { Exceptions::fthrow(THREAD_AND_LOCATION, vmSymbols::jdk_vm_ci_common_JVMCIError(), __VA_ARGS__); return ret; }
+
+#define JVMCI_ERROR_0(...)    JVMCI_ERROR_(0, __VA_ARGS__)
+#define JVMCI_ERROR_NULL(...) JVMCI_ERROR_(NULL, __VA_ARGS__)
+#define JVMCI_ERROR_OK(...)   JVMCI_ERROR_(JVMCIEnv::ok, __VA_ARGS__)
+#define CHECK_OK              CHECK_(JVMCIEnv::ok)
+
 class ParseClosure : public StackObj {
   int _lineNo;
   char* _filename;
@@ -196,7 +207,7 @@
    */
   static Klass* load_required_class(Symbol* name);
 
-  static BasicType kindToBasicType(jchar ch);
+  static BasicType kindToBasicType(jchar ch, TRAPS);
 
   // The following routines are all called from compiled JVMCI code