< prev index next >

src/share/vm/oops/constantPool.hpp

Print this page




 699   int name_and_type_ref_index_at(int which)       { return impl_name_and_type_ref_index_at(which, false); }
 700 
 701   int remap_instruction_operand_from_cache(int operand);  // operand must be biased by CPCACHE_INDEX_TAG
 702 
 703   constantTag tag_ref_at(int cp_cache_index)      { return impl_tag_ref_at(cp_cache_index, false); }
 704 
 705   // Lookup for entries consisting of (name_index, signature_index)
 706   int name_ref_index_at(int which_nt);            // ==  low-order jshort of name_and_type_at(which_nt)
 707   int signature_ref_index_at(int which_nt);       // == high-order jshort of name_and_type_at(which_nt)
 708 
 709   BasicType basic_type_for_signature_at(int which) const;
 710 
 711   // Resolve string constants (to prevent allocation during compilation)
 712   void resolve_string_constants(TRAPS) {
 713     constantPoolHandle h_this(THREAD, this);
 714     resolve_string_constants_impl(h_this, CHECK);
 715   }
 716 
 717   // CDS support
 718   void archive_resolved_references(Thread *THREAD) NOT_CDS_JAVA_HEAP_RETURN;

 719   void remove_unshareable_info();
 720   void restore_unshareable_info(TRAPS);
 721   bool resolve_class_constants(TRAPS);
 722   // The ConstantPool vtable is restored by this call when the ConstantPool is
 723   // in the shared archive.  See patch_klass_vtables() in metaspaceShared.cpp for
 724   // all the gory details.  SA, dtrace and pstack helpers distinguish metadata
 725   // by their vtable.
 726   void restore_vtable() { guarantee(is_constantPool(), "vtable restored by this call"); }
 727 
 728  private:
 729   enum { _no_index_sentinel = -1, _possible_index_sentinel = -2 };
 730  public:
 731 
 732   // Resolve late bound constants.
 733   oop resolve_constant_at(int index, TRAPS) {
 734     constantPoolHandle h_this(THREAD, this);
 735     return resolve_constant_at_impl(h_this, index, _no_index_sentinel, THREAD);
 736   }
 737 
 738   oop resolve_cached_constant_at(int cache_index, TRAPS) {
 739     constantPoolHandle h_this(THREAD, this);
 740     return resolve_constant_at_impl(h_this, _no_index_sentinel, cache_index, THREAD);
 741   }




 699   int name_and_type_ref_index_at(int which)       { return impl_name_and_type_ref_index_at(which, false); }
 700 
 701   int remap_instruction_operand_from_cache(int operand);  // operand must be biased by CPCACHE_INDEX_TAG
 702 
 703   constantTag tag_ref_at(int cp_cache_index)      { return impl_tag_ref_at(cp_cache_index, false); }
 704 
 705   // Lookup for entries consisting of (name_index, signature_index)
 706   int name_ref_index_at(int which_nt);            // ==  low-order jshort of name_and_type_at(which_nt)
 707   int signature_ref_index_at(int which_nt);       // == high-order jshort of name_and_type_at(which_nt)
 708 
 709   BasicType basic_type_for_signature_at(int which) const;
 710 
 711   // Resolve string constants (to prevent allocation during compilation)
 712   void resolve_string_constants(TRAPS) {
 713     constantPoolHandle h_this(THREAD, this);
 714     resolve_string_constants_impl(h_this, CHECK);
 715   }
 716 
 717   // CDS support
 718   void archive_resolved_references(Thread *THREAD) NOT_CDS_JAVA_HEAP_RETURN;
 719   bool resolve_class_constants(TRAPS) NOT_CDS_JAVA_HEAP_RETURN_(true); 
 720   void remove_unshareable_info();
 721   void restore_unshareable_info(TRAPS);

 722   // The ConstantPool vtable is restored by this call when the ConstantPool is
 723   // in the shared archive.  See patch_klass_vtables() in metaspaceShared.cpp for
 724   // all the gory details.  SA, dtrace and pstack helpers distinguish metadata
 725   // by their vtable.
 726   void restore_vtable() { guarantee(is_constantPool(), "vtable restored by this call"); }
 727 
 728  private:
 729   enum { _no_index_sentinel = -1, _possible_index_sentinel = -2 };
 730  public:
 731 
 732   // Resolve late bound constants.
 733   oop resolve_constant_at(int index, TRAPS) {
 734     constantPoolHandle h_this(THREAD, this);
 735     return resolve_constant_at_impl(h_this, index, _no_index_sentinel, THREAD);
 736   }
 737 
 738   oop resolve_cached_constant_at(int cache_index, TRAPS) {
 739     constantPoolHandle h_this(THREAD, this);
 740     return resolve_constant_at_impl(h_this, _no_index_sentinel, cache_index, THREAD);
 741   }


< prev index next >