< prev index next >

src/hotspot/share/ci/ciMethod.hpp

Print this page
rev 55090 : secret-sfac


 178   int max_stack() const                          { check_is_loaded(); return _max_stack; }
 179   int max_locals() const                         { check_is_loaded(); return _max_locals; }
 180   vmIntrinsics::ID intrinsic_id() const          { check_is_loaded(); return _intrinsic_id; }
 181   bool has_exception_handlers() const            { check_is_loaded(); return _handler_count > 0; }
 182   int exception_table_length() const             { check_is_loaded(); return _handler_count; }
 183   int interpreter_invocation_count() const       { check_is_loaded(); return _interpreter_invocation_count; }
 184   int interpreter_throwout_count() const         { check_is_loaded(); return _interpreter_throwout_count; }
 185   int size_of_parameters() const                 { check_is_loaded(); return _size_of_parameters; }
 186   int nmethod_age() const                        { check_is_loaded(); return _nmethod_age; }
 187 
 188   // Should the method be compiled with an age counter?
 189   bool profile_aging() const;
 190 
 191   // Code size for inlining decisions.
 192   int code_size_for_inlining();
 193 
 194   bool caller_sensitive()      const { return get_Method()->caller_sensitive();      }
 195   bool force_inline()          const { return get_Method()->force_inline();          }
 196   bool dont_inline()           const { return get_Method()->dont_inline();           }
 197   bool intrinsic_candidate()   const { return get_Method()->intrinsic_candidate();   }
 198   bool is_static_initializer() const { return get_Method()->is_static_initializer(); }
 199 
 200   int comp_level();
 201   int highest_osr_comp_level();
 202 
 203   Bytecodes::Code java_code_at_bci(int bci) {
 204     address bcp = code() + bci;
 205     return Bytecodes::java_code_at(NULL, bcp);
 206   }
 207   Bytecodes::Code raw_code_at_bci(int bci) {
 208     address bcp = code() + bci;
 209     return Bytecodes::code_at(NULL, bcp);
 210   }
 211   BCEscapeAnalyzer  *get_bcea();
 212   ciMethodBlocks    *get_method_blocks();
 213 
 214   bool    has_linenumber_table() const;          // length unknown until decompression
 215   u_char* compressed_linenumber_table() const;   // not preserved by gc
 216 
 217   int line_number_from_bci(int bci) const;
 218 


 328   bool is_static      () const                   { return flags().is_static(); }
 329   bool is_final       () const                   { return flags().is_final(); }
 330   bool is_synchronized() const                   { return flags().is_synchronized(); }
 331   bool is_native      () const                   { return flags().is_native(); }
 332   bool is_interface   () const                   { return flags().is_interface(); }
 333   bool is_abstract    () const                   { return flags().is_abstract(); }
 334   bool is_strict      () const                   { return flags().is_strict(); }
 335 
 336   // Other flags
 337   bool is_empty_method() const;
 338   bool is_vanilla_constructor() const;
 339   bool is_final_method() const                   { return is_final() || holder()->is_final(); }
 340   bool is_default_method() const                 { return !is_abstract() && !is_private() &&
 341                                                           holder()->is_interface(); }
 342   bool is_overpass    () const                   { check_is_loaded(); return _is_overpass; }
 343   bool has_loops      () const;
 344   bool has_jsrs       () const;
 345   bool is_getter      () const;
 346   bool is_setter      () const;
 347   bool is_accessor    () const;
 348   bool is_initializer () const;
 349   bool can_be_statically_bound() const           { return _can_be_statically_bound; }
 350   bool has_reserved_stack_access() const         { return _has_reserved_stack_access; }
 351   bool is_boxing_method() const;
 352   bool is_unboxing_method() const;
 353   bool is_object_initializer() const;


 354 
 355   // Replay data methods
 356   void dump_name_as_ascii(outputStream* st);
 357   void dump_replay_data(outputStream* st);
 358 
 359   // Print the bytecodes of this method.
 360   void print_codes_on(outputStream* st);
 361   void print_codes() {
 362     print_codes_on(tty);
 363   }
 364   void print_codes_on(int from, int to, outputStream* st);
 365 
 366   // Print the name of this method in various incarnations.
 367   void print_name(outputStream* st = tty);
 368   void print_short_name(outputStream* st = tty);
 369 
 370   static bool is_consistent_info(ciMethod* declared_method, ciMethod* resolved_method);
 371 
 372   // Support for the value type calling convention
 373   bool has_scalarized_args() const;


 178   int max_stack() const                          { check_is_loaded(); return _max_stack; }
 179   int max_locals() const                         { check_is_loaded(); return _max_locals; }
 180   vmIntrinsics::ID intrinsic_id() const          { check_is_loaded(); return _intrinsic_id; }
 181   bool has_exception_handlers() const            { check_is_loaded(); return _handler_count > 0; }
 182   int exception_table_length() const             { check_is_loaded(); return _handler_count; }
 183   int interpreter_invocation_count() const       { check_is_loaded(); return _interpreter_invocation_count; }
 184   int interpreter_throwout_count() const         { check_is_loaded(); return _interpreter_throwout_count; }
 185   int size_of_parameters() const                 { check_is_loaded(); return _size_of_parameters; }
 186   int nmethod_age() const                        { check_is_loaded(); return _nmethod_age; }
 187 
 188   // Should the method be compiled with an age counter?
 189   bool profile_aging() const;
 190 
 191   // Code size for inlining decisions.
 192   int code_size_for_inlining();
 193 
 194   bool caller_sensitive()      const { return get_Method()->caller_sensitive();      }
 195   bool force_inline()          const { return get_Method()->force_inline();          }
 196   bool dont_inline()           const { return get_Method()->dont_inline();           }
 197   bool intrinsic_candidate()   const { return get_Method()->intrinsic_candidate();   }
 198   bool is_class_initializer()  const { return get_Method()->is_class_initializer(); }
 199 
 200   int comp_level();
 201   int highest_osr_comp_level();
 202 
 203   Bytecodes::Code java_code_at_bci(int bci) {
 204     address bcp = code() + bci;
 205     return Bytecodes::java_code_at(NULL, bcp);
 206   }
 207   Bytecodes::Code raw_code_at_bci(int bci) {
 208     address bcp = code() + bci;
 209     return Bytecodes::code_at(NULL, bcp);
 210   }
 211   BCEscapeAnalyzer  *get_bcea();
 212   ciMethodBlocks    *get_method_blocks();
 213 
 214   bool    has_linenumber_table() const;          // length unknown until decompression
 215   u_char* compressed_linenumber_table() const;   // not preserved by gc
 216 
 217   int line_number_from_bci(int bci) const;
 218 


 328   bool is_static      () const                   { return flags().is_static(); }
 329   bool is_final       () const                   { return flags().is_final(); }
 330   bool is_synchronized() const                   { return flags().is_synchronized(); }
 331   bool is_native      () const                   { return flags().is_native(); }
 332   bool is_interface   () const                   { return flags().is_interface(); }
 333   bool is_abstract    () const                   { return flags().is_abstract(); }
 334   bool is_strict      () const                   { return flags().is_strict(); }
 335 
 336   // Other flags
 337   bool is_empty_method() const;
 338   bool is_vanilla_constructor() const;
 339   bool is_final_method() const                   { return is_final() || holder()->is_final(); }
 340   bool is_default_method() const                 { return !is_abstract() && !is_private() &&
 341                                                           holder()->is_interface(); }
 342   bool is_overpass    () const                   { check_is_loaded(); return _is_overpass; }
 343   bool has_loops      () const;
 344   bool has_jsrs       () const;
 345   bool is_getter      () const;
 346   bool is_setter      () const;
 347   bool is_accessor    () const;

 348   bool can_be_statically_bound() const           { return _can_be_statically_bound; }
 349   bool has_reserved_stack_access() const         { return _has_reserved_stack_access; }
 350   bool is_boxing_method() const;
 351   bool is_unboxing_method() const;
 352   bool is_object_constructor() const;
 353   bool is_static_init_factory() const;
 354   bool is_object_constructor_or_class_initializer() const;
 355 
 356   // Replay data methods
 357   void dump_name_as_ascii(outputStream* st);
 358   void dump_replay_data(outputStream* st);
 359 
 360   // Print the bytecodes of this method.
 361   void print_codes_on(outputStream* st);
 362   void print_codes() {
 363     print_codes_on(tty);
 364   }
 365   void print_codes_on(int from, int to, outputStream* st);
 366 
 367   // Print the name of this method in various incarnations.
 368   void print_name(outputStream* st = tty);
 369   void print_short_name(outputStream* st = tty);
 370 
 371   static bool is_consistent_info(ciMethod* declared_method, ciMethod* resolved_method);
 372 
 373   // Support for the value type calling convention
 374   bool has_scalarized_args() const;
< prev index next >