< prev index next >

src/share/vm/oops/cpCache.hpp

Print this page

*** 400,409 **** --- 400,416 ---- friend class MetadataFactory; private: int _length; ConstantPool* _constant_pool; // the corresponding constant pool + // The following fields need to be modified at runtime, so they cannot be + // stored in the ConstantPool, which is read-only. + // Array of resolved objects from the constant pool and map from resolved + // object index to original constant pool index + jobject _resolved_references; + Array<u2>* _reference_map; + // Sizing debug_only(friend class ClassVerifier;) // Constructor ConstantPoolCache(int length,
*** 429,438 **** --- 436,454 ---- const intStack& invokedynamic_cp_cache_map, const intStack& invokedynamic_references_map, TRAPS); bool is_constantPoolCache() const { return true; } int length() const { return _length; } + + jobject resolved_references() { return _resolved_references; } + void set_resolved_references(jobject s) { _resolved_references = s; } + Array<u2>* reference_map() const { return _reference_map; } + void set_reference_map(Array<u2>* o) { _reference_map = o; } + + // Assembly code support + static int resolved_references_offset_in_bytes() { return offset_of(ConstantPoolCache, _resolved_references); } + private: void set_length(int length) { _length = length; } static int header_size() { return sizeof(ConstantPoolCache) / wordSize; } static int size(int length) { return align_metadata_size(header_size() + length * in_words(ConstantPoolCacheEntry::size())); }
< prev index next >