src/share/vm/opto/locknode.hpp

changeset 6518
62c54fcc0a35
parent 6441
d2907f74462e
parent 6429
606acabe7b5c
child 6876
710a3c8b516e
child 7598
ddce0b7cee93
     1.1 --- a/src/share/vm/opto/locknode.hpp	Tue Mar 25 12:54:21 2014 -0700
     1.2 +++ b/src/share/vm/opto/locknode.hpp	Tue Mar 25 17:07:36 2014 -0700
     1.3 @@ -92,13 +92,17 @@
     1.4  //------------------------------FastLockNode-----------------------------------
     1.5  class FastLockNode: public CmpNode {
     1.6  private:
     1.7 -  BiasedLockingCounters* _counters;
     1.8 +  BiasedLockingCounters*        _counters;
     1.9 +  RTMLockingCounters*       _rtm_counters; // RTM lock counters for inflated locks
    1.10 +  RTMLockingCounters* _stack_rtm_counters; // RTM lock counters for stack locks
    1.11  
    1.12  public:
    1.13    FastLockNode(Node *ctrl, Node *oop, Node *box) : CmpNode(oop,box) {
    1.14      init_req(0,ctrl);
    1.15      init_class_id(Class_FastLock);
    1.16      _counters = NULL;
    1.17 +    _rtm_counters = NULL;
    1.18 +    _stack_rtm_counters = NULL;
    1.19    }
    1.20    Node* obj_node() const { return in(1); }
    1.21    Node* box_node() const { return in(2); }
    1.22 @@ -107,13 +111,17 @@
    1.23    // FastLock and FastUnlockNode do not hash, we need one for each correspoding
    1.24    // LockNode/UnLockNode to avoid creating Phi's.
    1.25    virtual uint hash() const ;                  // { return NO_HASH; }
    1.26 +  virtual uint size_of() const;
    1.27    virtual uint cmp( const Node &n ) const ;    // Always fail, except on self
    1.28    virtual int Opcode() const;
    1.29    virtual const Type *Value( PhaseTransform *phase ) const { return TypeInt::CC; }
    1.30    const Type *sub(const Type *t1, const Type *t2) const { return TypeInt::CC;}
    1.31  
    1.32    void create_lock_counter(JVMState* s);
    1.33 -  BiasedLockingCounters* counters() const { return _counters; }
    1.34 +  void create_rtm_lock_counter(JVMState* state);
    1.35 +  BiasedLockingCounters*        counters() const { return _counters; }
    1.36 +  RTMLockingCounters*       rtm_counters() const { return _rtm_counters; }
    1.37 +  RTMLockingCounters* stack_rtm_counters() const { return _stack_rtm_counters; }
    1.38  };
    1.39  
    1.40  

mercurial