< prev index next >
src/hotspot/share/c1/c1_Instruction.hpp
Print this page
*** 75,84 ****
--- 75,86 ----
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,189 ****
--- 182,193 ----
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,572 ****
--- 567,578 ----
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,1474 ****
--- 1471,1493 ----
}
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 >