--- a/hotspot/src/share/vm/c1/c1_LIRGenerator.hpp Wed Oct 21 12:15:37 2015 +0000
+++ b/hotspot/src/share/vm/c1/c1_LIRGenerator.hpp Thu Oct 22 19:03:52 2015 +0000
@@ -153,8 +153,13 @@
// only the classes below belong in the same file
class LIRGenerator: public InstructionVisitor, public BlockClosure {
+ // LIRGenerator should never get instatiated on the heap.
+ private:
+ void* operator new(size_t size) throw();
+ void* operator new[](size_t size) throw();
+ void operator delete(void* p);
+ void operator delete[](void* p);
- private:
Compilation* _compilation;
ciMethod* _method; // method that we are compiling
PhiResolverState _resolver_state;
--- a/hotspot/src/share/vm/c1/c1_RangeCheckElimination.hpp Wed Oct 21 12:15:37 2015 +0000
+++ b/hotspot/src/share/vm/c1/c1_RangeCheckElimination.hpp Thu Oct 22 19:03:52 2015 +0000
@@ -45,8 +45,14 @@
define_stack(IntegerStack, intArray)
define_array(IntegerMap, IntegerStack*)
- class Verification : public _ValueObj /*VALUE_OBJ_CLASS_SPEC*/, public BlockClosure {
+ class Verification : public BlockClosure {
+ // RangeCheckEliminator::Verification should never get instatiated on the heap.
private:
+ void* operator new(size_t size) throw();
+ void* operator new[](size_t size) throw();
+ void operator delete(void* p);
+ void operator delete[](void* p);
+
IR *_ir;
boolArray _used;
BlockBeginList _current;