Mercurial > hg > graal-jvmci-8
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 |