Mercurial > hg > truffle
comparison src/share/vm/opto/escape.hpp @ 1101:7fee0a6cc6d4
6896727: nsk/logging/LoggingPermission/LoggingPermission/logperm002 fails with G1, EscapeAnalisys
Summary: Move instance store's memory users to corresponding memory slices when updating its memory edge.
Reviewed-by: never
author | kvn |
---|---|
date | Wed, 09 Dec 2009 19:50:14 -0800 |
parents | f96a1a986f7b |
children | c18cbe5936b8 |
comparison
equal
deleted
inserted
replaced
1100:f96a1a986f7b | 1101:7fee0a6cc6d4 |
---|---|
289 // ChecCastPP - allocation that this is a cast of | 289 // ChecCastPP - allocation that this is a cast of |
290 // allocation - CheckCastPP of the allocation | 290 // allocation - CheckCastPP of the allocation |
291 bool split_AddP(Node *addp, Node *base, PhaseGVN *igvn); | 291 bool split_AddP(Node *addp, Node *base, PhaseGVN *igvn); |
292 PhiNode *create_split_phi(PhiNode *orig_phi, int alias_idx, GrowableArray<PhiNode *> &orig_phi_worklist, PhaseGVN *igvn, bool &new_created); | 292 PhiNode *create_split_phi(PhiNode *orig_phi, int alias_idx, GrowableArray<PhiNode *> &orig_phi_worklist, PhaseGVN *igvn, bool &new_created); |
293 PhiNode *split_memory_phi(PhiNode *orig_phi, int alias_idx, GrowableArray<PhiNode *> &orig_phi_worklist, PhaseGVN *igvn); | 293 PhiNode *split_memory_phi(PhiNode *orig_phi, int alias_idx, GrowableArray<PhiNode *> &orig_phi_worklist, PhaseGVN *igvn); |
294 Node *find_mem(Node *mem, int alias_idx, PhaseGVN *igvn); | 294 void move_inst_mem(Node* n, GrowableArray<PhiNode *> &orig_phis, PhaseGVN *igvn); |
295 Node *find_inst_mem(Node *mem, int alias_idx,GrowableArray<PhiNode *> &orig_phi_worklist, PhaseGVN *igvn); | 295 Node *find_inst_mem(Node *mem, int alias_idx,GrowableArray<PhiNode *> &orig_phi_worklist, PhaseGVN *igvn); |
296 | 296 |
297 // Propagate unique types created for unescaped allocated objects | 297 // Propagate unique types created for unescaped allocated objects |
298 // through the graph | 298 // through the graph |
299 void split_unique_types(GrowableArray<Node *> &alloc_worklist); | 299 void split_unique_types(GrowableArray<Node *> &alloc_worklist); |
300 | 300 |
301 // manage entries in _node_map | 301 // manage entries in _node_map |
302 void set_map(int idx, Node *n) { _node_map.map(idx, n); } | 302 void set_map(int idx, Node *n) { _node_map.map(idx, n); } |
303 void set_map_phi(int idx, PhiNode *p) { _node_map.map(idx, (Node *) p); } | |
304 Node *get_map(int idx) { return _node_map[idx]; } | 303 Node *get_map(int idx) { return _node_map[idx]; } |
305 PhiNode *get_map_phi(int idx) { | 304 PhiNode *get_map_phi(int idx) { |
306 Node *phi = _node_map[idx]; | 305 Node *phi = _node_map[idx]; |
307 return (phi == NULL) ? NULL : phi->as_Phi(); | 306 return (phi == NULL) ? NULL : phi->as_Phi(); |
308 } | 307 } |