Mercurial > hg > truffle
comparison src/share/vm/opto/escape.hpp @ 4113:8c57262447d3
7105605: Use EA info to optimize pointers compare
Summary: optimize pointers compare using EA information.
Reviewed-by: never, twisti
author | kvn |
---|---|
date | Mon, 14 Nov 2011 18:38:03 -0800 |
parents | 59e515ee9354 |
children | cc81b9c09bbb |
comparison
equal
deleted
inserted
replaced
4112:e8fdaf4a66cb | 4113:8c57262447d3 |
---|---|
234 // that pointer values loaded from | 234 // that pointer values loaded from |
235 // a field which has not been set | 235 // a field which has not been set |
236 // are assumed to point to. | 236 // are assumed to point to. |
237 uint _oop_null; // ConP(#NULL)->_idx | 237 uint _oop_null; // ConP(#NULL)->_idx |
238 uint _noop_null; // ConN(#NULL)->_idx | 238 uint _noop_null; // ConN(#NULL)->_idx |
239 Node* _pcmp_neq; // ConI(#CC_GT) | |
240 Node* _pcmp_eq; // ConI(#CC_EQ) | |
239 | 241 |
240 Compile * _compile; // Compile object for current compilation | 242 Compile * _compile; // Compile object for current compilation |
241 PhaseIterGVN * _igvn; // Value numbering | 243 PhaseIterGVN * _igvn; // Value numbering |
242 | 244 |
243 // Address of an element in _nodes. Used when the element is to be modified | 245 // Address of an element in _nodes. Used when the element is to be modified |
349 // Propagate escape states to referenced nodes. | 351 // Propagate escape states to referenced nodes. |
350 bool propagate_escape_state(GrowableArray<int>* cg_worklist, | 352 bool propagate_escape_state(GrowableArray<int>* cg_worklist, |
351 GrowableArray<uint>* worklist, | 353 GrowableArray<uint>* worklist, |
352 PointsToNode::EscapeState esc_state); | 354 PointsToNode::EscapeState esc_state); |
353 | 355 |
356 // Optimize objects compare. | |
357 Node* optimize_ptr_compare(Node* n); | |
358 | |
354 // Compute the escape information | 359 // Compute the escape information |
355 bool compute_escape(); | 360 bool compute_escape(); |
356 | 361 |
357 public: | 362 public: |
358 ConnectionGraph(Compile *C, PhaseIterGVN *igvn); | 363 ConnectionGraph(Compile *C, PhaseIterGVN *igvn); |