55 class CatchNode;
56 class CatchProjNode;
57 class CheckCastPPNode;
58 class ClearArrayNode;
59 class CmpNode;
60 class CodeBuffer;
61 class ConstraintCastNode;
62 class ConNode;
63 class CompareAndSwapNode;
64 class CompareAndExchangeNode;
65 class CountedLoopNode;
66 class CountedLoopEndNode;
67 class DecodeNarrowPtrNode;
68 class DecodeNNode;
69 class DecodeNKlassNode;
70 class EncodeNarrowPtrNode;
71 class EncodePNode;
72 class EncodePKlassNode;
73 class FastLockNode;
74 class FastUnlockNode;
75 class IfNode;
76 class IfFalseNode;
77 class IfTrueNode;
78 class InitializeNode;
79 class JVMState;
80 class JumpNode;
81 class JumpProjNode;
82 class LoadNode;
83 class LoadStoreNode;
84 class LockNode;
85 class LoopNode;
86 class MachBranchNode;
87 class MachCallDynamicJavaNode;
88 class MachCallJavaNode;
89 class MachCallLeafNode;
90 class MachCallNode;
91 class MachCallRuntimeNode;
92 class MachCallStaticJavaNode;
93 class MachConstantBaseNode;
94 class MachConstantNode;
689
690 DEFINE_CLASS_ID(Region, Node, 5)
691 DEFINE_CLASS_ID(Loop, Region, 0)
692 DEFINE_CLASS_ID(Root, Loop, 0)
693 DEFINE_CLASS_ID(CountedLoop, Loop, 1)
694 DEFINE_CLASS_ID(OuterStripMinedLoop, Loop, 2)
695
696 DEFINE_CLASS_ID(Sub, Node, 6)
697 DEFINE_CLASS_ID(Cmp, Sub, 0)
698 DEFINE_CLASS_ID(FastLock, Cmp, 0)
699 DEFINE_CLASS_ID(FastUnlock, Cmp, 1)
700
701 DEFINE_CLASS_ID(MergeMem, Node, 7)
702 DEFINE_CLASS_ID(Bool, Node, 8)
703 DEFINE_CLASS_ID(AddP, Node, 9)
704 DEFINE_CLASS_ID(BoxLock, Node, 10)
705 DEFINE_CLASS_ID(Add, Node, 11)
706 DEFINE_CLASS_ID(Mul, Node, 12)
707 DEFINE_CLASS_ID(Vector, Node, 13)
708 DEFINE_CLASS_ID(ClearArray, Node, 14)
709
710 _max_classes = ClassMask_ClearArray
711 };
712 #undef DEFINE_CLASS_ID
713
714 // Flags are sorted by usage frequency.
715 enum NodeFlags {
716 Flag_is_Copy = 0x01, // should be first bit to avoid shift
717 Flag_rematerialize = Flag_is_Copy << 1,
718 Flag_needs_anti_dependence_check = Flag_rematerialize << 1,
719 Flag_is_macro = Flag_needs_anti_dependence_check << 1,
720 Flag_is_Con = Flag_is_macro << 1,
721 Flag_is_cisc_alternate = Flag_is_Con << 1,
722 Flag_is_dead_loop_safe = Flag_is_cisc_alternate << 1,
723 Flag_may_be_short_branch = Flag_is_dead_loop_safe << 1,
724 Flag_avoid_back_to_back_before = Flag_may_be_short_branch << 1,
725 Flag_avoid_back_to_back_after = Flag_avoid_back_to_back_before << 1,
726 Flag_has_call = Flag_avoid_back_to_back_after << 1,
727 Flag_is_reduction = Flag_has_call << 1,
728 Flag_is_scheduled = Flag_is_reduction << 1,
|
55 class CatchNode;
56 class CatchProjNode;
57 class CheckCastPPNode;
58 class ClearArrayNode;
59 class CmpNode;
60 class CodeBuffer;
61 class ConstraintCastNode;
62 class ConNode;
63 class CompareAndSwapNode;
64 class CompareAndExchangeNode;
65 class CountedLoopNode;
66 class CountedLoopEndNode;
67 class DecodeNarrowPtrNode;
68 class DecodeNNode;
69 class DecodeNKlassNode;
70 class EncodeNarrowPtrNode;
71 class EncodePNode;
72 class EncodePKlassNode;
73 class FastLockNode;
74 class FastUnlockNode;
75 class GetFPNode;
76 class IfNode;
77 class IfFalseNode;
78 class IfTrueNode;
79 class InitializeNode;
80 class JVMState;
81 class JumpNode;
82 class JumpProjNode;
83 class LoadNode;
84 class LoadStoreNode;
85 class LockNode;
86 class LoopNode;
87 class MachBranchNode;
88 class MachCallDynamicJavaNode;
89 class MachCallJavaNode;
90 class MachCallLeafNode;
91 class MachCallNode;
92 class MachCallRuntimeNode;
93 class MachCallStaticJavaNode;
94 class MachConstantBaseNode;
95 class MachConstantNode;
690
691 DEFINE_CLASS_ID(Region, Node, 5)
692 DEFINE_CLASS_ID(Loop, Region, 0)
693 DEFINE_CLASS_ID(Root, Loop, 0)
694 DEFINE_CLASS_ID(CountedLoop, Loop, 1)
695 DEFINE_CLASS_ID(OuterStripMinedLoop, Loop, 2)
696
697 DEFINE_CLASS_ID(Sub, Node, 6)
698 DEFINE_CLASS_ID(Cmp, Sub, 0)
699 DEFINE_CLASS_ID(FastLock, Cmp, 0)
700 DEFINE_CLASS_ID(FastUnlock, Cmp, 1)
701
702 DEFINE_CLASS_ID(MergeMem, Node, 7)
703 DEFINE_CLASS_ID(Bool, Node, 8)
704 DEFINE_CLASS_ID(AddP, Node, 9)
705 DEFINE_CLASS_ID(BoxLock, Node, 10)
706 DEFINE_CLASS_ID(Add, Node, 11)
707 DEFINE_CLASS_ID(Mul, Node, 12)
708 DEFINE_CLASS_ID(Vector, Node, 13)
709 DEFINE_CLASS_ID(ClearArray, Node, 14)
710 DEFINE_CLASS_ID(GetFP, Node, 15)
711
712 _max_classes = ClassMask_ClearArray
713 };
714 #undef DEFINE_CLASS_ID
715
716 // Flags are sorted by usage frequency.
717 enum NodeFlags {
718 Flag_is_Copy = 0x01, // should be first bit to avoid shift
719 Flag_rematerialize = Flag_is_Copy << 1,
720 Flag_needs_anti_dependence_check = Flag_rematerialize << 1,
721 Flag_is_macro = Flag_needs_anti_dependence_check << 1,
722 Flag_is_Con = Flag_is_macro << 1,
723 Flag_is_cisc_alternate = Flag_is_Con << 1,
724 Flag_is_dead_loop_safe = Flag_is_cisc_alternate << 1,
725 Flag_may_be_short_branch = Flag_is_dead_loop_safe << 1,
726 Flag_avoid_back_to_back_before = Flag_may_be_short_branch << 1,
727 Flag_avoid_back_to_back_after = Flag_avoid_back_to_back_before << 1,
728 Flag_has_call = Flag_avoid_back_to_back_after << 1,
729 Flag_is_reduction = Flag_has_call << 1,
730 Flag_is_scheduled = Flag_is_reduction << 1,
|