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 }