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: