< prev index next >

src/share/vm/jvmci/jvmciRuntime.hpp

Print this page




 128     assert(_HotSpotJVMCIRuntime_initialized, "must be");
 129     return _HotSpotJVMCIRuntime_instance;
 130   }
 131 
 132   static Handle callStatic(const char* className, const char* methodName, const char* returnType, JavaCallArguments* args, TRAPS);
 133 
 134   /**
 135    * Trigger initialization of HotSpotJVMCIRuntime through JVMCI.getRuntime()
 136    */
 137   static void initialize_JVMCI(TRAPS);
 138 
 139   /**
 140    * Explicitly initialize HotSpotJVMCIRuntime itself
 141    */
 142   static void initialize_HotSpotJVMCIRuntime(TRAPS);
 143 
 144   static void initialize_well_known_classes(TRAPS);
 145 
 146   static void metadata_do(void f(Metadata*));
 147 
 148   static void shutdown();
 149 
 150   static bool shutdown_called() {
 151     return _shutdown_called;
 152   }
 153 
 154   static bool treat_as_trivial(Method* method);
 155   static void parse_lines(char* path, ParseClosure* closure, bool warnStatFailure);
 156 
 157   /**
 158    * Aborts the VM due to an unexpected exception.
 159    */
 160   static void abort_on_pending_exception(Handle exception, const char* message, bool dump_core = false);
 161 
 162   /**
 163    * Calls Throwable.printStackTrace() on a given exception.
 164    */
 165   static void call_printStackTrace(Handle exception, Thread* thread);
 166 
 167 #define CHECK_ABORT THREAD); \
 168   if (HAS_PENDING_EXCEPTION) { \
 169     char buf[256]; \
 170     jio_snprintf(buf, 256, "Uncaught exception at %s:%d", __FILE__, __LINE__); \
 171     JVMCIRuntime::abort_on_pending_exception(PENDING_EXCEPTION, buf); \
 172     return; \
 173   } \
 174   (void)(0
 175 
 176 #define CHECK_ABORT_(result) THREAD); \
 177   if (HAS_PENDING_EXCEPTION) { \
 178     char buf[256]; \
 179     jio_snprintf(buf, 256, "Uncaught exception at %s:%d", __FILE__, __LINE__); \
 180     JVMCIRuntime::abort_on_pending_exception(PENDING_EXCEPTION, buf); \
 181     return result; \
 182   } \
 183   (void)(0
 184 
 185   static BasicType kindToBasicType(Handle kind, TRAPS);
 186 
 187   // The following routines are all called from compiled JVMCI code
 188 
 189   static void new_instance(JavaThread* thread, Klass* klass);
 190   static void new_array(JavaThread* thread, Klass* klass, jint length);
 191   static void new_multi_array(JavaThread* thread, Klass* klass, int rank, jint* dims);
 192   static void dynamic_new_array(JavaThread* thread, oopDesc* element_mirror, jint length);
 193   static void dynamic_new_instance(JavaThread* thread, oopDesc* type_mirror);
 194   static jboolean thread_is_interrupted(JavaThread* thread, oopDesc* obj, jboolean clear_interrupted);
 195   static void vm_message(jboolean vmError, jlong format, jlong v1, jlong v2, jlong v3);
 196   static jint identity_hash_code(JavaThread* thread, oopDesc* obj);
 197   static address exception_handler_for_pc(JavaThread* thread);
 198   static void monitorenter(JavaThread* thread, oopDesc* obj, BasicLock* lock);
 199   static void monitorexit (JavaThread* thread, oopDesc* obj, BasicLock* lock);
 200   static void create_null_exception(JavaThread* thread);
 201   static void create_out_of_bounds_exception(JavaThread* thread, jint index);
 202   static void vm_error(JavaThread* thread, jlong where, jlong format, jlong value);
 203   static oopDesc* load_and_clear_exception(JavaThread* thread);
 204   static void log_printf(JavaThread* thread, oopDesc* format, jlong v1, jlong v2, jlong v3);




 128     assert(_HotSpotJVMCIRuntime_initialized, "must be");
 129     return _HotSpotJVMCIRuntime_instance;
 130   }
 131 
 132   static Handle callStatic(const char* className, const char* methodName, const char* returnType, JavaCallArguments* args, TRAPS);
 133 
 134   /**
 135    * Trigger initialization of HotSpotJVMCIRuntime through JVMCI.getRuntime()
 136    */
 137   static void initialize_JVMCI(TRAPS);
 138 
 139   /**
 140    * Explicitly initialize HotSpotJVMCIRuntime itself
 141    */
 142   static void initialize_HotSpotJVMCIRuntime(TRAPS);
 143 
 144   static void initialize_well_known_classes(TRAPS);
 145 
 146   static void metadata_do(void f(Metadata*));
 147 
 148   static void shutdown(TRAPS);
 149 
 150   static bool shutdown_called() {
 151     return _shutdown_called;
 152   }
 153 
 154   static bool treat_as_trivial(Method* method);
 155   static void parse_lines(char* path, ParseClosure* closure, bool warnStatFailure);
 156 




























 157   static BasicType kindToBasicType(Handle kind, TRAPS);
 158 
 159   // The following routines are all called from compiled JVMCI code
 160 
 161   static void new_instance(JavaThread* thread, Klass* klass);
 162   static void new_array(JavaThread* thread, Klass* klass, jint length);
 163   static void new_multi_array(JavaThread* thread, Klass* klass, int rank, jint* dims);
 164   static void dynamic_new_array(JavaThread* thread, oopDesc* element_mirror, jint length);
 165   static void dynamic_new_instance(JavaThread* thread, oopDesc* type_mirror);
 166   static jboolean thread_is_interrupted(JavaThread* thread, oopDesc* obj, jboolean clear_interrupted);
 167   static void vm_message(jboolean vmError, jlong format, jlong v1, jlong v2, jlong v3);
 168   static jint identity_hash_code(JavaThread* thread, oopDesc* obj);
 169   static address exception_handler_for_pc(JavaThread* thread);
 170   static void monitorenter(JavaThread* thread, oopDesc* obj, BasicLock* lock);
 171   static void monitorexit (JavaThread* thread, oopDesc* obj, BasicLock* lock);
 172   static void create_null_exception(JavaThread* thread);
 173   static void create_out_of_bounds_exception(JavaThread* thread, jint index);
 174   static void vm_error(JavaThread* thread, jlong where, jlong format, jlong value);
 175   static oopDesc* load_and_clear_exception(JavaThread* thread);
 176   static void log_printf(JavaThread* thread, oopDesc* format, jlong v1, jlong v2, jlong v3);


< prev index next >