Mercurial > hg > truffle
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 ); |