hotspot/src/share/vm/opto/memnode.hpp
changeset 33606 af4ec8a4635b
parent 32370 38b7b5772b4f
child 33626 3c94db05e903
equal deleted inserted replaced
33604:ad1cd9269bd4 33606:af4ec8a4635b
   995 };
   995 };
   996 
   996 
   997 // "Acquire" - no following ref can move before (but earlier refs can
   997 // "Acquire" - no following ref can move before (but earlier refs can
   998 // follow, like an early Load stalled in cache).  Requires multi-cpu
   998 // follow, like an early Load stalled in cache).  Requires multi-cpu
   999 // visibility.  Inserted independ of any load, as required
   999 // visibility.  Inserted independ of any load, as required
  1000 // for intrinsic sun.misc.Unsafe.loadFence().
  1000 // for intrinsic Unsafe.loadFence().
  1001 class LoadFenceNode: public MemBarNode {
  1001 class LoadFenceNode: public MemBarNode {
  1002 public:
  1002 public:
  1003   LoadFenceNode(Compile* C, int alias_idx, Node* precedent)
  1003   LoadFenceNode(Compile* C, int alias_idx, Node* precedent)
  1004     : MemBarNode(C, alias_idx, precedent) {}
  1004     : MemBarNode(C, alias_idx, precedent) {}
  1005   virtual int Opcode() const;
  1005   virtual int Opcode() const;
  1016 };
  1016 };
  1017 
  1017 
  1018 // "Release" - no earlier ref can move after (but later refs can move
  1018 // "Release" - no earlier ref can move after (but later refs can move
  1019 // up, like a speculative pipelined cache-hitting Load).  Requires
  1019 // up, like a speculative pipelined cache-hitting Load).  Requires
  1020 // multi-cpu visibility.  Inserted independent of any store, as required
  1020 // multi-cpu visibility.  Inserted independent of any store, as required
  1021 // for intrinsic sun.misc.Unsafe.storeFence().
  1021 // for intrinsic Unsafe.storeFence().
  1022 class StoreFenceNode: public MemBarNode {
  1022 class StoreFenceNode: public MemBarNode {
  1023 public:
  1023 public:
  1024   StoreFenceNode(Compile* C, int alias_idx, Node* precedent)
  1024   StoreFenceNode(Compile* C, int alias_idx, Node* precedent)
  1025     : MemBarNode(C, alias_idx, precedent) {}
  1025     : MemBarNode(C, alias_idx, precedent) {}
  1026   virtual int Opcode() const;
  1026   virtual int Opcode() const;