hotspot/src/share/vm/opto/memnode.hpp
changeset 32370 38b7b5772b4f
parent 31035 0f0743952c41
child 33449 8aca535611b8
child 33606 af4ec8a4635b
equal deleted inserted replaced
32369:ad8f0f5c3717 32370:38b7b5772b4f
   124   Node* find_previous_store(PhaseTransform* phase);
   124   Node* find_previous_store(PhaseTransform* phase);
   125 
   125 
   126   // Can this node (load or store) accurately see a stored value in
   126   // Can this node (load or store) accurately see a stored value in
   127   // the given memory state?  (The state may or may not be in(Memory).)
   127   // the given memory state?  (The state may or may not be in(Memory).)
   128   Node* can_see_stored_value(Node* st, PhaseTransform* phase) const;
   128   Node* can_see_stored_value(Node* st, PhaseTransform* phase) const;
   129   Node* can_see_arraycopy_value(Node* st, PhaseTransform* phase) const;
       
   130 
   129 
   131 #ifndef PRODUCT
   130 #ifndef PRODUCT
   132   static void dump_adr_type(const Node* mem, const TypePtr* adr_type, outputStream *st);
   131   static void dump_adr_type(const Node* mem, const TypePtr* adr_type, outputStream *st);
   133   virtual void dump_spec(outputStream *st) const;
   132   virtual void dump_spec(outputStream *st) const;
   134 #endif
   133 #endif
   250   static bool is_immutable_value(Node* adr);
   249   static bool is_immutable_value(Node* adr);
   251 #endif
   250 #endif
   252 protected:
   251 protected:
   253   const Type* load_array_final_field(const TypeKlassPtr *tkls,
   252   const Type* load_array_final_field(const TypeKlassPtr *tkls,
   254                                      ciKlass* klass) const;
   253                                      ciKlass* klass) const;
       
   254 
       
   255   Node* can_see_arraycopy_value(Node* st, PhaseTransform* phase) const;
       
   256 
   255   // depends_only_on_test is almost always true, and needs to be almost always
   257   // depends_only_on_test is almost always true, and needs to be almost always
   256   // true to enable key hoisting & commoning optimizations.  However, for the
   258   // true to enable key hoisting & commoning optimizations.  However, for the
   257   // special case of RawPtr loads from TLS top & end, and other loads performed by
   259   // special case of RawPtr loads from TLS top & end, and other loads performed by
   258   // GC barriers, the control edge carries the dependence preventing hoisting past
   260   // GC barriers, the control edge carries the dependence preventing hoisting past
   259   // a Safepoint instead of the memory edge.  (An unfortunate consequence of having
   261   // a Safepoint instead of the memory edge.  (An unfortunate consequence of having