comparison src/share/vm/opto/loopnode.hpp @ 39:76256d272075

6667612: (Escape Analysis) disable loop cloning if it has a scalar replaceable allocation Summary: Cloning an allocation will not allow scalar replacement since memory operations could not be associated with one allocation. Reviewed-by: rasbold
author kvn
date Thu, 06 Mar 2008 10:53:33 -0800
parents ff5961f4c095
children d1605aabd0a1
comparison
equal deleted inserted replaced
38:b789bcaf2dd9 39:76256d272075
287 uint8 _irreducible:1, // True if irreducible 287 uint8 _irreducible:1, // True if irreducible
288 _has_call:1, // True if has call safepoint 288 _has_call:1, // True if has call safepoint
289 _has_sfpt:1, // True if has non-call safepoint 289 _has_sfpt:1, // True if has non-call safepoint
290 _rce_candidate:1; // True if candidate for range check elimination 290 _rce_candidate:1; // True if candidate for range check elimination
291 291
292 Node_List* _required_safept; // A inner loop cannot delete these safepts; 292 Node_List* _required_safept; // A inner loop cannot delete these safepts;
293 bool _allow_optimizations; // Allow loop optimizations
293 294
294 IdealLoopTree( PhaseIdealLoop* phase, Node *head, Node *tail ) 295 IdealLoopTree( PhaseIdealLoop* phase, Node *head, Node *tail )
295 : _parent(0), _next(0), _child(0), 296 : _parent(0), _next(0), _child(0),
296 _head(head), _tail(tail), 297 _head(head), _tail(tail),
297 _phase(phase), 298 _phase(phase),
298 _required_safept(NULL), 299 _required_safept(NULL),
300 _allow_optimizations(true),
299 _nest(0), _irreducible(0), _has_call(0), _has_sfpt(0), _rce_candidate(0) 301 _nest(0), _irreducible(0), _has_call(0), _has_sfpt(0), _rce_candidate(0)
300 { } 302 { }
301 303
302 // Is 'l' a member of 'this'? 304 // Is 'l' a member of 'this'?
303 int is_member( const IdealLoopTree *l ) const; // Test for nested membership 305 int is_member( const IdealLoopTree *l ) const; // Test for nested membership