8138890: C1: Ambiguous operator delete

XlC on AIX rejects to compile LIRGenerator and RangeCheckEliminator::Verification

Reviewed-by: simonis, goetz, twisti
This commit is contained in:
Martin Doerr 2015-10-09 20:58:25 +02:00
parent 98073abeef
commit 3d2b56d9b3
2 changed files with 13 additions and 2 deletions

View File

@ -153,8 +153,13 @@ class PhiResolver: public CompilationResourceObj {
// 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);
Compilation* _compilation;
ciMethod* _method; // method that we are compiling
PhiResolverState _resolver_state;

View File

@ -45,8 +45,14 @@ private:
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;