< prev index next >
src/share/vm/oops/cpCache.hpp
Print this page
rev 13365 : [mq]: review_update_1
*** 413,422 ****
--- 413,425 ----
// 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;
+ // The narrowOop pointer to the archived resolved_references. Set at CDS dump
+ // time when caching java heap object is supported.
+ CDS_JAVA_HEAP_ONLY(narrowOop _archived_references;)
// Sizing
debug_only(friend class ClassVerifier;)
// Constructor
*** 424,433 ****
--- 427,437 ----
const intStack& inverse_index_map,
const intStack& invokedynamic_inverse_index_map,
const intStack& invokedynamic_references_map) :
_length(length),
_constant_pool(NULL) {
+ CDS_JAVA_HEAP_ONLY(_archived_references = 0;)
initialize(inverse_index_map, invokedynamic_inverse_index_map,
invokedynamic_references_map);
for (int i = 0; i < length; i++) {
assert(entry_at(i)->is_f1_null(), "Failed to clear?");
}
*** 446,455 ****
--- 450,462 ----
int length() const { return _length; }
void metaspace_pointers_do(MetaspaceClosure* it);
MetaspaceObj::Type type() const { return ConstantPoolCacheType; }
+ oop archived_references() NOT_CDS_JAVA_HEAP_RETURN_(NULL);
+ void set_archived_references(oop o) NOT_CDS_JAVA_HEAP_RETURN;
+
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; }
< prev index next >