321
322 #endif // def HAVE_DTRACE_H
323
324 // accessors
325 methodOop method() const { return _method; }
326 AbstractCompiler* compiler() const { return _compiler; }
327
328 #ifndef PRODUCT
329 bool has_debug_info() const { return _has_debug_info; }
330 void set_has_debug_info(bool f) { _has_debug_info = false; }
331 #endif // NOT PRODUCT
332
333 // type info
334 bool is_nmethod() const { return true; }
335 bool is_java_method() const { return !method()->is_native(); }
336 bool is_native_method() const { return method()->is_native(); }
337 bool is_osr_method() const { return _entry_bci != InvocationEntryBci; }
338
339 bool is_compiled_by_c1() const;
340 bool is_compiled_by_c2() const;
341
342 // boundaries for different parts
343 address code_begin () const { return _entry_point; }
344 address code_end () const { return header_begin() + _stub_offset ; }
345 address exception_begin () const { return header_begin() + _exception_offset ; }
346 address deopt_handler_begin () const { return header_begin() + _deoptimize_offset ; }
347 address deopt_mh_handler_begin() const { return header_begin() + _deoptimize_mh_offset ; }
348 address unwind_handler_begin () const { return _unwind_handler_offset != -1 ? (header_begin() + _unwind_handler_offset) : NULL; }
349 address stub_begin () const { return header_begin() + _stub_offset ; }
350 address stub_end () const { return header_begin() + _consts_offset ; }
351 address consts_begin () const { return header_begin() + _consts_offset ; }
352 address consts_end () const { return header_begin() + _oops_offset ; }
353 oop* oops_begin () const { return (oop*) (header_begin() + _oops_offset) ; }
354 oop* oops_end () const { return (oop*) (header_begin() + _scopes_data_offset) ; }
355
356 address scopes_data_begin () const { return header_begin() + _scopes_data_offset ; }
357 address scopes_data_end () const { return header_begin() + _scopes_pcs_offset ; }
358 PcDesc* scopes_pcs_begin () const { return (PcDesc*)(header_begin() + _scopes_pcs_offset ); }
359 PcDesc* scopes_pcs_end () const { return (PcDesc*)(header_begin() + _dependencies_offset) ; }
360 address dependencies_begin () const { return header_begin() + _dependencies_offset ; }
|
321
322 #endif // def HAVE_DTRACE_H
323
324 // accessors
325 methodOop method() const { return _method; }
326 AbstractCompiler* compiler() const { return _compiler; }
327
328 #ifndef PRODUCT
329 bool has_debug_info() const { return _has_debug_info; }
330 void set_has_debug_info(bool f) { _has_debug_info = false; }
331 #endif // NOT PRODUCT
332
333 // type info
334 bool is_nmethod() const { return true; }
335 bool is_java_method() const { return !method()->is_native(); }
336 bool is_native_method() const { return method()->is_native(); }
337 bool is_osr_method() const { return _entry_bci != InvocationEntryBci; }
338
339 bool is_compiled_by_c1() const;
340 bool is_compiled_by_c2() const;
341 bool is_compiled_by_shark() const;
342
343 // boundaries for different parts
344 address code_begin () const { return _entry_point; }
345 address code_end () const { return header_begin() + _stub_offset ; }
346 address exception_begin () const { return header_begin() + _exception_offset ; }
347 address deopt_handler_begin () const { return header_begin() + _deoptimize_offset ; }
348 address deopt_mh_handler_begin() const { return header_begin() + _deoptimize_mh_offset ; }
349 address unwind_handler_begin () const { return _unwind_handler_offset != -1 ? (header_begin() + _unwind_handler_offset) : NULL; }
350 address stub_begin () const { return header_begin() + _stub_offset ; }
351 address stub_end () const { return header_begin() + _consts_offset ; }
352 address consts_begin () const { return header_begin() + _consts_offset ; }
353 address consts_end () const { return header_begin() + _oops_offset ; }
354 oop* oops_begin () const { return (oop*) (header_begin() + _oops_offset) ; }
355 oop* oops_end () const { return (oop*) (header_begin() + _scopes_data_offset) ; }
356
357 address scopes_data_begin () const { return header_begin() + _scopes_data_offset ; }
358 address scopes_data_end () const { return header_begin() + _scopes_pcs_offset ; }
359 PcDesc* scopes_pcs_begin () const { return (PcDesc*)(header_begin() + _scopes_pcs_offset ); }
360 PcDesc* scopes_pcs_end () const { return (PcDesc*)(header_begin() + _dependencies_offset) ; }
361 address dependencies_begin () const { return header_begin() + _dependencies_offset ; }
|