src/share/vm/opto/phaseX.hpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File 5091921 Sdiff src/share/vm/opto

src/share/vm/opto/phaseX.hpp

Print this page




 455   }
 456 
 457   // Add users of 'n' to worklist
 458   void add_users_to_worklist0( Node *n );
 459   void add_users_to_worklist ( Node *n );
 460 
 461   // Replace old node with new one.
 462   void replace_node( Node *old, Node *nn ) {
 463     add_users_to_worklist(old);
 464     hash_delete(old); // Yank from hash before hacking edges
 465     subsume_node(old, nn);
 466   }
 467 
 468   bool delay_transform() const { return _delay_transform; }
 469 
 470   void set_delay_transform(bool delay) {
 471     _delay_transform = delay;
 472   }
 473 
 474   // Clone loop predicates. Defined in loopTransform.cpp.
 475   Node* clone_loop_predicates(Node* old_entry, Node* new_entry);
 476   Node*  move_loop_predicates(Node* old_entry, Node* new_entry);
 477   // Create a new if below new_entry for the predicate to be cloned
 478   ProjNode* create_new_if_for_predicate(ProjNode* cont_proj, Node* new_entry,
 479                                         Deoptimization::DeoptReason reason);
 480 
 481 #ifndef PRODUCT
 482 protected:
 483   // Sub-quadratic implementation of VerifyIterativeGVN.
 484   unsigned long _verify_counter;
 485   unsigned long _verify_full_passes;
 486   enum { _verify_window_size = 30 };
 487   Node* _verify_window[_verify_window_size];
 488   void verify_step(Node* n);
 489 #endif
 490 };
 491 
 492 //------------------------------PhaseCCP---------------------------------------
 493 // Phase for performing global Conditional Constant Propagation.
 494 // Should be replaced with combined CCP & GVN someday.
 495 class PhaseCCP : public PhaseIterGVN {
 496   // Non-recursive.  Use analysis to transform single Node.




 455   }
 456 
 457   // Add users of 'n' to worklist
 458   void add_users_to_worklist0( Node *n );
 459   void add_users_to_worklist ( Node *n );
 460 
 461   // Replace old node with new one.
 462   void replace_node( Node *old, Node *nn ) {
 463     add_users_to_worklist(old);
 464     hash_delete(old); // Yank from hash before hacking edges
 465     subsume_node(old, nn);
 466   }
 467 
 468   bool delay_transform() const { return _delay_transform; }
 469 
 470   void set_delay_transform(bool delay) {
 471     _delay_transform = delay;
 472   }
 473 
 474   // Clone loop predicates. Defined in loopTransform.cpp.
 475   Node* clone_loop_predicates(Node* old_entry, Node* new_entry, bool clone_limit_check);
 476   Node*  move_loop_predicates(Node* old_entry, Node* new_entry, bool clone_limit_check);
 477   // Create a new if below new_entry for the predicate to be cloned
 478   ProjNode* create_new_if_for_predicate(ProjNode* cont_proj, Node* new_entry,
 479                                         Deoptimization::DeoptReason reason);
 480 
 481 #ifndef PRODUCT
 482 protected:
 483   // Sub-quadratic implementation of VerifyIterativeGVN.
 484   unsigned long _verify_counter;
 485   unsigned long _verify_full_passes;
 486   enum { _verify_window_size = 30 };
 487   Node* _verify_window[_verify_window_size];
 488   void verify_step(Node* n);
 489 #endif
 490 };
 491 
 492 //------------------------------PhaseCCP---------------------------------------
 493 // Phase for performing global Conditional Constant Propagation.
 494 // Should be replaced with combined CCP & GVN someday.
 495 class PhaseCCP : public PhaseIterGVN {
 496   // Non-recursive.  Use analysis to transform single Node.


src/share/vm/opto/phaseX.hpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File