< 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 >