hotspot/src/share/vm/opto/phaseX.hpp
changeset 360 21d113ecbf6a
parent 246 b029af7e69d3
child 670 ddf3e9583f2f
equal deleted inserted replaced
357:f4edb0d9f109 360:21d113ecbf6a
   381 
   381 
   382 //------------------------------PhaseIterGVN-----------------------------------
   382 //------------------------------PhaseIterGVN-----------------------------------
   383 // Phase for iteratively performing local, pessimistic GVN-style optimizations.
   383 // Phase for iteratively performing local, pessimistic GVN-style optimizations.
   384 // and ideal transformations on the graph.
   384 // and ideal transformations on the graph.
   385 class PhaseIterGVN : public PhaseGVN {
   385 class PhaseIterGVN : public PhaseGVN {
       
   386  private:
       
   387   bool _delay_transform;  // When true simply register the node when calling transform
       
   388                           // instead of actually optimizing it
       
   389 
   386   // Idealize old Node 'n' with respect to its inputs and its value
   390   // Idealize old Node 'n' with respect to its inputs and its value
   387   virtual Node *transform_old( Node *a_node );
   391   virtual Node *transform_old( Node *a_node );
   388 protected:
   392 protected:
   389 
   393 
   390   // Idealize new Node 'n' with respect to its inputs and its value
   394   // Idealize new Node 'n' with respect to its inputs and its value
   444     add_users_to_worklist(old);
   448     add_users_to_worklist(old);
   445     hash_delete(old);
   449     hash_delete(old);
   446     subsume_node(old, nn);
   450     subsume_node(old, nn);
   447   }
   451   }
   448 
   452 
       
   453   void set_delay_transform(bool delay) {
       
   454     _delay_transform = delay;
       
   455   }
       
   456 
   449 #ifndef PRODUCT
   457 #ifndef PRODUCT
   450 protected:
   458 protected:
   451   // Sub-quadratic implementation of VerifyIterativeGVN.
   459   // Sub-quadratic implementation of VerifyIterativeGVN.
   452   unsigned long _verify_counter;
   460   unsigned long _verify_counter;
   453   unsigned long _verify_full_passes;
   461   unsigned long _verify_full_passes;