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 #if 0
105 // TODO tweak global stub name generation to match this
106 #define SHARED_STUB_NAME_DECLARE(name, type) "Shared Runtime " # name "_blob",
107 const char *SharedRuntime::_stub_names[] = {
108 SHARED_STUBS_DO(SHARED_STUB_NAME_DECLARE)
109 };
110 #endif
111
112 //----------------------------generate_stubs-----------------------------------
113 void SharedRuntime::generate_initial_stubs() {
114 // Build this early so it's available for the interpreter.
115 _throw_StackOverflowError_blob =
116 generate_throw_exception(StubId::shared_throw_StackOverflowError_id,
117 CAST_FROM_FN_PTR(address, SharedRuntime::throw_StackOverflowError));
118 }
119
120 void SharedRuntime::generate_stubs() {
121 _wrong_method_blob =
122 generate_resolve_blob(StubId::shared_wrong_method_id,
123 CAST_FROM_FN_PTR(address, SharedRuntime::handle_wrong_method));
|
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 #if 0
103 // TODO tweak global stub name generation to match this
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 #endif
109
110 //----------------------------generate_stubs-----------------------------------
111 void SharedRuntime::generate_initial_stubs() {
112 // Build this early so it's available for the interpreter.
113 _throw_StackOverflowError_blob =
114 generate_throw_exception(StubId::shared_throw_StackOverflowError_id,
115 CAST_FROM_FN_PTR(address, SharedRuntime::throw_StackOverflowError));
116 }
117
118 void SharedRuntime::generate_stubs() {
119 _wrong_method_blob =
120 generate_resolve_blob(StubId::shared_wrong_method_id,
121 CAST_FROM_FN_PTR(address, SharedRuntime::handle_wrong_method));
|