--- old/src/share/vm/opto/type.hpp 2014-02-11 13:33:07.000000000 -0800 +++ new/src/share/vm/opto/type.hpp 2014-02-11 13:33:07.000000000 -0800 @@ -489,6 +489,7 @@ virtual const Type *filter_helper(const Type *kills, bool include_speculative) const; public: + typedef jint NativeType; virtual bool eq( const Type *t ) const; virtual int hash() const; // Type specific hashing virtual bool singleton(void) const; // TRUE if type is a singleton @@ -531,6 +532,7 @@ static const TypeInt *POS1; static const TypeInt *INT; static const TypeInt *SYMINT; // symmetric range [-max_jint..max_jint] + static const TypeInt *as_self(const Type *t) { return t->is_int(); } #ifndef PRODUCT virtual void dump2( Dict &d, uint depth, outputStream *st ) const; #endif @@ -551,6 +553,7 @@ virtual bool singleton(void) const; // TRUE if type is a singleton virtual bool empty(void) const; // TRUE if type is vacuous public: + typedef jlong NativeType; const jlong _lo, _hi; // Lower bound, upper bound const short _widen; // Limit on times we widen this sucker @@ -580,6 +583,7 @@ static const TypeLong *LONG; static const TypeLong *INT; // 32-bit subrange [min_jint..max_jint] static const TypeLong *UINT; // 32-bit unsigned [0..max_juint] + static const TypeLong *as_self(const Type *t) { return t->is_long(); } #ifndef PRODUCT virtual void dump2( Dict &d, uint, outputStream *st ) const;// Specialized per-Type dumping #endif