1.1 --- a/src/share/vm/c1/c1_ValueType.hpp Mon Jul 23 13:04:59 2012 -0700 1.2 +++ b/src/share/vm/c1/c1_ValueType.hpp Tue Jul 24 10:51:00 2012 -0700 1.3 @@ -297,7 +297,8 @@ 1.4 virtual const char tchar() const { return 'a'; } 1.5 virtual const char* name() const { return "object"; } 1.6 virtual ObjectType* as_ObjectType() { return this; } 1.7 - virtual ciObject* constant_value() const { ShouldNotReachHere(); return NULL; } 1.8 + virtual ciObject* constant_value() const { ShouldNotReachHere(); return NULL; } 1.9 + virtual ciType* exact_type() const { return NULL; } 1.10 bool is_loaded() const; 1.11 jobject encoding() const; 1.12 }; 1.13 @@ -315,6 +316,7 @@ 1.14 virtual bool is_constant() const { return true; } 1.15 virtual ObjectConstant* as_ObjectConstant() { return this; } 1.16 virtual ciObject* constant_value() const; 1.17 + virtual ciType* exact_type() const; 1.18 }; 1.19 1.20 1.21 @@ -334,9 +336,9 @@ 1.22 ciArray* value() const { return _value; } 1.23 1.24 virtual bool is_constant() const { return true; } 1.25 - 1.26 virtual ArrayConstant* as_ArrayConstant() { return this; } 1.27 virtual ciObject* constant_value() const; 1.28 + virtual ciType* exact_type() const; 1.29 }; 1.30 1.31 1.32 @@ -356,9 +358,9 @@ 1.33 ciInstance* value() const { return _value; } 1.34 1.35 virtual bool is_constant() const { return true; } 1.36 - 1.37 virtual InstanceConstant* as_InstanceConstant(){ return this; } 1.38 virtual ciObject* constant_value() const; 1.39 + virtual ciType* exact_type() const; 1.40 }; 1.41 1.42 1.43 @@ -378,9 +380,9 @@ 1.44 ciInstanceKlass* value() const { return _value; } 1.45 1.46 virtual bool is_constant() const { return true; } 1.47 - 1.48 virtual ClassConstant* as_ClassConstant() { return this; } 1.49 virtual ciObject* constant_value() const; 1.50 + virtual ciType* exact_type() const; 1.51 }; 1.52 1.53