Mercurial > hg > truffle
comparison src/share/vm/opto/phaseX.hpp @ 4778:35acf8f0a2e4
7128352: assert(obj_node == obj) failed
Summary: Compare uncasted object nodes.
Reviewed-by: never
author | kvn |
---|---|
date | Tue, 10 Jan 2012 18:05:38 -0800 |
parents | c96c3eb1efae |
children | 5e990493719e |
comparison
equal
deleted
inserted
replaced
4777:e9a5e0a812c8 | 4778:35acf8f0a2e4 |
---|---|
253 | 253 |
254 // Return whether two Nodes are equivalent. | 254 // Return whether two Nodes are equivalent. |
255 // Must not be recursive, since the recursive version is built from this. | 255 // Must not be recursive, since the recursive version is built from this. |
256 // For pessimistic optimizations this is simply pointer equivalence. | 256 // For pessimistic optimizations this is simply pointer equivalence. |
257 bool eqv(const Node* n1, const Node* n2) const { return n1 == n2; } | 257 bool eqv(const Node* n1, const Node* n2) const { return n1 == n2; } |
258 | |
259 // Return whether two Nodes are equivalent, after stripping casting. | |
260 bool eqv_uncast(const Node* n1, const Node* n2) const { | |
261 return eqv(n1->uncast(), n2->uncast()); | |
262 } | |
263 | 258 |
264 // For pessimistic passes, the return type must monotonically narrow. | 259 // For pessimistic passes, the return type must monotonically narrow. |
265 // For optimistic passes, the return type must monotonically widen. | 260 // For optimistic passes, the return type must monotonically widen. |
266 // It is possible to get into a "death march" in either type of pass, | 261 // It is possible to get into a "death march" in either type of pass, |
267 // where the types are continually moving but it will take 2**31 or | 262 // where the types are continually moving but it will take 2**31 or |