< prev index next >

src/hotspot/share/runtime/sharedRuntime.cpp

Print this page

  82 #include "utilities/globalDefinitions.hpp"
  83 #include "utilities/resourceHash.hpp"
  84 #include "utilities/macros.hpp"
  85 #include "utilities/xmlstream.hpp"
  86 #ifdef COMPILER1
  87 #include "c1/c1_Runtime1.hpp"
  88 #endif
  89 #if INCLUDE_JFR
  90 #include "jfr/jfr.inline.hpp"
  91 #endif
  92 
  93 // Shared runtime stub routines reside in their own unique blob with a
  94 // single entry point
  95 
  96 
  97 #define SHARED_STUB_FIELD_DEFINE(name, type) \
  98   type        SharedRuntime::BLOB_FIELD_NAME(name);
  99   SHARED_STUBS_DO(SHARED_STUB_FIELD_DEFINE)
 100 #undef SHARED_STUB_FIELD_DEFINE
 101 
 102 nmethod*            SharedRuntime::_cont_doYield_stub;
 103 
 104 #define SHARED_STUB_NAME_DECLARE(name, type) "Shared Runtime " # name "_blob",
 105 const char *SharedRuntime::_stub_names[] = {
 106   SHARED_STUBS_DO(SHARED_STUB_NAME_DECLARE)
 107 };
 108 
 109 //----------------------------generate_stubs-----------------------------------
 110 void SharedRuntime::generate_initial_stubs() {
 111   // Build this early so it's available for the interpreter.
 112   _throw_StackOverflowError_blob =
 113     generate_throw_exception(SharedStubId::throw_StackOverflowError_id,
 114                              CAST_FROM_FN_PTR(address, SharedRuntime::throw_StackOverflowError));
 115 }
 116 
 117 void SharedRuntime::generate_stubs() {
 118   _wrong_method_blob =
 119     generate_resolve_blob(SharedStubId::wrong_method_id,
 120                           CAST_FROM_FN_PTR(address, SharedRuntime::handle_wrong_method));
 121   _wrong_method_abstract_blob =
 122     generate_resolve_blob(SharedStubId::wrong_method_abstract_id,
 123                           CAST_FROM_FN_PTR(address, SharedRuntime::handle_wrong_method_abstract));

  82 #include "utilities/globalDefinitions.hpp"
  83 #include "utilities/resourceHash.hpp"
  84 #include "utilities/macros.hpp"
  85 #include "utilities/xmlstream.hpp"
  86 #ifdef COMPILER1
  87 #include "c1/c1_Runtime1.hpp"
  88 #endif
  89 #if INCLUDE_JFR
  90 #include "jfr/jfr.inline.hpp"
  91 #endif
  92 
  93 // Shared runtime stub routines reside in their own unique blob with a
  94 // single entry point
  95 
  96 
  97 #define SHARED_STUB_FIELD_DEFINE(name, type) \
  98   type        SharedRuntime::BLOB_FIELD_NAME(name);
  99   SHARED_STUBS_DO(SHARED_STUB_FIELD_DEFINE)
 100 #undef SHARED_STUB_FIELD_DEFINE
 101 


 102 #define SHARED_STUB_NAME_DECLARE(name, type) "Shared Runtime " # name "_blob",
 103 const char *SharedRuntime::_stub_names[] = {
 104   SHARED_STUBS_DO(SHARED_STUB_NAME_DECLARE)
 105 };
 106 
 107 //----------------------------generate_stubs-----------------------------------
 108 void SharedRuntime::generate_initial_stubs() {
 109   // Build this early so it's available for the interpreter.
 110   _throw_StackOverflowError_blob =
 111     generate_throw_exception(SharedStubId::throw_StackOverflowError_id,
 112                              CAST_FROM_FN_PTR(address, SharedRuntime::throw_StackOverflowError));
 113 }
 114 
 115 void SharedRuntime::generate_stubs() {
 116   _wrong_method_blob =
 117     generate_resolve_blob(SharedStubId::wrong_method_id,
 118                           CAST_FROM_FN_PTR(address, SharedRuntime::handle_wrong_method));
 119   _wrong_method_abstract_blob =
 120     generate_resolve_blob(SharedStubId::wrong_method_abstract_id,
 121                           CAST_FROM_FN_PTR(address, SharedRuntime::handle_wrong_method_abstract));
< prev index next >