< prev index next >

src/share/vm/opto/locknode.hpp

Print this page

        

*** 38,57 **** RegMask _inmask; // OptoReg corresponding to stack slot bool _is_eliminated; // Associated locks were safely eliminated public: BoxLockNode( int lock ); ! virtual int Opcode() const; virtual void emit(CodeBuffer &cbuf, PhaseRegAlloc *ra_) const; virtual uint size(PhaseRegAlloc *ra_) const; virtual const RegMask &in_RegMask(uint) const; virtual const RegMask &out_RegMask() const; virtual uint size_of() const; virtual uint hash() const; virtual uint cmp( const Node &n ) const; virtual const class Type *bottom_type() const { return TypeRawPtr::BOTTOM; } ! virtual uint ideal_reg() const { return Op_RegP; } static OptoReg::Name reg(Node* box_node); static BoxLockNode* box_node(Node* box_node); static bool same_slot(Node* box1, Node* box2) { return box1->as_BoxLock()->_slot == box2->as_BoxLock()->_slot; --- 38,57 ---- RegMask _inmask; // OptoReg corresponding to stack slot bool _is_eliminated; // Associated locks were safely eliminated public: BoxLockNode( int lock ); ! virtual Opcodes Opcode() const; virtual void emit(CodeBuffer &cbuf, PhaseRegAlloc *ra_) const; virtual uint size(PhaseRegAlloc *ra_) const; virtual const RegMask &in_RegMask(uint) const; virtual const RegMask &out_RegMask() const; virtual uint size_of() const; virtual uint hash() const; virtual uint cmp( const Node &n ) const; virtual const class Type *bottom_type() const { return TypeRawPtr::BOTTOM; } ! virtual Opcodes ideal_reg() const { return Opcodes::Op_RegP; } static OptoReg::Name reg(Node* box_node); static BoxLockNode* box_node(Node* box_node); static bool same_slot(Node* box1, Node* box2) { return box1->as_BoxLock()->_slot == box2->as_BoxLock()->_slot;
*** 93,103 **** // FastLock and FastUnlockNode do not hash, we need one for each correspoding // LockNode/UnLockNode to avoid creating Phi's. virtual uint hash() const ; // { return NO_HASH; } virtual uint size_of() const; virtual uint cmp( const Node &n ) const ; // Always fail, except on self ! virtual int Opcode() const; virtual const Type* Value(PhaseGVN* phase) const { return TypeInt::CC; } const Type *sub(const Type *t1, const Type *t2) const { return TypeInt::CC;} void create_lock_counter(JVMState* s); void create_rtm_lock_counter(JVMState* state); --- 93,103 ---- // FastLock and FastUnlockNode do not hash, we need one for each correspoding // LockNode/UnLockNode to avoid creating Phi's. virtual uint hash() const ; // { return NO_HASH; } virtual uint size_of() const; virtual uint cmp( const Node &n ) const ; // Always fail, except on self ! virtual Opcodes Opcode() const; virtual const Type* Value(PhaseGVN* phase) const { return TypeInt::CC; } const Type *sub(const Type *t1, const Type *t2) const { return TypeInt::CC;} void create_lock_counter(JVMState* s); void create_rtm_lock_counter(JVMState* state);
*** 120,130 **** // FastLock and FastUnlockNode do not hash, we need one for each correspoding // LockNode/UnLockNode to avoid creating Phi's. virtual uint hash() const ; // { return NO_HASH; } virtual uint cmp( const Node &n ) const ; // Always fail, except on self ! virtual int Opcode() const; virtual const Type* Value(PhaseGVN* phase) const { return TypeInt::CC; } const Type *sub(const Type *t1, const Type *t2) const { return TypeInt::CC;} }; --- 120,130 ---- // FastLock and FastUnlockNode do not hash, we need one for each correspoding // LockNode/UnLockNode to avoid creating Phi's. virtual uint hash() const ; // { return NO_HASH; } virtual uint cmp( const Node &n ) const ; // Always fail, except on self ! virtual Opcodes Opcode() const; virtual const Type* Value(PhaseGVN* phase) const { return TypeInt::CC; } const Type *sub(const Type *t1, const Type *t2) const { return TypeInt::CC;} };
< prev index next >