comparison src/share/vm/opto/cfgnode.hpp @ 74:2a9af0b9cb1c

6674600: (Escape Analysis) Optimize memory graph for instance's fields Summary: EA gives opportunite to do more aggressive memory optimizations. Reviewed-by: never, jrose
author kvn
date Thu, 20 Mar 2008 15:11:44 -0700
parents b8f5ba577b02
children e0bd2e08e3d0
comparison
equal deleted inserted replaced
73:a8880a78d355 74:2a9af0b9cb1c
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; }