src/share/vm/ci/ciMethod.hpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File 7198429 Sdiff src/share/vm/ci

src/share/vm/ci/ciMethod.hpp

Print this page




 149       }
 150       return arg_size;
 151     }
 152   }
 153 
 154 
 155   // Method code and related information.
 156   address code()                                 { if (_code == NULL) load_code(); return _code; }
 157   int code_size() const                          { check_is_loaded(); return _code_size; }
 158   int max_stack() const                          { check_is_loaded(); return _max_stack; }
 159   int max_locals() const                         { check_is_loaded(); return _max_locals; }
 160   vmIntrinsics::ID intrinsic_id() const          { check_is_loaded(); return _intrinsic_id; }
 161   bool has_exception_handlers() const            { check_is_loaded(); return _handler_count > 0; }
 162   int exception_table_length() const             { check_is_loaded(); return _handler_count; }
 163   int interpreter_invocation_count() const       { check_is_loaded(); return _interpreter_invocation_count; }
 164   int interpreter_throwout_count() const         { check_is_loaded(); return _interpreter_throwout_count; }
 165 
 166   // Code size for inlining decisions.
 167   int code_size_for_inlining();
 168 

 169   bool force_inline() { return get_Method()->force_inline(); }
 170   bool dont_inline()  { return get_Method()->dont_inline();  }
 171 
 172   int comp_level();
 173   int highest_osr_comp_level();
 174 
 175   Bytecodes::Code java_code_at_bci(int bci) {
 176     address bcp = code() + bci;
 177     return Bytecodes::java_code_at(NULL, bcp);
 178   }
 179   BCEscapeAnalyzer  *get_bcea();
 180   ciMethodBlocks    *get_method_blocks();
 181 
 182   bool    has_linenumber_table() const;          // length unknown until decompression
 183   u_char* compressed_linenumber_table() const;   // not preserved by gc
 184 
 185   int line_number_from_bci(int bci) const;
 186 
 187   // Runtime information.
 188   int           vtable_index();


 247   bool should_exclude();
 248   bool should_inline();
 249   bool should_not_inline();
 250   bool should_print_assembly();
 251   bool break_at_execute();
 252   bool has_option(const char *option);
 253   bool can_be_compiled();
 254   bool can_be_osr_compiled(int entry_bci);
 255   void set_not_compilable(const char* reason = NULL);
 256   bool has_compiled_code();
 257   void log_nmethod_identity(xmlStream* log);
 258   bool is_not_reached(int bci);
 259   bool was_executed_more_than(int times);
 260   bool has_unloaded_classes_in_signature();
 261   bool is_klass_loaded(int refinfo_index, bool must_be_resolved) const;
 262   bool check_call(int refinfo_index, bool is_static) const;
 263   bool ensure_method_data();  // make sure it exists in the VM also
 264   int instructions_size();
 265   int scale_count(int count, float prof_factor = 1.);  // make MDO count commensurate with IIC
 266 



 267   // JSR 292 support
 268   bool is_method_handle_intrinsic()  const;
 269   bool is_compiled_lambda_form() const;
 270   bool has_member_arg() const;
 271 
 272   // What kind of ciObject is this?
 273   bool is_method() const                         { return true; }
 274 
 275   // Java access flags
 276   bool is_public      () const                   { return flags().is_public(); }
 277   bool is_private     () const                   { return flags().is_private(); }
 278   bool is_protected   () const                   { return flags().is_protected(); }
 279   bool is_static      () const                   { return flags().is_static(); }
 280   bool is_final       () const                   { return flags().is_final(); }
 281   bool is_synchronized() const                   { return flags().is_synchronized(); }
 282   bool is_native      () const                   { return flags().is_native(); }
 283   bool is_interface   () const                   { return flags().is_interface(); }
 284   bool is_abstract    () const                   { return flags().is_abstract(); }
 285   bool is_strict      () const                   { return flags().is_strict(); }
 286 




 149       }
 150       return arg_size;
 151     }
 152   }
 153 
 154 
 155   // Method code and related information.
 156   address code()                                 { if (_code == NULL) load_code(); return _code; }
 157   int code_size() const                          { check_is_loaded(); return _code_size; }
 158   int max_stack() const                          { check_is_loaded(); return _max_stack; }
 159   int max_locals() const                         { check_is_loaded(); return _max_locals; }
 160   vmIntrinsics::ID intrinsic_id() const          { check_is_loaded(); return _intrinsic_id; }
 161   bool has_exception_handlers() const            { check_is_loaded(); return _handler_count > 0; }
 162   int exception_table_length() const             { check_is_loaded(); return _handler_count; }
 163   int interpreter_invocation_count() const       { check_is_loaded(); return _interpreter_invocation_count; }
 164   int interpreter_throwout_count() const         { check_is_loaded(); return _interpreter_throwout_count; }
 165 
 166   // Code size for inlining decisions.
 167   int code_size_for_inlining();
 168 
 169   bool caller_sensitive() { return get_Method()->caller_sensitive(); }
 170   bool force_inline()     { return get_Method()->force_inline();     }
 171   bool dont_inline()      { return get_Method()->dont_inline();      }
 172 
 173   int comp_level();
 174   int highest_osr_comp_level();
 175 
 176   Bytecodes::Code java_code_at_bci(int bci) {
 177     address bcp = code() + bci;
 178     return Bytecodes::java_code_at(NULL, bcp);
 179   }
 180   BCEscapeAnalyzer  *get_bcea();
 181   ciMethodBlocks    *get_method_blocks();
 182 
 183   bool    has_linenumber_table() const;          // length unknown until decompression
 184   u_char* compressed_linenumber_table() const;   // not preserved by gc
 185 
 186   int line_number_from_bci(int bci) const;
 187 
 188   // Runtime information.
 189   int           vtable_index();


 248   bool should_exclude();
 249   bool should_inline();
 250   bool should_not_inline();
 251   bool should_print_assembly();
 252   bool break_at_execute();
 253   bool has_option(const char *option);
 254   bool can_be_compiled();
 255   bool can_be_osr_compiled(int entry_bci);
 256   void set_not_compilable(const char* reason = NULL);
 257   bool has_compiled_code();
 258   void log_nmethod_identity(xmlStream* log);
 259   bool is_not_reached(int bci);
 260   bool was_executed_more_than(int times);
 261   bool has_unloaded_classes_in_signature();
 262   bool is_klass_loaded(int refinfo_index, bool must_be_resolved) const;
 263   bool check_call(int refinfo_index, bool is_static) const;
 264   bool ensure_method_data();  // make sure it exists in the VM also
 265   int instructions_size();
 266   int scale_count(int count, float prof_factor = 1.);  // make MDO count commensurate with IIC
 267 
 268   // Stack walking support
 269   bool is_ignored_by_security_stack_walk() const;
 270 
 271   // JSR 292 support
 272   bool is_method_handle_intrinsic()  const;
 273   bool is_compiled_lambda_form() const;
 274   bool has_member_arg() const;
 275 
 276   // What kind of ciObject is this?
 277   bool is_method() const                         { return true; }
 278 
 279   // Java access flags
 280   bool is_public      () const                   { return flags().is_public(); }
 281   bool is_private     () const                   { return flags().is_private(); }
 282   bool is_protected   () const                   { return flags().is_protected(); }
 283   bool is_static      () const                   { return flags().is_static(); }
 284   bool is_final       () const                   { return flags().is_final(); }
 285   bool is_synchronized() const                   { return flags().is_synchronized(); }
 286   bool is_native      () const                   { return flags().is_native(); }
 287   bool is_interface   () const                   { return flags().is_interface(); }
 288   bool is_abstract    () const                   { return flags().is_abstract(); }
 289   bool is_strict      () const                   { return flags().is_strict(); }
 290 


src/share/vm/ci/ciMethod.hpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File