--- old/src/hotspot/share/code/codeBlob.hpp 2018-10-22 01:55:45.973761779 -0700 +++ new/src/hotspot/share/code/codeBlob.hpp 2018-10-22 01:55:45.582726242 -0700 @@ -393,6 +393,10 @@ BufferBlob(const char* name, int size); BufferBlob(const char* name, int size, CodeBuffer* cb); + // This ordinary operator delete is needed even though not used, so the + // below two-argument operator delete will be treated as a placement + // delete rather than an ordinary sized delete; see C++14 3.7.4.2/p2. + void operator delete(void* p); void* operator new(size_t s, unsigned size) throw(); public: @@ -476,6 +480,10 @@ bool caller_must_gc_arguments ); + // This ordinary operator delete is needed even though not used, so the + // below two-argument operator delete will be treated as a placement + // delete rather than an ordinary sized delete; see C++14 3.7.4.2/p2. + void operator delete(void* p); void* operator new(size_t s, unsigned size) throw(); public: @@ -511,6 +519,10 @@ friend class VMStructs; protected: + // This ordinary operator delete is needed even though not used, so the + // below two-argument operator delete will be treated as a placement + // delete rather than an ordinary sized delete; see C++14 3.7.4.2/p2. + void operator delete(void* p); void* operator new(size_t s, unsigned size) throw(); public: