src/share/vm/opto/node.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File hs-comp-cbcond-hack1 Sdiff src/share/vm/opto

src/share/vm/opto/node.hpp

Print this page




 636     DEFINE_CLASS_ID(BoxLock,  Node, 10)
 637     DEFINE_CLASS_ID(Add,      Node, 11)
 638     DEFINE_CLASS_ID(Mul,      Node, 12)
 639     DEFINE_CLASS_ID(Vector,   Node, 13)
 640     DEFINE_CLASS_ID(ClearArray, Node, 14)
 641 
 642     _max_classes  = ClassMask_ClearArray
 643   };
 644   #undef DEFINE_CLASS_ID
 645 
 646   // Flags are sorted by usage frequency.
 647   enum NodeFlags {
 648     Flag_is_Copy             = 0x01, // should be first bit to avoid shift
 649     Flag_rematerialize       = Flag_is_Copy << 1,
 650     Flag_needs_anti_dependence_check = Flag_rematerialize << 1,
 651     Flag_is_macro            = Flag_needs_anti_dependence_check << 1,
 652     Flag_is_Con              = Flag_is_macro << 1,
 653     Flag_is_cisc_alternate   = Flag_is_Con << 1,
 654     Flag_is_dead_loop_safe   = Flag_is_cisc_alternate << 1,
 655     Flag_may_be_short_branch = Flag_is_dead_loop_safe << 1,
 656     Flag_avoid_back_to_back  = Flag_may_be_short_branch << 1,
 657     Flag_has_call            = Flag_avoid_back_to_back << 1,

 658     Flag_is_expensive        = Flag_has_call << 1,
 659     _max_flags = (Flag_is_expensive << 1) - 1 // allow flags combination
 660   };
 661 
 662 private:
 663   jushort _class_id;
 664   jushort _flags;
 665 
 666 protected:
 667   // These methods should be called from constructors only.
 668   void init_class_id(jushort c) {
 669     assert(c <= _max_classes, "invalid node class");
 670     _class_id = c; // cast out const
 671   }
 672   void init_flags(jushort fl) {
 673     assert(fl <= _max_flags, "invalid node flag");
 674     _flags |= fl;
 675   }
 676   void clear_flag(jushort fl) {
 677     assert(fl <= _max_flags, "invalid node flag");




 636     DEFINE_CLASS_ID(BoxLock,  Node, 10)
 637     DEFINE_CLASS_ID(Add,      Node, 11)
 638     DEFINE_CLASS_ID(Mul,      Node, 12)
 639     DEFINE_CLASS_ID(Vector,   Node, 13)
 640     DEFINE_CLASS_ID(ClearArray, Node, 14)
 641 
 642     _max_classes  = ClassMask_ClearArray
 643   };
 644   #undef DEFINE_CLASS_ID
 645 
 646   // Flags are sorted by usage frequency.
 647   enum NodeFlags {
 648     Flag_is_Copy                     = 0x01, // should be first bit to avoid shift
 649     Flag_rematerialize               = Flag_is_Copy << 1,
 650     Flag_needs_anti_dependence_check = Flag_rematerialize << 1,
 651     Flag_is_macro                    = Flag_needs_anti_dependence_check << 1,
 652     Flag_is_Con                      = Flag_is_macro << 1,
 653     Flag_is_cisc_alternate           = Flag_is_Con << 1,
 654     Flag_is_dead_loop_safe           = Flag_is_cisc_alternate << 1,
 655     Flag_may_be_short_branch         = Flag_is_dead_loop_safe << 1,
 656     Flag_avoid_back_to_back_before   = Flag_may_be_short_branch << 1,
 657     Flag_avoid_back_to_back_after    = Flag_avoid_back_to_back_before << 1,
 658     Flag_has_call                    = Flag_avoid_back_to_back_after << 1,
 659     Flag_is_expensive                = Flag_has_call << 1,
 660     _max_flags = (Flag_is_expensive << 1) - 1 // allow flags combination
 661   };
 662 
 663 private:
 664   jushort _class_id;
 665   jushort _flags;
 666 
 667 protected:
 668   // These methods should be called from constructors only.
 669   void init_class_id(jushort c) {
 670     assert(c <= _max_classes, "invalid node class");
 671     _class_id = c; // cast out const
 672   }
 673   void init_flags(jushort fl) {
 674     assert(fl <= _max_flags, "invalid node flag");
 675     _flags |= fl;
 676   }
 677   void clear_flag(jushort fl) {
 678     assert(fl <= _max_flags, "invalid node flag");


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