src/share/vm/code/codeBlob.hpp

changeset 9185
82f9d3b7e317
parent 5919
469216acdb28
child 9203
53eec13fbaa5
child 9861
a248d0be1309
     1.1 --- a/src/share/vm/code/codeBlob.hpp	Mon Jan 08 08:32:04 2018 -0800
     1.2 +++ b/src/share/vm/code/codeBlob.hpp	Fri Mar 30 20:09:45 2018 +0000
     1.3 @@ -1,5 +1,5 @@
     1.4  /*
     1.5 - * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved.
     1.6 + * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
     1.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     1.8   *
     1.9   * This code is free software; you can redistribute it and/or modify it
    1.10 @@ -101,6 +101,7 @@
    1.11    virtual bool is_exception_stub() const         { return false; }
    1.12    virtual bool is_safepoint_stub() const              { return false; }
    1.13    virtual bool is_adapter_blob() const                { return false; }
    1.14 +  virtual bool is_vtable_blob() const                 { return false; }
    1.15    virtual bool is_method_handles_adapter_blob() const { return false; }
    1.16  
    1.17    virtual bool is_compiled_by_c2() const         { return false; }
    1.18 @@ -202,6 +203,7 @@
    1.19  class BufferBlob: public CodeBlob {
    1.20    friend class VMStructs;
    1.21    friend class AdapterBlob;
    1.22 +  friend class VtableBlob;
    1.23    friend class MethodHandlesAdapterBlob;
    1.24  
    1.25   private:
    1.26 @@ -246,6 +248,18 @@
    1.27    virtual bool is_adapter_blob() const { return true; }
    1.28  };
    1.29  
    1.30 +//---------------------------------------------------------------------------------------------------
    1.31 +class VtableBlob: public BufferBlob {
    1.32 +private:
    1.33 +  VtableBlob(const char*, int);
    1.34 +
    1.35 +public:
    1.36 +  // Creation
    1.37 +  static VtableBlob* create(const char* name, int buffer_size);
    1.38 +
    1.39 +  // Typing
    1.40 +  virtual bool is_vtable_blob() const { return true; }
    1.41 +};
    1.42  
    1.43  //----------------------------------------------------------------------------------------------------
    1.44  // MethodHandlesAdapterBlob: used to hold MethodHandles adapters

mercurial