< prev index next >

src/share/vm/runtime/sharedRuntime.hpp

Print this page
rev 12906 : [mq]: gc_interface


 165   static int  dcmpl(double x, double y);
 166   static int  dcmpg(double x, double y);
 167 
 168   static int unordered_fcmplt(float x, float y);
 169   static int unordered_dcmplt(double x, double y);
 170   static int unordered_fcmple(float x, float y);
 171   static int unordered_dcmple(double x, double y);
 172   static int unordered_fcmpge(float x, float y);
 173   static int unordered_dcmpge(double x, double y);
 174   static int unordered_fcmpgt(float x, float y);
 175   static int unordered_dcmpgt(double x, double y);
 176 
 177   static float  fneg(float f);
 178   static double dneg(double f);
 179 #endif
 180 
 181   // exception handling across interpreter/compiler boundaries
 182   static address raw_exception_handler_for_return_address(JavaThread* thread, address return_address);
 183   static address exception_handler_for_return_address(JavaThread* thread, address return_address);
 184 
 185 #if INCLUDE_ALL_GCS
 186   // G1 write barriers
 187   static void g1_wb_pre(oopDesc* orig, JavaThread *thread);
 188   static void g1_wb_post(void* card_addr, JavaThread* thread);
 189 #endif // INCLUDE_ALL_GCS
 190 
 191   // exception handling and implicit exceptions
 192   static address compute_compiled_exc_handler(CompiledMethod* nm, address ret_pc, Handle& exception,
 193                                               bool force_unwind, bool top_frame_only, bool& recursive_exception_occurred);
 194   enum ImplicitExceptionKind {
 195     IMPLICIT_NULL,
 196     IMPLICIT_DIVIDE_BY_ZERO,
 197     STACK_OVERFLOW
 198   };
 199   static void    throw_AbstractMethodError(JavaThread* thread);
 200   static void    throw_IncompatibleClassChangeError(JavaThread* thread);
 201   static void    throw_ArithmeticException(JavaThread* thread);
 202   static void    throw_NullPointerException(JavaThread* thread);
 203   static void    throw_NullPointerException_at_call(JavaThread* thread);
 204   static void    throw_StackOverflowError(JavaThread* thread);
 205   static void    throw_delayed_StackOverflowError(JavaThread* thread);
 206   static void    throw_StackOverflowError_common(JavaThread* thread, bool delayed);
 207   static address continuation_for_implicit_exception(JavaThread* thread,
 208                                                      address faulting_pc,
 209                                                      ImplicitExceptionKind exception_kind);
 210 #if INCLUDE_JVMCI
 211   static address deoptimize_for_implicit_exception(JavaThread* thread, address pc, CompiledMethod* nm, int deopt_reason);
 212 #endif




 213 
 214   static void enable_stack_reserved_zone(JavaThread* thread);
 215   static frame look_for_reserved_stack_annotated_method(JavaThread* thread, frame fr);
 216 
 217   // Shared stub locations
 218   static address get_poll_stub(address pc);
 219 
 220   static address get_ic_miss_stub() {
 221     assert(_ic_miss_blob!= NULL, "oops");
 222     return _ic_miss_blob->entry_point();
 223   }
 224 
 225   static address get_handle_wrong_method_stub() {
 226     assert(_wrong_method_blob!= NULL, "oops");
 227     return _wrong_method_blob->entry_point();
 228   }
 229 
 230   static address get_handle_wrong_method_abstract_stub() {
 231     assert(_wrong_method_abstract_blob!= NULL, "oops");
 232     return _wrong_method_abstract_blob->entry_point();




 165   static int  dcmpl(double x, double y);
 166   static int  dcmpg(double x, double y);
 167 
 168   static int unordered_fcmplt(float x, float y);
 169   static int unordered_dcmplt(double x, double y);
 170   static int unordered_fcmple(float x, float y);
 171   static int unordered_dcmple(double x, double y);
 172   static int unordered_fcmpge(float x, float y);
 173   static int unordered_dcmpge(double x, double y);
 174   static int unordered_fcmpgt(float x, float y);
 175   static int unordered_dcmpgt(double x, double y);
 176 
 177   static float  fneg(float f);
 178   static double dneg(double f);
 179 #endif
 180 
 181   // exception handling across interpreter/compiler boundaries
 182   static address raw_exception_handler_for_return_address(JavaThread* thread, address return_address);
 183   static address exception_handler_for_return_address(JavaThread* thread, address return_address);
 184 






 185   // exception handling and implicit exceptions
 186   static address compute_compiled_exc_handler(CompiledMethod* nm, address ret_pc, Handle& exception,
 187                                               bool force_unwind, bool top_frame_only, bool& recursive_exception_occurred);
 188   enum ImplicitExceptionKind {
 189     IMPLICIT_NULL,
 190     IMPLICIT_DIVIDE_BY_ZERO,
 191     STACK_OVERFLOW
 192   };
 193   static void    throw_AbstractMethodError(JavaThread* thread);
 194   static void    throw_IncompatibleClassChangeError(JavaThread* thread);
 195   static void    throw_ArithmeticException(JavaThread* thread);
 196   static void    throw_NullPointerException(JavaThread* thread);
 197   static void    throw_NullPointerException_at_call(JavaThread* thread);
 198   static void    throw_StackOverflowError(JavaThread* thread);
 199   static void    throw_delayed_StackOverflowError(JavaThread* thread);
 200   static void    throw_StackOverflowError_common(JavaThread* thread, bool delayed);
 201   static address continuation_for_implicit_exception(JavaThread* thread,
 202                                                      address faulting_pc,
 203                                                      ImplicitExceptionKind exception_kind);
 204 #if INCLUDE_JVMCI
 205   static address deoptimize_for_implicit_exception(JavaThread* thread, address pc, CompiledMethod* nm, int deopt_reason);
 206 #endif
 207 
 208   // Post-slow-path-allocation, pre-initializing-stores step for
 209   // implementing e.g. ReduceInitialCardMarks
 210   static void on_slowpath_allocation(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   }
 227 
 228   static address get_handle_wrong_method_abstract_stub() {
 229     assert(_wrong_method_abstract_blob!= NULL, "oops");
 230     return _wrong_method_abstract_blob->entry_point();


< prev index next >