< prev index next >

src/hotspot/share/code/codeBlob.hpp

Print this page

        

*** 106,124 **** // address _content_end - not required, for all CodeBlobs _code_end == _content_end for now address _data_end; address _relocation_begin; address _relocation_end; ImmutableOopMapSet* _oop_maps; // OopMap for this CodeBlob bool _caller_must_gc_arguments; CodeStrings _strings; const char* _name; S390_ONLY(int _ctable_offset;) ! CodeBlob(const char* name, CompilerType type, const CodeBlobLayout& layout, int frame_complete_offset, int frame_size, ImmutableOopMapSet* oop_maps, bool caller_must_gc_arguments); ! CodeBlob(const char* name, CompilerType type, const CodeBlobLayout& layout, CodeBuffer* cb, int frame_complete_offset, int frame_size, OopMapSet* oop_maps, bool caller_must_gc_arguments); ! public: // Only used by unit test. CodeBlob() : _type(compiler_none) {} --- 106,125 ---- // address _content_end - not required, for all CodeBlobs _code_end == _content_end for now address _data_end; address _relocation_begin; address _relocation_end; + bool _is_compiled; + ImmutableOopMapSet* _oop_maps; // OopMap for this CodeBlob bool _caller_must_gc_arguments; CodeStrings _strings; const char* _name; S390_ONLY(int _ctable_offset;) ! CodeBlob(const char* name, CompilerType type, const CodeBlobLayout& layout, int frame_complete_offset, int frame_size, ImmutableOopMapSet* oop_maps, bool caller_must_gc_arguments, bool compiled = false); ! CodeBlob(const char* name, CompilerType type, const CodeBlobLayout& layout, CodeBuffer* cb, int frame_complete_offset, int frame_size, OopMapSet* oop_maps, bool caller_must_gc_arguments, bool compiled = false); public: // Only used by unit test. CodeBlob() : _type(compiler_none) {}
*** 139,149 **** virtual bool is_safepoint_stub() const { return false; } virtual bool is_adapter_blob() const { return false; } virtual bool is_vtable_blob() const { return false; } virtual bool is_method_handles_adapter_blob() const { return false; } virtual bool is_aot() const { return false; } ! virtual bool is_compiled() const { return false; } inline bool is_compiled_by_c1() const { return _type == compiler_c1; }; inline bool is_compiled_by_c2() const { return _type == compiler_c2; }; inline bool is_compiled_by_jvmci() const { return _type == compiler_jvmci; }; const char* compiler_name() const; --- 140,151 ---- virtual bool is_safepoint_stub() const { return false; } virtual bool is_adapter_blob() const { return false; } virtual bool is_vtable_blob() const { return false; } virtual bool is_method_handles_adapter_blob() const { return false; } virtual bool is_aot() const { return false; } ! bool is_compiled() const { return _is_compiled; } ! const bool* is_compiled_addr() const { return &_is_compiled; } inline bool is_compiled_by_c1() const { return _type == compiler_c1; }; inline bool is_compiled_by_c2() const { return _type == compiler_c2; }; inline bool is_compiled_by_jvmci() const { return _type == compiler_jvmci; }; const char* compiler_name() const;
*** 206,216 **** virtual bool is_alive() const = 0; // OopMap for frame ImmutableOopMapSet* oop_maps() const { return _oop_maps; } void set_oop_maps(OopMapSet* p); ! const ImmutableOopMap* oop_map_for_return_address(address return_address); virtual void preserve_callee_argument_oops(frame fr, const RegisterMap* reg_map, OopClosure* f) = 0; // Frame support. Sizes are in word units. int frame_size() const { return _frame_size; } void set_frame_size(int size) { _frame_size = size; } --- 208,225 ---- virtual bool is_alive() const = 0; // OopMap for frame ImmutableOopMapSet* oop_maps() const { return _oop_maps; } void set_oop_maps(OopMapSet* p); ! ! const ImmutableOopMap* oop_map_for_slot(int slot, address return_address) const { ! assert(_oop_maps != NULL, "nope"); ! return _oop_maps->find_map_at_slot(slot, (intptr_t) return_address - (intptr_t) code_begin()); ! } ! ! //const ImmutableOopMap* oop_map_for_slot(int slot, address return_address) const; ! const ImmutableOopMap* oop_map_for_return_address(address return_address) const; virtual void preserve_callee_argument_oops(frame fr, const RegisterMap* reg_map, OopClosure* f) = 0; // Frame support. Sizes are in word units. int frame_size() const { return _frame_size; } void set_frame_size(int size) { _frame_size = size; }
*** 253,262 **** --- 262,276 ---- static ByteSize oop_maps_field_offset() { return byte_offset_of(CodeBlob, _oop_maps); } }; + class CodeBlobLookup { + public: + virtual CodeBlob* find_blob(address addr) const { return NULL; } + }; + class CodeBlobLayout : public StackObj { private: int _size; int _header_size; int _relocation_size;
< prev index next >