equal
deleted
inserted
replaced
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 |