< prev index next >

src/hotspot/share/opto/type.hpp

Print this page

        

@@ -761,17 +761,22 @@
 //------------------------------TypeValue---------------------------------------
 // Class of Value Type Types
 class TypeValueType : public Type {
 private:
   ciValueKlass* _vk;
+  bool _larval;
 
 protected:
-  TypeValueType(ciValueKlass* vk) : Type(ValueType) { _vk = vk; }
+  TypeValueType(ciValueKlass* vk, bool larval)
+    : Type(ValueType),
+      _vk(vk), _larval(larval) {
+  }
 
 public:
-  static const TypeValueType* make(ciValueKlass* vk);
+  static const TypeValueType* make(ciValueKlass* vk, bool larval = false);
   ciValueKlass* value_klass() const { return _vk; }
+  bool larval() const { return _larval; }
 
   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
   virtual bool empty(void) const;        // TRUE if type is vacuous

@@ -1878,10 +1883,12 @@
 #define Op_AndX      Op_AndL
 #define Op_AddX      Op_AddL
 #define Op_SubX      Op_SubL
 #define Op_XorX      Op_XorL
 #define Op_URShiftX  Op_URShiftL
+#define Op_LoadX     Op_LoadL
+#define Op_StoreX    Op_StoreL
 // conversions
 #define ConvI2X(x)   ConvI2L(x)
 #define ConvL2X(x)   (x)
 #define ConvX2I(x)   ConvL2I(x)
 #define ConvX2L(x)   (x)

@@ -1926,10 +1933,12 @@
 #define Op_AndX      Op_AndI
 #define Op_AddX      Op_AddI
 #define Op_SubX      Op_SubI
 #define Op_XorX      Op_XorI
 #define Op_URShiftX  Op_URShiftI
+#define Op_LoadX     Op_LoadI
+#define Op_StoreX    Op_StoreI
 // conversions
 #define ConvI2X(x)   (x)
 #define ConvL2X(x)   ConvL2I(x)
 #define ConvX2I(x)   (x)
 #define ConvX2L(x)   ConvI2L(x)
< prev index next >