src/share/vm/oops/method.hpp

Print this page




 671                                                    Symbol* signature, //anything at all
 672                                                    TRAPS);
 673   static Klass* check_non_bcp_klass(Klass* klass);
 674 
 675   // How many extra stack entries for invokedynamic when it's enabled
 676   static const int extra_stack_entries_for_jsr292 = 1;
 677 
 678   // this operates only on invoke methods:
 679   // presize interpreter frames for extra interpreter stack entries, if needed
 680   // Account for the extra appendix argument for invokehandle/invokedynamic
 681   static int extra_stack_entries() { return extra_stack_entries_for_jsr292; }
 682   static int extra_stack_words();  // = extra_stack_entries() * Interpreter::stackElementSize
 683 
 684   // RedefineClasses() support:
 685   bool is_old() const                               { return access_flags().is_old(); }
 686   void set_is_old()                                 { _access_flags.set_is_old(); }
 687   bool is_obsolete() const                          { return access_flags().is_obsolete(); }
 688   void set_is_obsolete()                            { _access_flags.set_is_obsolete(); }
 689   bool is_deleted() const                           { return access_flags().is_deleted(); }
 690   void set_is_deleted()                             { _access_flags.set_is_deleted(); }







 691   bool on_stack() const                             { return access_flags().on_stack(); }
 692   void set_on_stack(const bool value);
 693 
 694   // see the definition in Method*.cpp for the gory details
 695   bool should_not_be_cached() const;
 696 
 697   // JVMTI Native method prefixing support:
 698   bool is_prefixed_native() const                   { return access_flags().is_prefixed_native(); }
 699   void set_is_prefixed_native()                     { _access_flags.set_is_prefixed_native(); }
 700 
 701   // Rewriting support
 702   static methodHandle clone_with_new_data(methodHandle m, u_char* new_code, int new_code_length,
 703                                           u_char* new_compressed_linenumber_table, int new_compressed_linenumber_size, TRAPS);
 704 
 705   // jmethodID handling
 706   // Because the useful life-span of a jmethodID cannot be determined,
 707   // once created they are never reclaimed.  The methods to which they refer,
 708   // however, can be GC'ed away if the class is unloaded or if the method is
 709   // made obsolete or deleted -- in these cases, the jmethodID
 710   // refers to NULL (as is the case for any weak reference).




 671                                                    Symbol* signature, //anything at all
 672                                                    TRAPS);
 673   static Klass* check_non_bcp_klass(Klass* klass);
 674 
 675   // How many extra stack entries for invokedynamic when it's enabled
 676   static const int extra_stack_entries_for_jsr292 = 1;
 677 
 678   // this operates only on invoke methods:
 679   // presize interpreter frames for extra interpreter stack entries, if needed
 680   // Account for the extra appendix argument for invokehandle/invokedynamic
 681   static int extra_stack_entries() { return extra_stack_entries_for_jsr292; }
 682   static int extra_stack_words();  // = extra_stack_entries() * Interpreter::stackElementSize
 683 
 684   // RedefineClasses() support:
 685   bool is_old() const                               { return access_flags().is_old(); }
 686   void set_is_old()                                 { _access_flags.set_is_old(); }
 687   bool is_obsolete() const                          { return access_flags().is_obsolete(); }
 688   void set_is_obsolete()                            { _access_flags.set_is_obsolete(); }
 689   bool is_deleted() const                           { return access_flags().is_deleted(); }
 690   void set_is_deleted()                             { _access_flags.set_is_deleted(); }
 691 
 692   bool is_emcp() const {
 693     // emcp methods (equivalent method except constant pool is different) are methods
 694     // that are old but not obsolete or deleted.
 695     return is_old() && !(is_obsolete() || is_deleted());
 696   }
 697 
 698   bool on_stack() const                             { return access_flags().on_stack(); }
 699   void set_on_stack(const bool value);
 700 
 701   // see the definition in Method*.cpp for the gory details
 702   bool should_not_be_cached() const;
 703 
 704   // JVMTI Native method prefixing support:
 705   bool is_prefixed_native() const                   { return access_flags().is_prefixed_native(); }
 706   void set_is_prefixed_native()                     { _access_flags.set_is_prefixed_native(); }
 707 
 708   // Rewriting support
 709   static methodHandle clone_with_new_data(methodHandle m, u_char* new_code, int new_code_length,
 710                                           u_char* new_compressed_linenumber_table, int new_compressed_linenumber_size, TRAPS);
 711 
 712   // jmethodID handling
 713   // Because the useful life-span of a jmethodID cannot be determined,
 714   // once created they are never reclaimed.  The methods to which they refer,
 715   // however, can be GC'ed away if the class is unloaded or if the method is
 716   // made obsolete or deleted -- in these cases, the jmethodID
 717   // refers to NULL (as is the case for any weak reference).