< prev index next >

src/hotspot/share/runtime/stubDeclarations.hpp

Print this page

  90 // do_blob(name, type)
  91 #define SHARED_STUBS_DO(do_blob)                                       \
  92   do_blob(deopt, DeoptimizationBlob)                                   \
  93   /* resolve stubs */                                                  \
  94   do_blob(wrong_method, RuntimeStub)                                   \
  95   do_blob(wrong_method_abstract, RuntimeStub)                          \
  96   do_blob(ic_miss, RuntimeStub)                                        \
  97   do_blob(resolve_opt_virtual_call, RuntimeStub)                       \
  98   do_blob(resolve_virtual_call, RuntimeStub)                           \
  99   do_blob(resolve_static_call, RuntimeStub)                            \
 100   /* handler stubs */                                                  \
 101   do_blob(polling_page_vectors_safepoint_handler, SafepointBlob)       \
 102   do_blob(polling_page_safepoint_handler, SafepointBlob)               \
 103   do_blob(polling_page_return_handler, SafepointBlob)                  \
 104   /* throw stubs */                                                    \
 105   do_blob(throw_AbstractMethodError, RuntimeStub)                      \
 106   do_blob(throw_IncompatibleClassChangeError, RuntimeStub)             \
 107   do_blob(throw_NullPointerException_at_call, RuntimeStub)             \
 108   do_blob(throw_StackOverflowError, RuntimeStub)                       \
 109   do_blob(throw_delayed_StackOverflowError, RuntimeStub)               \








 110   /* other stubs */                                                    \
 111   SHARED_JFR_STUBS_DO(do_blob)                                         \
 112 
 113 // C1 stub declarations
 114 //
 115 // C1 stubs are always generated in a unique associated generic
 116 // CodeBlob with a single entry. C1 stubs are stored in an array
 117 // indexed by local enum. So, no other code elements need to be
 118 // generated via this macro.
 119 
 120 #ifdef COMPILER1
 121 // client macro to operate on c1 stubs
 122 //
 123 // do_blob(name)
 124 #define C1_STUBS_DO(do_blob)                                           \
 125   do_blob(dtrace_object_alloc)                                         \
 126   do_blob(unwind_exception)                                            \
 127   do_blob(forward_exception)                                           \
 128   do_blob(throw_range_check_failed)       /* throws ArrayIndexOutOfBoundsException */ \
 129   do_blob(throw_index_exception)          /* throws IndexOutOfBoundsException */ \

  90 // do_blob(name, type)
  91 #define SHARED_STUBS_DO(do_blob)                                       \
  92   do_blob(deopt, DeoptimizationBlob)                                   \
  93   /* resolve stubs */                                                  \
  94   do_blob(wrong_method, RuntimeStub)                                   \
  95   do_blob(wrong_method_abstract, RuntimeStub)                          \
  96   do_blob(ic_miss, RuntimeStub)                                        \
  97   do_blob(resolve_opt_virtual_call, RuntimeStub)                       \
  98   do_blob(resolve_virtual_call, RuntimeStub)                           \
  99   do_blob(resolve_static_call, RuntimeStub)                            \
 100   /* handler stubs */                                                  \
 101   do_blob(polling_page_vectors_safepoint_handler, SafepointBlob)       \
 102   do_blob(polling_page_safepoint_handler, SafepointBlob)               \
 103   do_blob(polling_page_return_handler, SafepointBlob)                  \
 104   /* throw stubs */                                                    \
 105   do_blob(throw_AbstractMethodError, RuntimeStub)                      \
 106   do_blob(throw_IncompatibleClassChangeError, RuntimeStub)             \
 107   do_blob(throw_NullPointerException_at_call, RuntimeStub)             \
 108   do_blob(throw_StackOverflowError, RuntimeStub)                       \
 109   do_blob(throw_delayed_StackOverflowError, RuntimeStub)               \
 110   /* shenandoah stubs */                                               \
 111   do_blob(shenandoah_keepalive, RuntimeStub)                           \
 112   do_blob(shenandoah_lrb_strong_narrow, RuntimeStub)                   \
 113   do_blob(shenandoah_lrb_weak_narrow, RuntimeStub)                     \
 114   do_blob(shenandoah_lrb_phantom_narrow, RuntimeStub)                  \
 115   do_blob(shenandoah_lrb_strong, RuntimeStub)                          \
 116   do_blob(shenandoah_lrb_weak, RuntimeStub)                            \
 117   do_blob(shenandoah_lrb_phantom, RuntimeStub)                         \
 118   /* other stubs */                                                    \
 119   SHARED_JFR_STUBS_DO(do_blob)                                         \
 120 
 121 // C1 stub declarations
 122 //
 123 // C1 stubs are always generated in a unique associated generic
 124 // CodeBlob with a single entry. C1 stubs are stored in an array
 125 // indexed by local enum. So, no other code elements need to be
 126 // generated via this macro.
 127 
 128 #ifdef COMPILER1
 129 // client macro to operate on c1 stubs
 130 //
 131 // do_blob(name)
 132 #define C1_STUBS_DO(do_blob)                                           \
 133   do_blob(dtrace_object_alloc)                                         \
 134   do_blob(unwind_exception)                                            \
 135   do_blob(forward_exception)                                           \
 136   do_blob(throw_range_check_failed)       /* throws ArrayIndexOutOfBoundsException */ \
 137   do_blob(throw_index_exception)          /* throws IndexOutOfBoundsException */ \
< prev index next >