146 static PhiNode* make( Node* r, Node* x ); |
146 static PhiNode* make( Node* r, Node* x ); |
147 // extra type arguments override the new phi's bottom_type and adr_type |
147 // extra type arguments override the new phi's bottom_type and adr_type |
148 static PhiNode* make( Node* r, Node* x, const Type *t, const TypePtr* at = NULL ); |
148 static PhiNode* make( Node* r, Node* x, const Type *t, const TypePtr* at = NULL ); |
149 // create a new phi with narrowed memory type |
149 // create a new phi with narrowed memory type |
150 PhiNode* slice_memory(const TypePtr* adr_type) const; |
150 PhiNode* slice_memory(const TypePtr* adr_type) const; |
|
151 PhiNode* split_out_instance(const TypePtr* at, PhaseIterGVN *igvn) const; |
151 // like make(r, x), but does not initialize the in edges to x |
152 // like make(r, x), but does not initialize the in edges to x |
152 static PhiNode* make_blank( Node* r, Node* x ); |
153 static PhiNode* make_blank( Node* r, Node* x ); |
153 |
154 |
154 // Accessors |
155 // Accessors |
155 RegionNode* region() const { Node* r = in(Region); assert(!r || r->is_Region(), ""); return (RegionNode*)r; } |
156 RegionNode* region() const { Node* r = in(Region); assert(!r || r->is_Region(), ""); return (RegionNode*)r; } |