comparison src/share/vm/opto/memnode.hpp @ 6143:8b0a4867acf0

7174218: remove AtomicLongCSImpl intrinsics Reviewed-by: kvn, twisti Contributed-by: Krystal Mok <sajia@taobao.com>
author twisti
date Tue, 12 Jun 2012 14:31:44 -0700
parents 53a127075045
children 7eca5de9e0b6
comparison
equal deleted inserted replaced
6142:121e5708ae96 6143: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.