239 static nmethod* new_nmethod(const methodHandle& method,
240 int compile_id,
241 int entry_bci,
242 CodeOffsets* offsets,
243 int orig_pc_offset,
244 DebugInformationRecorder* recorder,
245 Dependencies* dependencies,
246 CodeBuffer *code_buffer,
247 int frame_size,
248 OopMapSet* oop_maps,
249 ExceptionHandlerTable* handler_table,
250 ImplicitExceptionTable* nul_chk_table,
251 AbstractCompiler* compiler,
252 int comp_level
253 #if INCLUDE_JVMCI
254 , jweak installed_code = NULL,
255 jweak speculation_log = NULL
256 #endif
257 );
258
259 static nmethod* new_native_nmethod(const methodHandle& method,
260 int compile_id,
261 CodeBuffer *code_buffer,
262 int vep_offset,
263 int frame_complete,
264 int frame_size,
265 ByteSize receiver_sp_offset,
266 ByteSize basic_lock_sp_offset,
267 OopMapSet* oop_maps);
268
269 // type info
270 bool is_nmethod() const { return true; }
271 bool is_osr_method() const { return _entry_bci != InvocationEntryBci; }
272
273 // boundaries for different parts
274 address consts_begin () const { return header_begin() + _consts_offset ; }
275 address consts_end () const { return code_begin() ; }
276 address stub_begin () const { return header_begin() + _stub_offset ; }
277 address stub_end () const { return header_begin() + _oops_offset ; }
|
239 static nmethod* new_nmethod(const methodHandle& method,
240 int compile_id,
241 int entry_bci,
242 CodeOffsets* offsets,
243 int orig_pc_offset,
244 DebugInformationRecorder* recorder,
245 Dependencies* dependencies,
246 CodeBuffer *code_buffer,
247 int frame_size,
248 OopMapSet* oop_maps,
249 ExceptionHandlerTable* handler_table,
250 ImplicitExceptionTable* nul_chk_table,
251 AbstractCompiler* compiler,
252 int comp_level
253 #if INCLUDE_JVMCI
254 , jweak installed_code = NULL,
255 jweak speculation_log = NULL
256 #endif
257 );
258
259 // Only used for unit tests.
260 nmethod()
261 : CompiledMethod(),
262 _is_unloading_state(0),
263 _native_receiver_sp_offset(in_ByteSize(-1)),
264 _native_basic_lock_sp_offset(in_ByteSize(-1)) {}
265
266
267 static nmethod* new_native_nmethod(const methodHandle& method,
268 int compile_id,
269 CodeBuffer *code_buffer,
270 int vep_offset,
271 int frame_complete,
272 int frame_size,
273 ByteSize receiver_sp_offset,
274 ByteSize basic_lock_sp_offset,
275 OopMapSet* oop_maps);
276
277 // type info
278 bool is_nmethod() const { return true; }
279 bool is_osr_method() const { return _entry_bci != InvocationEntryBci; }
280
281 // boundaries for different parts
282 address consts_begin () const { return header_begin() + _consts_offset ; }
283 address consts_end () const { return code_begin() ; }
284 address stub_begin () const { return header_begin() + _stub_offset ; }
285 address stub_end () const { return header_begin() + _oops_offset ; }
|