< prev index next >

src/hotspot/share/ci/ciMethod.hpp

Print this page

181 
182   // Method code and related information.
183   address code()                                 { if (_code == NULL) load_code(); return _code; }
184   int code_size() const                          { check_is_loaded(); return _code_size; }
185   int max_stack() const                          { check_is_loaded(); return _max_stack; }
186   int max_locals() const                         { check_is_loaded(); return _max_locals; }
187   vmIntrinsicID intrinsic_id() const             { check_is_loaded(); return _intrinsic_id; }
188   bool has_exception_handlers() const            { check_is_loaded(); return _handler_count > 0; }
189   int exception_table_length() const             { check_is_loaded(); return _handler_count; }
190   int interpreter_invocation_count() const       { check_is_loaded(); return _interpreter_invocation_count; }
191   int interpreter_throwout_count() const         { check_is_loaded(); return _interpreter_throwout_count; }
192   int size_of_parameters() const                 { check_is_loaded(); return _size_of_parameters; }
193   int nmethod_age() const                        { check_is_loaded(); return _nmethod_age; }
194 
195   // Should the method be compiled with an age counter?
196   bool profile_aging() const;
197 
198   // Code size for inlining decisions.
199   int code_size_for_inlining();
200 
201   bool caller_sensitive()      const { return get_Method()->caller_sensitive();      }
202   bool force_inline()          const { return get_Method()->force_inline();          }
203   bool dont_inline()           const { return get_Method()->dont_inline();           }
204   bool intrinsic_candidate()   const { return get_Method()->intrinsic_candidate();   }
205   bool is_static_initializer() const { return get_Method()->is_static_initializer(); }

206 
207   bool check_intrinsic_candidate() const {
208     if (intrinsic_id() == vmIntrinsics::_blackhole) {
209       // This is the intrinsic without an associated method, so no intrinsic_candidate
210       // flag is set. The intrinsic is still correct.
211       return true;
212     }
213     return (CheckIntrinsics ? intrinsic_candidate() : true);
214   }
215 
216   int highest_osr_comp_level();
217 
218   Bytecodes::Code java_code_at_bci(int bci) {
219     address bcp = code() + bci;
220     return Bytecodes::java_code_at(NULL, bcp);
221   }
222   Bytecodes::Code raw_code_at_bci(int bci) {
223     address bcp = code() + bci;
224     return Bytecodes::code_at(NULL, bcp);
225   }

181 
182   // Method code and related information.
183   address code()                                 { if (_code == NULL) load_code(); return _code; }
184   int code_size() const                          { check_is_loaded(); return _code_size; }
185   int max_stack() const                          { check_is_loaded(); return _max_stack; }
186   int max_locals() const                         { check_is_loaded(); return _max_locals; }
187   vmIntrinsicID intrinsic_id() const             { check_is_loaded(); return _intrinsic_id; }
188   bool has_exception_handlers() const            { check_is_loaded(); return _handler_count > 0; }
189   int exception_table_length() const             { check_is_loaded(); return _handler_count; }
190   int interpreter_invocation_count() const       { check_is_loaded(); return _interpreter_invocation_count; }
191   int interpreter_throwout_count() const         { check_is_loaded(); return _interpreter_throwout_count; }
192   int size_of_parameters() const                 { check_is_loaded(); return _size_of_parameters; }
193   int nmethod_age() const                        { check_is_loaded(); return _nmethod_age; }
194 
195   // Should the method be compiled with an age counter?
196   bool profile_aging() const;
197 
198   // Code size for inlining decisions.
199   int code_size_for_inlining();
200 
201   bool caller_sensitive()       const { return get_Method()->caller_sensitive();      }
202   bool force_inline()           const { return get_Method()->force_inline();          }
203   bool dont_inline()            const { return get_Method()->dont_inline();           }
204   bool intrinsic_candidate()    const { return get_Method()->intrinsic_candidate();   }
205   bool is_static_initializer()  const { return get_Method()->is_static_initializer(); }
206   bool changes_current_thread() const { return get_Method()->changes_current_thread();}
207 
208   bool check_intrinsic_candidate() const {
209     if (intrinsic_id() == vmIntrinsics::_blackhole) {
210       // This is the intrinsic without an associated method, so no intrinsic_candidate
211       // flag is set. The intrinsic is still correct.
212       return true;
213     }
214     return (CheckIntrinsics ? intrinsic_candidate() : true);
215   }
216 
217   int highest_osr_comp_level();
218 
219   Bytecodes::Code java_code_at_bci(int bci) {
220     address bcp = code() + bci;
221     return Bytecodes::java_code_at(NULL, bcp);
222   }
223   Bytecodes::Code raw_code_at_bci(int bci) {
224     address bcp = code() + bci;
225     return Bytecodes::code_at(NULL, bcp);
226   }
< prev index next >