< prev index next >

src/share/vm/jvmci/jvmciRuntime.hpp

Print this page




 124     return _shutdown_called;
 125   }
 126 
 127   static bool treat_as_trivial(Method* method);
 128 
 129   static BasicType kindToBasicType(Handle kind, TRAPS);
 130 
 131   // The following routines are all called from compiled JVMCI code
 132 
 133   static void new_instance(JavaThread* thread, Klass* klass);
 134   static void new_array(JavaThread* thread, Klass* klass, jint length);
 135   static void new_multi_array(JavaThread* thread, Klass* klass, int rank, jint* dims);
 136   static void dynamic_new_array(JavaThread* thread, oopDesc* element_mirror, jint length);
 137   static void dynamic_new_instance(JavaThread* thread, oopDesc* type_mirror);
 138   static jboolean thread_is_interrupted(JavaThread* thread, oopDesc* obj, jboolean clear_interrupted);
 139   static void vm_message(jboolean vmError, jlong format, jlong v1, jlong v2, jlong v3);
 140   static jint identity_hash_code(JavaThread* thread, oopDesc* obj);
 141   static address exception_handler_for_pc(JavaThread* thread);
 142   static void monitorenter(JavaThread* thread, oopDesc* obj, BasicLock* lock);
 143   static void monitorexit (JavaThread* thread, oopDesc* obj, BasicLock* lock);
 144   static void create_null_exception(JavaThread* thread);
 145   static void create_out_of_bounds_exception(JavaThread* thread, jint index);
 146   static void vm_error(JavaThread* thread, jlong where, jlong format, jlong value);
 147   static oopDesc* load_and_clear_exception(JavaThread* thread);
 148   static void log_printf(JavaThread* thread, oopDesc* format, jlong v1, jlong v2, jlong v3);
 149   static void log_primitive(JavaThread* thread, jchar typeChar, jlong value, jboolean newline);
 150   // Print the passed in object, optionally followed by a newline.  If
 151   // as_string is true and the object is a java.lang.String then it
 152   // printed as a string, otherwise the type of the object is printed
 153   // followed by its address.
 154   static void log_object(JavaThread* thread, oopDesc* object, bool as_string, bool newline);
 155   static void write_barrier_pre(JavaThread* thread, oopDesc* obj);
 156   static void write_barrier_post(JavaThread* thread, void* card);
 157   static jboolean validate_object(JavaThread* thread, oopDesc* parent, oopDesc* child);
 158   static void new_store_pre_barrier(JavaThread* thread);






 159 
 160   // Test only function
 161   static int test_deoptimize_call_int(JavaThread* thread, int value);
 162 };
 163 
 164 // Tracing macros.
 165 
 166 #define IF_TRACE_jvmci_1 if (!(JVMCITraceLevel >= 1)) ; else
 167 #define IF_TRACE_jvmci_2 if (!(JVMCITraceLevel >= 2)) ; else
 168 #define IF_TRACE_jvmci_3 if (!(JVMCITraceLevel >= 3)) ; else
 169 #define IF_TRACE_jvmci_4 if (!(JVMCITraceLevel >= 4)) ; else
 170 #define IF_TRACE_jvmci_5 if (!(JVMCITraceLevel >= 5)) ; else
 171 
 172 #define TRACE_jvmci_1 if (!(JVMCITraceLevel >= 1 && (tty->print("JVMCITrace-1: "), true))) ; else tty->print_cr
 173 #define TRACE_jvmci_2 if (!(JVMCITraceLevel >= 2 && (tty->print("   JVMCITrace-2: "), true))) ; else tty->print_cr
 174 #define TRACE_jvmci_3 if (!(JVMCITraceLevel >= 3 && (tty->print("      JVMCITrace-3: "), true))) ; else tty->print_cr
 175 #define TRACE_jvmci_4 if (!(JVMCITraceLevel >= 4 && (tty->print("         JVMCITrace-4: "), true))) ; else tty->print_cr
 176 #define TRACE_jvmci_5 if (!(JVMCITraceLevel >= 5 && (tty->print("            JVMCITrace-5: "), true))) ; else tty->print_cr
 177 
 178 #endif // SHARE_VM_JVMCI_JVMCI_RUNTIME_HPP


 124     return _shutdown_called;
 125   }
 126 
 127   static bool treat_as_trivial(Method* method);
 128 
 129   static BasicType kindToBasicType(Handle kind, TRAPS);
 130 
 131   // The following routines are all called from compiled JVMCI code
 132 
 133   static void new_instance(JavaThread* thread, Klass* klass);
 134   static void new_array(JavaThread* thread, Klass* klass, jint length);
 135   static void new_multi_array(JavaThread* thread, Klass* klass, int rank, jint* dims);
 136   static void dynamic_new_array(JavaThread* thread, oopDesc* element_mirror, jint length);
 137   static void dynamic_new_instance(JavaThread* thread, oopDesc* type_mirror);
 138   static jboolean thread_is_interrupted(JavaThread* thread, oopDesc* obj, jboolean clear_interrupted);
 139   static void vm_message(jboolean vmError, jlong format, jlong v1, jlong v2, jlong v3);
 140   static jint identity_hash_code(JavaThread* thread, oopDesc* obj);
 141   static address exception_handler_for_pc(JavaThread* thread);
 142   static void monitorenter(JavaThread* thread, oopDesc* obj, BasicLock* lock);
 143   static void monitorexit (JavaThread* thread, oopDesc* obj, BasicLock* lock);


 144   static void vm_error(JavaThread* thread, jlong where, jlong format, jlong value);
 145   static oopDesc* load_and_clear_exception(JavaThread* thread);
 146   static void log_printf(JavaThread* thread, oopDesc* format, jlong v1, jlong v2, jlong v3);
 147   static void log_primitive(JavaThread* thread, jchar typeChar, jlong value, jboolean newline);
 148   // Print the passed in object, optionally followed by a newline.  If
 149   // as_string is true and the object is a java.lang.String then it
 150   // printed as a string, otherwise the type of the object is printed
 151   // followed by its address.
 152   static void log_object(JavaThread* thread, oopDesc* object, bool as_string, bool newline);
 153   static void write_barrier_pre(JavaThread* thread, oopDesc* obj);
 154   static void write_barrier_post(JavaThread* thread, void* card);
 155   static jboolean validate_object(JavaThread* thread, oopDesc* parent, oopDesc* child);
 156   static void new_store_pre_barrier(JavaThread* thread);
 157 
 158   // used to throw exceptions from compiled JVMCI code
 159   static void throw_and_post_jvmti_exception(JavaThread* thread, Symbol* exception, const char* message);
 160   // helper methods to throw exception with complex messages
 161   static void throw_klass_external_name_exception(JavaThread* thread, Symbol* exception, Klass* klass);
 162   static void throw_class_cast_exception(JavaThread* thread, Symbol* exception, Klass* objKlass, Klass* targetKlass, const char* desc);
 163 
 164   // Test only function
 165   static int test_deoptimize_call_int(JavaThread* thread, int value);
 166 };
 167 
 168 // Tracing macros.
 169 
 170 #define IF_TRACE_jvmci_1 if (!(JVMCITraceLevel >= 1)) ; else
 171 #define IF_TRACE_jvmci_2 if (!(JVMCITraceLevel >= 2)) ; else
 172 #define IF_TRACE_jvmci_3 if (!(JVMCITraceLevel >= 3)) ; else
 173 #define IF_TRACE_jvmci_4 if (!(JVMCITraceLevel >= 4)) ; else
 174 #define IF_TRACE_jvmci_5 if (!(JVMCITraceLevel >= 5)) ; else
 175 
 176 #define TRACE_jvmci_1 if (!(JVMCITraceLevel >= 1 && (tty->print("JVMCITrace-1: "), true))) ; else tty->print_cr
 177 #define TRACE_jvmci_2 if (!(JVMCITraceLevel >= 2 && (tty->print("   JVMCITrace-2: "), true))) ; else tty->print_cr
 178 #define TRACE_jvmci_3 if (!(JVMCITraceLevel >= 3 && (tty->print("      JVMCITrace-3: "), true))) ; else tty->print_cr
 179 #define TRACE_jvmci_4 if (!(JVMCITraceLevel >= 4 && (tty->print("         JVMCITrace-4: "), true))) ; else tty->print_cr
 180 #define TRACE_jvmci_5 if (!(JVMCITraceLevel >= 5 && (tty->print("            JVMCITrace-5: "), true))) ; else tty->print_cr
 181 
 182 #endif // SHARE_VM_JVMCI_JVMCI_RUNTIME_HPP
< prev index next >