hotspot Sdiff src/share/vm/oops (original) (raw)


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.