< prev index next >

src/hotspot/share/code/codeBlob.cpp

Print this page
@@ -205,11 +205,11 @@
    assert(_mutable_data != nullptr, "should never be null");
    if (_mutable_data != blob_end()) {
      os::free(_mutable_data);
      _mutable_data = blob_end(); // Valid not null address
    }
-   if (_oop_maps != nullptr) {
+   if (_oop_maps != nullptr && !AOTCodeCache::is_address_in_aot_cache((address)_oop_maps)) {
      delete _oop_maps;
      _oop_maps = nullptr;
    }
    NOT_PRODUCT(_asm_remarks.clear());
    NOT_PRODUCT(_dbg_strings.clear());

@@ -279,14 +279,10 @@
  
  CodeBlob* CodeBlob::create(CodeBlob* archived_blob,
                             const char* name,
                             address archived_reloc_data,
                             ImmutableOopMapSet* archived_oop_maps
- #ifndef PRODUCT
-                            , AsmRemarks& archived_asm_remarks
-                            , DbgStrings& archived_dbg_strings
- #endif // PRODUCT
                            )
  {
    ThreadInVMfromUnknown __tiv;  // get to VM state in case we block on CodeCache_lock
  
    CodeCache::gc_on_allocation();

@@ -299,16 +295,10 @@
      if (code_cache_buffer != nullptr) {
        blob = archived_blob->restore(code_cache_buffer,
                                      name,
                                      archived_reloc_data,
                                      archived_oop_maps);
- #ifndef PRODUCT
-       blob->use_remarks(archived_asm_remarks);
-       archived_asm_remarks.clear();
-       blob->use_strings(archived_dbg_strings);
-       archived_dbg_strings.clear();
- #endif // PRODUCT
  
        assert(blob != nullptr, "sanity check");
        // Flush the code block
        ICache::invalidate_range(blob->code_begin(), blob->code_size());
        CodeCache::commit(blob); // Count adapters
< prev index next >