src/share/vm/opto/memnode.hpp

changeset 855
a1980da045cc
parent 801
8261ee795323
child 993
3b5ac9e7e6ea
equal deleted inserted replaced
854:0bf25c4807f9 855:a1980da045cc
630 virtual int Opcode() const; 630 virtual int Opcode() const;
631 // Produces flags 631 // Produces flags
632 virtual uint ideal_reg() const { return Op_RegFlags; } 632 virtual uint ideal_reg() const { return Op_RegFlags; }
633 }; 633 };
634 634
635 //------------------------------StoreIConditionalNode---------------------------
636 // Conditionally store int to memory, if no change since prior
637 // load-locked. Sets flags for success or failure of the store.
638 class StoreIConditionalNode : public LoadStoreNode {
639 public:
640 StoreIConditionalNode( Node *c, Node *mem, Node *adr, Node *val, Node *ii ) : LoadStoreNode(c, mem, adr, val, ii) { }
641 virtual int Opcode() const;
642 // Produces flags
643 virtual uint ideal_reg() const { return Op_RegFlags; }
644 };
645
635 //------------------------------StoreLConditionalNode--------------------------- 646 //------------------------------StoreLConditionalNode---------------------------
636 // Conditionally store long to memory, if no change since prior 647 // Conditionally store long to memory, if no change since prior
637 // load-locked. Sets flags for success or failure of the store. 648 // load-locked. Sets flags for success or failure of the store.
638 class StoreLConditionalNode : public LoadStoreNode { 649 class StoreLConditionalNode : public LoadStoreNode {
639 public: 650 public:
640 StoreLConditionalNode( Node *c, Node *mem, Node *adr, Node *val, Node *ll ) : LoadStoreNode(c, mem, adr, val, ll) { } 651 StoreLConditionalNode( Node *c, Node *mem, Node *adr, Node *val, Node *ll ) : LoadStoreNode(c, mem, adr, val, ll) { }
641 virtual int Opcode() const; 652 virtual int Opcode() const;
653 // Produces flags
654 virtual uint ideal_reg() const { return Op_RegFlags; }
642 }; 655 };
643 656
644 657
645 //------------------------------CompareAndSwapLNode--------------------------- 658 //------------------------------CompareAndSwapLNode---------------------------
646 class CompareAndSwapLNode : public LoadStoreNode { 659 class CompareAndSwapLNode : public LoadStoreNode {

mercurial