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