< prev index next >

src/hotspot/share/oops/resolvedIndyEntry.cpp

Print this page
@@ -21,10 +21,11 @@
   * questions.
   *
   */
  
  #include "precompiled.hpp"
+ #include "cds/archiveBuilder.hpp"
  #include "code/compressedStream.hpp"
  #include "oops/method.hpp"
  #include "oops/resolvedIndyEntry.hpp"
  
  bool ResolvedIndyEntry::check_no_old_or_obsolete_entry() {

@@ -35,18 +36,25 @@
    } else {
        return true;
    }
  }
  
+ #if INCLUDE_CDS
  void ResolvedIndyEntry::remove_unshareable_info() {
    u2 saved_resolved_references_index = _resolved_references_index;
    u2 saved_cpool_index = _cpool_index;
    memset(this, 0, sizeof(*this));
    _resolved_references_index = saved_resolved_references_index;
    _cpool_index = saved_cpool_index;
  }
  
+ void ResolvedIndyEntry::mark_and_relocate() {
+   assert(is_resolved(), "must be");
+   ArchiveBuilder::current()->mark_and_relocate_to_buffered_addr(&_method);
+ }
+ #endif
+ 
  void ResolvedIndyEntry::print_on(outputStream* st) const {
    st->print_cr("Resolved InvokeDynamic Info:");
    if (_method != nullptr) {
        st->print_cr(" - Method: " INTPTR_FORMAT " %s", p2i(method()), method()->external_name());
    } else {
< prev index next >