31 #include "oops/resolvedFieldEntry.hpp"
32 #include "oops/resolvedIndyEntry.hpp"
33 #include "oops/resolvedMethodEntry.hpp"
34 #include "runtime/atomic.hpp"
35
36 // Constructor
37 inline ConstantPoolCache::ConstantPoolCache(const intStack& invokedynamic_references_map,
38 Array<ResolvedIndyEntry>* invokedynamic_info,
39 Array<ResolvedFieldEntry>* field_entries,
40 Array<ResolvedMethodEntry>* method_entries) :
41 _constant_pool(nullptr),
42 _gc_epoch(0),
43 _resolved_indy_entries(invokedynamic_info),
44 _resolved_field_entries(field_entries),
45 _resolved_method_entries(method_entries) {
46 CDS_JAVA_HEAP_ONLY(_archived_references_index = -1;)
47 }
48
49 inline objArrayOop ConstantPoolCache::resolved_references() {
50 oop obj = _resolved_references.resolve();
51 assert(obj == nullptr || obj->is_objArray(), "should be objArray");
52 return (objArrayOop)obj;
53 }
54
55 inline ResolvedFieldEntry* ConstantPoolCache::resolved_field_entry_at(int field_index) const {
56 return _resolved_field_entries->adr_at(field_index);
57 }
58
59 inline int ConstantPoolCache::resolved_field_entries_length() const {
60 return _resolved_field_entries->length();
61 }
62
63 inline ResolvedMethodEntry* ConstantPoolCache::resolved_method_entry_at(int method_index) const {
64 return _resolved_method_entries->adr_at(method_index);
65 }
66
67 inline int ConstantPoolCache::resolved_method_entries_length() const {
68 return _resolved_method_entries->length();
69 }
70
71 inline ResolvedIndyEntry* ConstantPoolCache::resolved_indy_entry_at(int index) const {
|
31 #include "oops/resolvedFieldEntry.hpp"
32 #include "oops/resolvedIndyEntry.hpp"
33 #include "oops/resolvedMethodEntry.hpp"
34 #include "runtime/atomic.hpp"
35
36 // Constructor
37 inline ConstantPoolCache::ConstantPoolCache(const intStack& invokedynamic_references_map,
38 Array<ResolvedIndyEntry>* invokedynamic_info,
39 Array<ResolvedFieldEntry>* field_entries,
40 Array<ResolvedMethodEntry>* method_entries) :
41 _constant_pool(nullptr),
42 _gc_epoch(0),
43 _resolved_indy_entries(invokedynamic_info),
44 _resolved_field_entries(field_entries),
45 _resolved_method_entries(method_entries) {
46 CDS_JAVA_HEAP_ONLY(_archived_references_index = -1;)
47 }
48
49 inline objArrayOop ConstantPoolCache::resolved_references() {
50 oop obj = _resolved_references.resolve();
51 assert(obj == nullptr || obj->is_refArray(), "should be refArray");
52 return (objArrayOop)obj;
53 }
54
55 inline ResolvedFieldEntry* ConstantPoolCache::resolved_field_entry_at(int field_index) const {
56 return _resolved_field_entries->adr_at(field_index);
57 }
58
59 inline int ConstantPoolCache::resolved_field_entries_length() const {
60 return _resolved_field_entries->length();
61 }
62
63 inline ResolvedMethodEntry* ConstantPoolCache::resolved_method_entry_at(int method_index) const {
64 return _resolved_method_entries->adr_at(method_index);
65 }
66
67 inline int ConstantPoolCache::resolved_method_entries_length() const {
68 return _resolved_method_entries->length();
69 }
70
71 inline ResolvedIndyEntry* ConstantPoolCache::resolved_indy_entry_at(int index) const {
|