< prev index next >

src/hotspot/share/runtime/stubRoutines.hpp

Print this page

145   // entries that identify a sub-interval of range (range_start,
146   // range_end). Append nullptr if the exit pc is not in the range.
147   static void collect_entries(address range_start, address range_end, GrowableArray<address>& entries);
148 };
149 
150 class UnsafeMemoryAccessMark : public StackObj {
151  private:
152   UnsafeMemoryAccess*  _ucm_entry;
153   StubCodeGenerator* _cgen;
154  public:
155   UnsafeMemoryAccessMark(StubCodeGenerator* cgen, bool add_entry, bool continue_at_scope_end, address error_exit_pc = nullptr);
156   ~UnsafeMemoryAccessMark();
157 };
158 
159 class StubRoutines: AllStatic {
160 
161 public:
162   // Dependencies
163   friend class StubGenerator;
164   friend class VMStructs;

165 #if INCLUDE_JVMCI
166   friend class JVMCIVMStructs;
167 #endif
168 
169 #include CPU_HEADER(stubRoutines)
170 
171   static const char* get_blob_name(BlobId id);
172   static const char* get_stub_name(StubId id);
173 
174 // declare blob fields
175 
176 #define DECLARE_BLOB_FIELD(blob_name) \
177   static BufferBlob* STUBGEN_BLOB_FIELD_NAME(blob_name);
178 
179 private:
180   STUBGEN_BLOBS_DO(DECLARE_BLOB_FIELD);
181 
182 #undef DECLARE_BLOB_FIELD
183 
184 // declare fields to store entry addresses

145   // entries that identify a sub-interval of range (range_start,
146   // range_end). Append nullptr if the exit pc is not in the range.
147   static void collect_entries(address range_start, address range_end, GrowableArray<address>& entries);
148 };
149 
150 class UnsafeMemoryAccessMark : public StackObj {
151  private:
152   UnsafeMemoryAccess*  _ucm_entry;
153   StubCodeGenerator* _cgen;
154  public:
155   UnsafeMemoryAccessMark(StubCodeGenerator* cgen, bool add_entry, bool continue_at_scope_end, address error_exit_pc = nullptr);
156   ~UnsafeMemoryAccessMark();
157 };
158 
159 class StubRoutines: AllStatic {
160 
161 public:
162   // Dependencies
163   friend class StubGenerator;
164   friend class VMStructs;
165   friend class AOTCodeAddressTable;
166 #if INCLUDE_JVMCI
167   friend class JVMCIVMStructs;
168 #endif
169 
170 #include CPU_HEADER(stubRoutines)
171 
172   static const char* get_blob_name(BlobId id);
173   static const char* get_stub_name(StubId id);
174 
175 // declare blob fields
176 
177 #define DECLARE_BLOB_FIELD(blob_name) \
178   static BufferBlob* STUBGEN_BLOB_FIELD_NAME(blob_name);
179 
180 private:
181   STUBGEN_BLOBS_DO(DECLARE_BLOB_FIELD);
182 
183 #undef DECLARE_BLOB_FIELD
184 
185 // declare fields to store entry addresses
< prev index next >