src/share/vm/opto/phaseX.hpp

changeset 548
ba764ed4b6f2
parent 508
a8880a78d355
child 631
d1605aabd0a1
equal deleted inserted replaced
545:a49a647afe9a 548:ba764ed4b6f2
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;

mercurial