< prev index next >

src/hotspot/share/c1/c1_Instruction.hpp

Print this page

@@ -75,10 +75,12 @@
 class     NewValueTypeInstance;
 class     NewArray;
 class       NewTypeArray;
 class       NewObjectArray;
 class       NewMultiArray;
+class     WithField;
+class     DefaultValue;
 class     TypeCheck;
 class       CheckCast;
 class       InstanceOf;
 class     AccessMonitor;
 class       MonitorEnter;

@@ -180,10 +182,12 @@
   virtual void do_NewInstance    (NewInstance*     x) = 0;
   virtual void do_NewValueTypeInstance(NewValueTypeInstance* x) = 0;
   virtual void do_NewTypeArray   (NewTypeArray*    x) = 0;
   virtual void do_NewObjectArray (NewObjectArray*  x) = 0;
   virtual void do_NewMultiArray  (NewMultiArray*   x) = 0;
+  virtual void do_WithField      (WithField*       x) = 0;
+  virtual void do_DefaultValue   (DefaultValue*    x) = 0;
   virtual void do_CheckCast      (CheckCast*       x) = 0;
   virtual void do_InstanceOf     (InstanceOf*      x) = 0;
   virtual void do_MonitorEnter   (MonitorEnter*    x) = 0;
   virtual void do_MonitorExit    (MonitorExit*     x) = 0;
   virtual void do_Intrinsic      (Intrinsic*       x) = 0;

@@ -563,10 +567,12 @@
   virtual NewValueTypeInstance* as_NewValueTypeInstance() { return NULL; }
   virtual NewArray*         as_NewArray()        { return NULL; }
   virtual NewTypeArray*     as_NewTypeArray()    { return NULL; }
   virtual NewObjectArray*   as_NewObjectArray()  { return NULL; }
   virtual NewMultiArray*    as_NewMultiArray()   { return NULL; }
+  virtual WithField*        as_WithField()       { return NULL; }
+  virtual DefaultValue*     as_DefaultValue()    { return NULL; }
   virtual TypeCheck*        as_TypeCheck()       { return NULL; }
   virtual CheckCast*        as_CheckCast()       { return NULL; }
   virtual InstanceOf*       as_InstanceOf()      { return NULL; }
   virtual TypeCast*         as_TypeCast()        { return NULL; }
   virtual AccessMonitor*    as_AccessMonitor()   { return NULL; }

@@ -1465,10 +1471,23 @@
   }
 
   ciType* exact_type() const;
 };
 
+LEAF(WithField, StateSplit)
+ public:
+  // creation
+  WithField(ValueType* type, ValueStack* state_before)
+  : StateSplit(type, state_before) {}
+};
+
+LEAF(DefaultValue, StateSplit)
+ public:
+  // creation
+  DefaultValue(ValueType* type, ValueStack* state_before)
+  : StateSplit(type, state_before) {}
+};
 
 BASE(TypeCheck, StateSplit)
  private:
   ciKlass*    _klass;
   Value       _obj;
< prev index next >