comparison src/share/vm/opto/memnode.hpp @ 33:3288958bf319

6667580: Optimize CmpP for allocations Summary: CmpP could be optimized out if it compares new allocated objects. Reviewed-by: jrose, never, rasbold
author kvn
date Fri, 29 Feb 2008 09:57:18 -0800
parents d5fc211aea19
children b8f5ba577b02
comparison
equal deleted inserted replaced
32:4d428c5b4cb3 33:3288958bf319
58 : Node(c0,c1,c2,c3,c4) { 58 : Node(c0,c1,c2,c3,c4) {
59 init_class_id(Class_Mem); 59 init_class_id(Class_Mem);
60 debug_only(_adr_type=at; adr_type();) 60 debug_only(_adr_type=at; adr_type();)
61 } 61 }
62 62
63 public:
63 // Helpers for the optimizer. Documented in memnode.cpp. 64 // Helpers for the optimizer. Documented in memnode.cpp.
64 static bool detect_ptr_independence(Node* p1, AllocateNode* a1, 65 static bool detect_ptr_independence(Node* p1, AllocateNode* a1,
65 Node* p2, AllocateNode* a2, 66 Node* p2, AllocateNode* a2,
66 PhaseTransform* phase); 67 PhaseTransform* phase);
67 static bool adr_phi_is_loop_invariant(Node* adr_phi, Node* cast); 68 static bool adr_phi_is_loop_invariant(Node* adr_phi, Node* cast);
68 69
69 public:
70 // This one should probably be a phase-specific function: 70 // This one should probably be a phase-specific function:
71 static bool detect_dominating_control(Node* dom, Node* sub); 71 static bool detect_dominating_control(Node* dom, Node* sub);
72 72
73 // Is this Node a MemNode or some descendent? Default is YES. 73 // Is this Node a MemNode or some descendent? Default is YES.
74 virtual Node *Ideal_DU_postCCP( PhaseCCP *ccp ); 74 virtual Node *Ideal_DU_postCCP( PhaseCCP *ccp );