src/share/vm/c1/c1_ValueType.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File
*** old/src/share/vm/c1/c1_ValueType.hpp	Mon Feb 29 15:42:32 2016
--- new/src/share/vm/c1/c1_ValueType.hpp	Mon Feb 29 15:42:32 2016

*** 43,52 **** --- 43,53 ---- class DoubleConstant; class ObjectType; class ObjectConstant; class ArrayType; class ArrayConstant; + class StableArrayConstant; class InstanceType; class InstanceConstant; class MetadataType; class ClassType; class ClassConstant;
*** 166,175 **** --- 167,177 ---- virtual InstanceConstant* as_InstanceConstant(){ return NULL; } virtual ClassConstant* as_ClassConstant() { return NULL; } virtual MethodConstant* as_MethodConstant() { return NULL; } virtual MethodDataConstant* as_MethodDataConstant() { return NULL; } virtual ArrayConstant* as_ArrayConstant() { return NULL; } + virtual StableArrayConstant* as_StableArrayConstant() { return NULL; } virtual AddressConstant* as_AddressConstant() { return NULL; } // type operations ValueType* meet(ValueType* y) const; ValueType* join(ValueType* y) const;
*** 353,362 **** --- 355,378 ---- virtual ArrayConstant* as_ArrayConstant() { return this; } virtual ciObject* constant_value() const; virtual ciType* exact_type() const; }; + class StableArrayConstant: public ArrayConstant { + private: + jint _dimension; + + public: + StableArrayConstant(ciArray* value, jint dimension) : ArrayConstant(value) { + assert(dimension > 0, "not a stable array"); + _dimension = dimension; + } + + jint dimension() const { return _dimension; } + + virtual StableArrayConstant* as_StableArrayConstant() { return this; } + }; class InstanceType: public ObjectType { public: virtual InstanceType* as_InstanceType() { return this; } };

src/share/vm/c1/c1_ValueType.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File