src/hotspot/share/code/codeBlob.hpp

Print this page

        

*** 130,139 **** --- 130,140 ---- virtual bool is_deoptimization_stub() const { return false; } virtual bool is_uncommon_trap_stub() const { return false; } virtual bool is_exception_stub() const { return false; } 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; };
*** 378,387 **** --- 379,389 ---- // BufferBlob: used to hold non-relocatable machine code such as the interpreter, stubroutines, etc. class BufferBlob: public RuntimeBlob { friend class VMStructs; friend class AdapterBlob; + friend class VtableBlob; friend class MethodHandlesAdapterBlob; friend class WhiteBox; private: // Creation support
*** 423,433 **** --- 425,447 ---- // Typing virtual bool is_adapter_blob() const { return true; } }; + //--------------------------------------------------------------------------------------------------- + class VtableBlob: public BufferBlob { + private: + VtableBlob(const char*, int); + public: + // Creation + static VtableBlob* create(const char* name, int buffer_size); + + // Typing + virtual bool is_vtable_blob() const { return true; } + }; + //---------------------------------------------------------------------------------------------------- // MethodHandlesAdapterBlob: used to hold MethodHandles adapters class MethodHandlesAdapterBlob: public BufferBlob { private: