174 inline ResolvedFieldEntry* resolved_field_entry_at(int field_index) const;
175 inline int resolved_field_entries_length() const;
176 void print_resolved_field_entries(outputStream* st) const;
177
178 Array<ResolvedIndyEntry>* resolved_indy_entries() { return _resolved_indy_entries; }
179 inline ResolvedIndyEntry* resolved_indy_entry_at(int index) const;
180 inline int resolved_indy_entries_length() const;
181 void print_resolved_indy_entries(outputStream* st) const;
182
183 Array<ResolvedMethodEntry>* resolved_method_entries() { return _resolved_method_entries; }
184 inline ResolvedMethodEntry* resolved_method_entry_at(int method_index) const;
185 inline int resolved_method_entries_length() const;
186 void print_resolved_method_entries(outputStream* st) const;
187
188 // Assembly code support
189 static ByteSize resolved_references_offset() { return byte_offset_of(ConstantPoolCache, _resolved_references); }
190 static ByteSize invokedynamic_entries_offset() { return byte_offset_of(ConstantPoolCache, _resolved_indy_entries); }
191 static ByteSize field_entries_offset() { return byte_offset_of(ConstantPoolCache, _resolved_field_entries); }
192 static ByteSize method_entries_offset() { return byte_offset_of(ConstantPoolCache, _resolved_method_entries); }
193
194 #if INCLUDE_CDS
195 void remove_unshareable_info();
196 void save_for_archive(TRAPS);
197 #endif
198
199 public:
200 static int size() { return align_metadata_size(sizeof(ConstantPoolCache) / wordSize); }
201
202 private:
203
204 // Helpers
205 ConstantPool** constant_pool_addr() { return &_constant_pool; }
206
207 public:
208 // Accessors
209 void set_constant_pool(ConstantPool* pool) { _constant_pool = pool; }
210 ConstantPool* constant_pool() const { return _constant_pool; }
211
212 // Code generation
213 static ByteSize base_offset() { return in_ByteSize(sizeof(ConstantPoolCache)); }
214
215 #if INCLUDE_JVMTI
216 // RedefineClasses() API support:
217 // If any entry of this ConstantPoolCache points to any of
218 // old_methods, replace it with the corresponding new_method.
|
174 inline ResolvedFieldEntry* resolved_field_entry_at(int field_index) const;
175 inline int resolved_field_entries_length() const;
176 void print_resolved_field_entries(outputStream* st) const;
177
178 Array<ResolvedIndyEntry>* resolved_indy_entries() { return _resolved_indy_entries; }
179 inline ResolvedIndyEntry* resolved_indy_entry_at(int index) const;
180 inline int resolved_indy_entries_length() const;
181 void print_resolved_indy_entries(outputStream* st) const;
182
183 Array<ResolvedMethodEntry>* resolved_method_entries() { return _resolved_method_entries; }
184 inline ResolvedMethodEntry* resolved_method_entry_at(int method_index) const;
185 inline int resolved_method_entries_length() const;
186 void print_resolved_method_entries(outputStream* st) const;
187
188 // Assembly code support
189 static ByteSize resolved_references_offset() { return byte_offset_of(ConstantPoolCache, _resolved_references); }
190 static ByteSize invokedynamic_entries_offset() { return byte_offset_of(ConstantPoolCache, _resolved_indy_entries); }
191 static ByteSize field_entries_offset() { return byte_offset_of(ConstantPoolCache, _resolved_field_entries); }
192 static ByteSize method_entries_offset() { return byte_offset_of(ConstantPoolCache, _resolved_method_entries); }
193
194 public:
195 static int size() { return align_metadata_size(sizeof(ConstantPoolCache) / wordSize); }
196
197 private:
198
199 // Helpers
200 ConstantPool** constant_pool_addr() { return &_constant_pool; }
201
202 public:
203 // Accessors
204 void set_constant_pool(ConstantPool* pool) { _constant_pool = pool; }
205 ConstantPool* constant_pool() const { return _constant_pool; }
206
207 // Code generation
208 static ByteSize base_offset() { return in_ByteSize(sizeof(ConstantPoolCache)); }
209
210 #if INCLUDE_JVMTI
211 // RedefineClasses() API support:
212 // If any entry of this ConstantPoolCache points to any of
213 // old_methods, replace it with the corresponding new_method.
|