src/share/vm/opto/memnode.hpp

changeset 3846
8b0a4867acf0
parent 3442
53a127075045
child 4106
7eca5de9e0b6
equal deleted inserted replaced
3845:121e5708ae96 3846:8b0a4867acf0
632 LoadPLockedNode( Node *c, Node *mem, Node *adr ) 632 LoadPLockedNode( Node *c, Node *mem, Node *adr )
633 : LoadPNode(c,mem,adr,TypeRawPtr::BOTTOM, TypeRawPtr::BOTTOM) {} 633 : LoadPNode(c,mem,adr,TypeRawPtr::BOTTOM, TypeRawPtr::BOTTOM) {}
634 virtual int Opcode() const; 634 virtual int Opcode() const;
635 virtual int store_Opcode() const { return Op_StorePConditional; } 635 virtual int store_Opcode() const { return Op_StorePConditional; }
636 virtual bool depends_only_on_test() const { return true; } 636 virtual bool depends_only_on_test() const { return true; }
637 };
638
639 //------------------------------LoadLLockedNode---------------------------------
640 // Load-locked a pointer from memory (either object or array).
641 // On Sparc & Intel this is implemented as a normal long load.
642 class LoadLLockedNode : public LoadLNode {
643 public:
644 LoadLLockedNode( Node *c, Node *mem, Node *adr )
645 : LoadLNode(c,mem,adr,TypeRawPtr::BOTTOM, TypeLong::LONG) {}
646 virtual int Opcode() const;
647 virtual int store_Opcode() const { return Op_StoreLConditional; }
648 }; 637 };
649 638
650 //------------------------------SCMemProjNode--------------------------------------- 639 //------------------------------SCMemProjNode---------------------------------------
651 // This class defines a projection of the memory state of a store conditional node. 640 // This class defines a projection of the memory state of a store conditional node.
652 // These nodes return a value, but also update memory. 641 // These nodes return a value, but also update memory.

mercurial