src/share/vm/c1/c1_ValueType.cpp

Print this page

        

*** 44,74 **** IntConstant* intZero = NULL; IntConstant* intOne = NULL; ObjectConstant* objectNull = NULL; ! void ValueType::initialize() { // Note: Must initialize all types for each compilation // as they are allocated within a ResourceMark! // types ! voidType = new VoidType(); ! intType = new IntType(); ! longType = new LongType(); ! floatType = new FloatType(); ! doubleType = new DoubleType(); ! objectType = new ObjectType(); ! arrayType = new ArrayType(); ! instanceType = new InstanceType(); ! classType = new ClassType(); ! addressType = new AddressType(); ! illegalType = new IllegalType(); ! ! // constants ! intZero = new IntConstant(0); ! intOne = new IntConstant(1); ! objectNull = new ObjectConstant(ciNullObject::make()); }; ValueType* ValueType::meet(ValueType* y) const { // incomplete & conservative solution for now - fix this! --- 44,73 ---- IntConstant* intZero = NULL; IntConstant* intOne = NULL; ObjectConstant* objectNull = NULL; ! void ValueType::initialize(Arena* arena) { // Note: Must initialize all types for each compilation // as they are allocated within a ResourceMark! // types ! voidType = new (arena) VoidType(); ! intType = new (arena) IntType(); ! longType = new (arena) LongType(); ! floatType = new (arena) FloatType(); ! doubleType = new (arena) DoubleType(); ! objectType = new (arena) ObjectType(); ! arrayType = new (arena) ArrayType(); ! instanceType = new (arena) InstanceType(); ! classType = new (arena) ClassType(); ! addressType = new (arena) AddressType(); ! illegalType = new (arena) IllegalType(); ! ! intZero = new (arena) IntConstant(0); ! intOne = new (arena) IntConstant(1); ! objectNull = new (arena) ObjectConstant(ciNullObject::make()); }; ValueType* ValueType::meet(ValueType* y) const { // incomplete & conservative solution for now - fix this!