< prev index next > src/hotspot/share/code/codeBlob.hpp
Print this page
#ifndef SHARE_CODE_CODEBLOB_HPP
#define SHARE_CODE_CODEBLOB_HPP
#include "asm/codeBuffer.hpp"
+ #include "code/aotCodeCache.hpp"
#include "compiler/compilerDefinitions.hpp"
#include "compiler/oopMap.hpp"
#include "runtime/javaFrameAnchor.hpp"
#include "runtime/frame.hpp"
#include "runtime/handles.hpp"
void post_restore_impl();
public:
~CodeBlob() {
- assert(_oop_maps == nullptr, "Not flushed");
+ assert(_oop_maps == nullptr || AOTCodeCache::is_address_in_aot_cache((address)_oop_maps), "Not flushed");
}
// Returns the space needed for CodeBlob
static unsigned int allocation_size(CodeBuffer* cb, int header_size);
static unsigned int align_code_offset(int offset);
void set_ctable_begin(address ctable) { S390_ONLY(_ctable_offset = ctable - header_begin();) }
// Sizes
int size() const { return _size; }
int header_size() const { return _header_size; }
- int relocation_size() const { return pointer_delta_as_int((address) relocation_end(), (address) relocation_begin()); }
+ int relocation_size() const { return _relocation_size; }
int content_size() const { return pointer_delta_as_int(content_end(), content_begin()); }
int code_size() const { return pointer_delta_as_int(code_end(), code_begin()); }
// Only used from CodeCache::free_unused_tail() after the Interpreter blob was trimmed
void adjust_size(size_t used) {
void post_restore();
CodeBlob* restore(address code_cache_buffer, const char* name, address archived_reloc_data, ImmutableOopMapSet* archived_oop_maps);
static 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
- );
+ ImmutableOopMapSet* archived_oop_maps);
};
//----------------------------------------------------------------------------------------------------
// RuntimeBlob: used for non-compiled method code (adapters, stubs, blobs)
< prev index next >