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));
|