< prev index next >

src/hotspot/share/c1/c1_Instruction.hpp

Print this page


1557   // creation
1558   AccessMonitor(Value obj, int monitor_no, ValueStack* state_before = NULL)
1559   : StateSplit(illegalType, state_before)
1560   , _obj(obj)
1561   , _monitor_no(monitor_no)
1562   {
1563     set_needs_null_check(true);
1564     ASSERT_VALUES
1565   }
1566 
1567   // accessors
1568   Value obj() const                              { return _obj; }
1569   int monitor_no() const                         { return _monitor_no; }
1570 
1571   // generic
1572   virtual void input_values_do(ValueVisitor* f)   { StateSplit::input_values_do(f); f->visit(&_obj); }
1573 };
1574 
1575 
1576 LEAF(MonitorEnter, AccessMonitor)

1577  public:
1578   // creation
1579   MonitorEnter(Value obj, int monitor_no, ValueStack* state_before)
1580   : AccessMonitor(obj, monitor_no, state_before)

1581   {
1582     ASSERT_VALUES
1583   }



1584 
1585   // generic
1586   virtual bool can_trap() const                  { return true; }
1587 };
1588 
1589 
1590 LEAF(MonitorExit, AccessMonitor)
1591  public:
1592   // creation
1593   MonitorExit(Value obj, int monitor_no)
1594   : AccessMonitor(obj, monitor_no, NULL)
1595   {
1596     ASSERT_VALUES
1597   }
1598 };
1599 
1600 
1601 LEAF(Intrinsic, StateSplit)
1602  private:
1603   vmIntrinsics::ID _id;




1557   // creation
1558   AccessMonitor(Value obj, int monitor_no, ValueStack* state_before = NULL)
1559   : StateSplit(illegalType, state_before)
1560   , _obj(obj)
1561   , _monitor_no(monitor_no)
1562   {
1563     set_needs_null_check(true);
1564     ASSERT_VALUES
1565   }
1566 
1567   // accessors
1568   Value obj() const                              { return _obj; }
1569   int monitor_no() const                         { return _monitor_no; }
1570 
1571   // generic
1572   virtual void input_values_do(ValueVisitor* f)   { StateSplit::input_values_do(f); f->visit(&_obj); }
1573 };
1574 
1575 
1576 LEAF(MonitorEnter, AccessMonitor)
1577 bool _maybe_valuetype;
1578  public:
1579   // creation
1580   MonitorEnter(Value obj, int monitor_no, ValueStack* state_before, bool maybe_valuetype)
1581   : AccessMonitor(obj, monitor_no, state_before)
1582   , _maybe_valuetype(maybe_valuetype)
1583   {
1584     ASSERT_VALUES
1585   }
1586 
1587   // accessors
1588   bool maybe_valuetype() const                   { return _maybe_valuetype; }
1589 
1590   // generic
1591   virtual bool can_trap() const                  { return true; }
1592 };
1593 
1594 
1595 LEAF(MonitorExit, AccessMonitor)
1596  public:
1597   // creation
1598   MonitorExit(Value obj, int monitor_no)
1599   : AccessMonitor(obj, monitor_no, NULL)
1600   {
1601     ASSERT_VALUES
1602   }
1603 };
1604 
1605 
1606 LEAF(Intrinsic, StateSplit)
1607  private:
1608   vmIntrinsics::ID _id;


< prev index next >