< prev index next >

src/hotspot/share/runtime/sharedRuntime.hpp

Print this page




 187 
 188   // exception handling and implicit exceptions
 189   static address compute_compiled_exc_handler(CompiledMethod* nm, address ret_pc, Handle& exception,
 190                                               bool force_unwind, bool top_frame_only, bool& recursive_exception_occurred);
 191   enum ImplicitExceptionKind {
 192     IMPLICIT_NULL,
 193     IMPLICIT_DIVIDE_BY_ZERO,
 194     STACK_OVERFLOW
 195   };
 196   static void    throw_AbstractMethodError(JavaThread* thread);
 197   static void    throw_IncompatibleClassChangeError(JavaThread* thread);
 198   static void    throw_ArithmeticException(JavaThread* thread);
 199   static void    throw_NullPointerException(JavaThread* thread);
 200   static void    throw_NullPointerException_at_call(JavaThread* thread);
 201   static void    throw_StackOverflowError(JavaThread* thread);
 202   static void    throw_delayed_StackOverflowError(JavaThread* thread);
 203   static void    throw_StackOverflowError_common(JavaThread* thread, bool delayed);
 204   static address continuation_for_implicit_exception(JavaThread* thread,
 205                                                      address faulting_pc,
 206                                                      ImplicitExceptionKind exception_kind);
 207 #if INCLUDE_JVMCI
 208   static address deoptimize_for_implicit_exception(JavaThread* thread, address pc, CompiledMethod* nm, int deopt_reason);
 209 #endif
 210 
 211   // Post-slow-path-allocation, pre-initializing-stores step for
 212   // implementing e.g. ReduceInitialCardMarks
 213   static void on_slowpath_allocation_exit(JavaThread* thread);
 214 
 215   static void enable_stack_reserved_zone(JavaThread* thread);
 216   static frame look_for_reserved_stack_annotated_method(JavaThread* thread, frame fr);
 217 
 218   // Shared stub locations
 219   static address get_poll_stub(address pc);
 220 
 221   static address get_ic_miss_stub() {
 222     assert(_ic_miss_blob!= NULL, "oops");
 223     return _ic_miss_blob->entry_point();
 224   }
 225 
 226   static address get_handle_wrong_method_stub() {
 227     assert(_wrong_method_blob!= NULL, "oops");
 228     return _wrong_method_blob->entry_point();
 229   }




 187 
 188   // exception handling and implicit exceptions
 189   static address compute_compiled_exc_handler(CompiledMethod* nm, address ret_pc, Handle& exception,
 190                                               bool force_unwind, bool top_frame_only, bool& recursive_exception_occurred);
 191   enum ImplicitExceptionKind {
 192     IMPLICIT_NULL,
 193     IMPLICIT_DIVIDE_BY_ZERO,
 194     STACK_OVERFLOW
 195   };
 196   static void    throw_AbstractMethodError(JavaThread* thread);
 197   static void    throw_IncompatibleClassChangeError(JavaThread* thread);
 198   static void    throw_ArithmeticException(JavaThread* thread);
 199   static void    throw_NullPointerException(JavaThread* thread);
 200   static void    throw_NullPointerException_at_call(JavaThread* thread);
 201   static void    throw_StackOverflowError(JavaThread* thread);
 202   static void    throw_delayed_StackOverflowError(JavaThread* thread);
 203   static void    throw_StackOverflowError_common(JavaThread* thread, bool delayed);
 204   static address continuation_for_implicit_exception(JavaThread* thread,
 205                                                      address faulting_pc,
 206                                                      ImplicitExceptionKind exception_kind);



 207 
 208   // Post-slow-path-allocation, pre-initializing-stores step for
 209   // implementing e.g. ReduceInitialCardMarks
 210   static void on_slowpath_allocation_exit(JavaThread* thread);
 211 
 212   static void enable_stack_reserved_zone(JavaThread* thread);
 213   static frame look_for_reserved_stack_annotated_method(JavaThread* thread, frame fr);
 214 
 215   // Shared stub locations
 216   static address get_poll_stub(address pc);
 217 
 218   static address get_ic_miss_stub() {
 219     assert(_ic_miss_blob!= NULL, "oops");
 220     return _ic_miss_blob->entry_point();
 221   }
 222 
 223   static address get_handle_wrong_method_stub() {
 224     assert(_wrong_method_blob!= NULL, "oops");
 225     return _wrong_method_blob->entry_point();
 226   }


< prev index next >