< prev index next >

src/share/vm/oops/method.hpp

Print this page




 668 
 669   // Returns the line number for a bci if debugging information for the method is prowided,
 670   // -1 is returned otherwise.
 671   int line_number_from_bci(int bci) const;
 672 
 673   // Reflection support
 674   bool is_overridden_in(Klass* k) const;
 675 
 676   // Stack walking support
 677   bool is_ignored_by_security_stack_walk() const;
 678 
 679   // JSR 292 support
 680   bool is_method_handle_intrinsic() const;          // MethodHandles::is_signature_polymorphic_intrinsic(intrinsic_id)
 681   bool is_compiled_lambda_form() const;             // intrinsic_id() == vmIntrinsics::_compiledLambdaForm
 682   bool has_member_arg() const;                      // intrinsic_id() == vmIntrinsics::_linkToSpecial, etc.
 683   static methodHandle make_method_handle_intrinsic(vmIntrinsics::ID iid, // _invokeBasic, _linkToVirtual
 684                                                    Symbol* signature, //anything at all
 685                                                    TRAPS);
 686   static Klass* check_non_bcp_klass(Klass* klass);
 687 
 688   // How many extra stack entries for invokedynamic when it's enabled
 689   static const int extra_stack_entries_for_jsr292 = 1;


 690 
 691   // this operates only on invoke methods:
 692   // presize interpreter frames for extra interpreter stack entries, if needed
 693   // Account for the extra appendix argument for invokehandle/invokedynamic
 694   static int extra_stack_entries() { return extra_stack_entries_for_jsr292; }
 695   static int extra_stack_words();  // = extra_stack_entries() * Interpreter::stackElementSize
 696 
 697   // RedefineClasses() support:
 698   bool is_old() const                               { return access_flags().is_old(); }
 699   void set_is_old()                                 { _access_flags.set_is_old(); }
 700   bool is_obsolete() const                          { return access_flags().is_obsolete(); }
 701   void set_is_obsolete()                            { _access_flags.set_is_obsolete(); }
 702   bool is_deleted() const                           { return access_flags().is_deleted(); }
 703   void set_is_deleted()                             { _access_flags.set_is_deleted(); }
 704 
 705   bool is_running_emcp() const {
 706     // EMCP methods are old but not obsolete or deleted. Equivalent
 707     // Modulo Constant Pool means the method is equivalent except
 708     // the constant pool and instructions that access the constant
 709     // pool might be different.




 668 
 669   // Returns the line number for a bci if debugging information for the method is prowided,
 670   // -1 is returned otherwise.
 671   int line_number_from_bci(int bci) const;
 672 
 673   // Reflection support
 674   bool is_overridden_in(Klass* k) const;
 675 
 676   // Stack walking support
 677   bool is_ignored_by_security_stack_walk() const;
 678 
 679   // JSR 292 support
 680   bool is_method_handle_intrinsic() const;          // MethodHandles::is_signature_polymorphic_intrinsic(intrinsic_id)
 681   bool is_compiled_lambda_form() const;             // intrinsic_id() == vmIntrinsics::_compiledLambdaForm
 682   bool has_member_arg() const;                      // intrinsic_id() == vmIntrinsics::_linkToSpecial, etc.
 683   static methodHandle make_method_handle_intrinsic(vmIntrinsics::ID iid, // _invokeBasic, _linkToVirtual
 684                                                    Symbol* signature, //anything at all
 685                                                    TRAPS);
 686   static Klass* check_non_bcp_klass(Klass* klass);
 687 
 688   enum {
 689     // How many extra stack entries for invokedynamic
 690     extra_stack_entries_for_jsr292 = 1
 691   };
 692 
 693   // this operates only on invoke methods:
 694   // presize interpreter frames for extra interpreter stack entries, if needed
 695   // Account for the extra appendix argument for invokehandle/invokedynamic
 696   static int extra_stack_entries() { return extra_stack_entries_for_jsr292; }
 697   static int extra_stack_words();  // = extra_stack_entries() * Interpreter::stackElementSize
 698 
 699   // RedefineClasses() support:
 700   bool is_old() const                               { return access_flags().is_old(); }
 701   void set_is_old()                                 { _access_flags.set_is_old(); }
 702   bool is_obsolete() const                          { return access_flags().is_obsolete(); }
 703   void set_is_obsolete()                            { _access_flags.set_is_obsolete(); }
 704   bool is_deleted() const                           { return access_flags().is_deleted(); }
 705   void set_is_deleted()                             { _access_flags.set_is_deleted(); }
 706 
 707   bool is_running_emcp() const {
 708     // EMCP methods are old but not obsolete or deleted. Equivalent
 709     // Modulo Constant Pool means the method is equivalent except
 710     // the constant pool and instructions that access the constant
 711     // pool might be different.


< prev index next >