52 class CallRuntimeNode;
53 class CallStaticJavaNode;
54 class CatchNode;
55 class CatchProjNode;
56 class CheckCastPPNode;
57 class ClearArrayNode;
58 class CmpNode;
59 class CodeBuffer;
60 class ConstraintCastNode;
61 class ConNode;
62 class CountedLoopNode;
63 class CountedLoopEndNode;
64 class DecodeNarrowPtrNode;
65 class DecodeNNode;
66 class DecodeNKlassNode;
67 class EncodeNarrowPtrNode;
68 class EncodePNode;
69 class EncodePKlassNode;
70 class FastLockNode;
71 class FastUnlockNode;
72 class FlagsProjNode;
73 class IfNode;
74 class IfFalseNode;
75 class IfTrueNode;
76 class InitializeNode;
77 class JVMState;
78 class JumpNode;
79 class JumpProjNode;
80 class LoadNode;
81 class LoadStoreNode;
82 class LockNode;
83 class LoopNode;
84 class MachBranchNode;
85 class MachCallDynamicJavaNode;
86 class MachCallJavaNode;
87 class MachCallLeafNode;
88 class MachCallNode;
89 class MachCallRuntimeNode;
90 class MachCallStaticJavaNode;
91 class MachConstantBaseNode;
92 class MachConstantNode;
93 class MachGotoNode;
94 class MachIfNode;
95 class MachNode;
96 class MachNullCheckNode;
97 class MachProjNode;
98 class MachReturnNode;
99 class MachSafePointNode;
100 class MachSpillCopyNode;
101 class MachTempNode;
102 class Matcher;
103 class MathExactNode;
104 class MemBarNode;
105 class MemBarStoreStoreNode;
106 class MemNode;
107 class MergeMemNode;
108 class MulNode;
109 class MultiNode;
110 class MultiBranchNode;
111 class NeverBranchNode;
112 class Node;
113 class Node_Array;
114 class Node_List;
115 class Node_Stack;
116 class NullCheckNode;
117 class OopMap;
118 class ParmNode;
119 class PCTableNode;
120 class PhaseCCP;
121 class PhaseGVN;
122 class PhaseIterGVN;
123 class PhaseRegAlloc;
552 DEFINE_CLASS_ID(CallStaticJava, CallJava, 0)
553 DEFINE_CLASS_ID(CallDynamicJava, CallJava, 1)
554 DEFINE_CLASS_ID(CallRuntime, Call, 1)
555 DEFINE_CLASS_ID(CallLeaf, CallRuntime, 0)
556 DEFINE_CLASS_ID(Allocate, Call, 2)
557 DEFINE_CLASS_ID(AllocateArray, Allocate, 0)
558 DEFINE_CLASS_ID(AbstractLock, Call, 3)
559 DEFINE_CLASS_ID(Lock, AbstractLock, 0)
560 DEFINE_CLASS_ID(Unlock, AbstractLock, 1)
561 DEFINE_CLASS_ID(MultiBranch, Multi, 1)
562 DEFINE_CLASS_ID(PCTable, MultiBranch, 0)
563 DEFINE_CLASS_ID(Catch, PCTable, 0)
564 DEFINE_CLASS_ID(Jump, PCTable, 1)
565 DEFINE_CLASS_ID(If, MultiBranch, 1)
566 DEFINE_CLASS_ID(CountedLoopEnd, If, 0)
567 DEFINE_CLASS_ID(NeverBranch, MultiBranch, 2)
568 DEFINE_CLASS_ID(Start, Multi, 2)
569 DEFINE_CLASS_ID(MemBar, Multi, 3)
570 DEFINE_CLASS_ID(Initialize, MemBar, 0)
571 DEFINE_CLASS_ID(MemBarStoreStore, MemBar, 1)
572 DEFINE_CLASS_ID(MathExact, Multi, 4)
573
574 DEFINE_CLASS_ID(Mach, Node, 1)
575 DEFINE_CLASS_ID(MachReturn, Mach, 0)
576 DEFINE_CLASS_ID(MachSafePoint, MachReturn, 0)
577 DEFINE_CLASS_ID(MachCall, MachSafePoint, 0)
578 DEFINE_CLASS_ID(MachCallJava, MachCall, 0)
579 DEFINE_CLASS_ID(MachCallStaticJava, MachCallJava, 0)
580 DEFINE_CLASS_ID(MachCallDynamicJava, MachCallJava, 1)
581 DEFINE_CLASS_ID(MachCallRuntime, MachCall, 1)
582 DEFINE_CLASS_ID(MachCallLeaf, MachCallRuntime, 0)
583 DEFINE_CLASS_ID(MachBranch, Mach, 1)
584 DEFINE_CLASS_ID(MachIf, MachBranch, 0)
585 DEFINE_CLASS_ID(MachGoto, MachBranch, 1)
586 DEFINE_CLASS_ID(MachNullCheck, MachBranch, 2)
587 DEFINE_CLASS_ID(MachSpillCopy, Mach, 2)
588 DEFINE_CLASS_ID(MachTemp, Mach, 3)
589 DEFINE_CLASS_ID(MachConstantBase, Mach, 4)
590 DEFINE_CLASS_ID(MachConstant, Mach, 5)
591
592 DEFINE_CLASS_ID(Type, Node, 2)
609 DEFINE_CLASS_ID(IfFalse, Proj, 3)
610 DEFINE_CLASS_ID(Parm, Proj, 4)
611 DEFINE_CLASS_ID(MachProj, Proj, 5)
612
613 DEFINE_CLASS_ID(Mem, Node, 4)
614 DEFINE_CLASS_ID(Load, Mem, 0)
615 DEFINE_CLASS_ID(LoadVector, Load, 0)
616 DEFINE_CLASS_ID(Store, Mem, 1)
617 DEFINE_CLASS_ID(StoreVector, Store, 0)
618 DEFINE_CLASS_ID(LoadStore, Mem, 2)
619
620 DEFINE_CLASS_ID(Region, Node, 5)
621 DEFINE_CLASS_ID(Loop, Region, 0)
622 DEFINE_CLASS_ID(Root, Loop, 0)
623 DEFINE_CLASS_ID(CountedLoop, Loop, 1)
624
625 DEFINE_CLASS_ID(Sub, Node, 6)
626 DEFINE_CLASS_ID(Cmp, Sub, 0)
627 DEFINE_CLASS_ID(FastLock, Cmp, 0)
628 DEFINE_CLASS_ID(FastUnlock, Cmp, 1)
629 DEFINE_CLASS_ID(FlagsProj, Cmp, 2)
630
631 DEFINE_CLASS_ID(MergeMem, Node, 7)
632 DEFINE_CLASS_ID(Bool, Node, 8)
633 DEFINE_CLASS_ID(AddP, Node, 9)
634 DEFINE_CLASS_ID(BoxLock, Node, 10)
635 DEFINE_CLASS_ID(Add, Node, 11)
636 DEFINE_CLASS_ID(Mul, Node, 12)
637 DEFINE_CLASS_ID(Vector, Node, 13)
638 DEFINE_CLASS_ID(ClearArray, Node, 14)
639
640 _max_classes = ClassMask_ClearArray
641 };
642 #undef DEFINE_CLASS_ID
643
644 // Flags are sorted by usage frequency.
645 enum NodeFlags {
646 Flag_is_Copy = 0x01, // should be first bit to avoid shift
647 Flag_rematerialize = Flag_is_Copy << 1,
648 Flag_needs_anti_dependence_check = Flag_rematerialize << 1,
649 Flag_is_macro = Flag_needs_anti_dependence_check << 1,
713 DEFINE_CLASS_QUERY(CallLeaf)
714 DEFINE_CLASS_QUERY(CallRuntime)
715 DEFINE_CLASS_QUERY(CallStaticJava)
716 DEFINE_CLASS_QUERY(Catch)
717 DEFINE_CLASS_QUERY(CatchProj)
718 DEFINE_CLASS_QUERY(CheckCastPP)
719 DEFINE_CLASS_QUERY(ConstraintCast)
720 DEFINE_CLASS_QUERY(ClearArray)
721 DEFINE_CLASS_QUERY(CMove)
722 DEFINE_CLASS_QUERY(Cmp)
723 DEFINE_CLASS_QUERY(CountedLoop)
724 DEFINE_CLASS_QUERY(CountedLoopEnd)
725 DEFINE_CLASS_QUERY(DecodeNarrowPtr)
726 DEFINE_CLASS_QUERY(DecodeN)
727 DEFINE_CLASS_QUERY(DecodeNKlass)
728 DEFINE_CLASS_QUERY(EncodeNarrowPtr)
729 DEFINE_CLASS_QUERY(EncodeP)
730 DEFINE_CLASS_QUERY(EncodePKlass)
731 DEFINE_CLASS_QUERY(FastLock)
732 DEFINE_CLASS_QUERY(FastUnlock)
733 DEFINE_CLASS_QUERY(FlagsProj)
734 DEFINE_CLASS_QUERY(If)
735 DEFINE_CLASS_QUERY(IfFalse)
736 DEFINE_CLASS_QUERY(IfTrue)
737 DEFINE_CLASS_QUERY(Initialize)
738 DEFINE_CLASS_QUERY(Jump)
739 DEFINE_CLASS_QUERY(JumpProj)
740 DEFINE_CLASS_QUERY(Load)
741 DEFINE_CLASS_QUERY(LoadStore)
742 DEFINE_CLASS_QUERY(Lock)
743 DEFINE_CLASS_QUERY(Loop)
744 DEFINE_CLASS_QUERY(Mach)
745 DEFINE_CLASS_QUERY(MachBranch)
746 DEFINE_CLASS_QUERY(MachCall)
747 DEFINE_CLASS_QUERY(MachCallDynamicJava)
748 DEFINE_CLASS_QUERY(MachCallJava)
749 DEFINE_CLASS_QUERY(MachCallLeaf)
750 DEFINE_CLASS_QUERY(MachCallRuntime)
751 DEFINE_CLASS_QUERY(MachCallStaticJava)
752 DEFINE_CLASS_QUERY(MachConstantBase)
753 DEFINE_CLASS_QUERY(MachConstant)
754 DEFINE_CLASS_QUERY(MachGoto)
755 DEFINE_CLASS_QUERY(MachIf)
756 DEFINE_CLASS_QUERY(MachNullCheck)
757 DEFINE_CLASS_QUERY(MachProj)
758 DEFINE_CLASS_QUERY(MachReturn)
759 DEFINE_CLASS_QUERY(MachSafePoint)
760 DEFINE_CLASS_QUERY(MachSpillCopy)
761 DEFINE_CLASS_QUERY(MachTemp)
762 DEFINE_CLASS_QUERY(MathExact)
763 DEFINE_CLASS_QUERY(Mem)
764 DEFINE_CLASS_QUERY(MemBar)
765 DEFINE_CLASS_QUERY(MemBarStoreStore)
766 DEFINE_CLASS_QUERY(MergeMem)
767 DEFINE_CLASS_QUERY(Mul)
768 DEFINE_CLASS_QUERY(Multi)
769 DEFINE_CLASS_QUERY(MultiBranch)
770 DEFINE_CLASS_QUERY(Parm)
771 DEFINE_CLASS_QUERY(PCTable)
772 DEFINE_CLASS_QUERY(Phi)
773 DEFINE_CLASS_QUERY(Proj)
774 DEFINE_CLASS_QUERY(Region)
775 DEFINE_CLASS_QUERY(Root)
776 DEFINE_CLASS_QUERY(SafePoint)
777 DEFINE_CLASS_QUERY(SafePointScalarObject)
778 DEFINE_CLASS_QUERY(Start)
779 DEFINE_CLASS_QUERY(Store)
780 DEFINE_CLASS_QUERY(Sub)
781 DEFINE_CLASS_QUERY(Type)
782 DEFINE_CLASS_QUERY(Vector)
|
52 class CallRuntimeNode;
53 class CallStaticJavaNode;
54 class CatchNode;
55 class CatchProjNode;
56 class CheckCastPPNode;
57 class ClearArrayNode;
58 class CmpNode;
59 class CodeBuffer;
60 class ConstraintCastNode;
61 class ConNode;
62 class CountedLoopNode;
63 class CountedLoopEndNode;
64 class DecodeNarrowPtrNode;
65 class DecodeNNode;
66 class DecodeNKlassNode;
67 class EncodeNarrowPtrNode;
68 class EncodePNode;
69 class EncodePKlassNode;
70 class FastLockNode;
71 class FastUnlockNode;
72 class IfNode;
73 class IfFalseNode;
74 class IfTrueNode;
75 class InitializeNode;
76 class JVMState;
77 class JumpNode;
78 class JumpProjNode;
79 class LoadNode;
80 class LoadStoreNode;
81 class LockNode;
82 class LoopNode;
83 class MachBranchNode;
84 class MachCallDynamicJavaNode;
85 class MachCallJavaNode;
86 class MachCallLeafNode;
87 class MachCallNode;
88 class MachCallRuntimeNode;
89 class MachCallStaticJavaNode;
90 class MachConstantBaseNode;
91 class MachConstantNode;
92 class MachGotoNode;
93 class MachIfNode;
94 class MachNode;
95 class MachNullCheckNode;
96 class MachProjNode;
97 class MachReturnNode;
98 class MachSafePointNode;
99 class MachSpillCopyNode;
100 class MachTempNode;
101 class Matcher;
102 class MemBarNode;
103 class MemBarStoreStoreNode;
104 class MemNode;
105 class MergeMemNode;
106 class MulNode;
107 class MultiNode;
108 class MultiBranchNode;
109 class NeverBranchNode;
110 class Node;
111 class Node_Array;
112 class Node_List;
113 class Node_Stack;
114 class NullCheckNode;
115 class OopMap;
116 class ParmNode;
117 class PCTableNode;
118 class PhaseCCP;
119 class PhaseGVN;
120 class PhaseIterGVN;
121 class PhaseRegAlloc;
550 DEFINE_CLASS_ID(CallStaticJava, CallJava, 0)
551 DEFINE_CLASS_ID(CallDynamicJava, CallJava, 1)
552 DEFINE_CLASS_ID(CallRuntime, Call, 1)
553 DEFINE_CLASS_ID(CallLeaf, CallRuntime, 0)
554 DEFINE_CLASS_ID(Allocate, Call, 2)
555 DEFINE_CLASS_ID(AllocateArray, Allocate, 0)
556 DEFINE_CLASS_ID(AbstractLock, Call, 3)
557 DEFINE_CLASS_ID(Lock, AbstractLock, 0)
558 DEFINE_CLASS_ID(Unlock, AbstractLock, 1)
559 DEFINE_CLASS_ID(MultiBranch, Multi, 1)
560 DEFINE_CLASS_ID(PCTable, MultiBranch, 0)
561 DEFINE_CLASS_ID(Catch, PCTable, 0)
562 DEFINE_CLASS_ID(Jump, PCTable, 1)
563 DEFINE_CLASS_ID(If, MultiBranch, 1)
564 DEFINE_CLASS_ID(CountedLoopEnd, If, 0)
565 DEFINE_CLASS_ID(NeverBranch, MultiBranch, 2)
566 DEFINE_CLASS_ID(Start, Multi, 2)
567 DEFINE_CLASS_ID(MemBar, Multi, 3)
568 DEFINE_CLASS_ID(Initialize, MemBar, 0)
569 DEFINE_CLASS_ID(MemBarStoreStore, MemBar, 1)
570
571 DEFINE_CLASS_ID(Mach, Node, 1)
572 DEFINE_CLASS_ID(MachReturn, Mach, 0)
573 DEFINE_CLASS_ID(MachSafePoint, MachReturn, 0)
574 DEFINE_CLASS_ID(MachCall, MachSafePoint, 0)
575 DEFINE_CLASS_ID(MachCallJava, MachCall, 0)
576 DEFINE_CLASS_ID(MachCallStaticJava, MachCallJava, 0)
577 DEFINE_CLASS_ID(MachCallDynamicJava, MachCallJava, 1)
578 DEFINE_CLASS_ID(MachCallRuntime, MachCall, 1)
579 DEFINE_CLASS_ID(MachCallLeaf, MachCallRuntime, 0)
580 DEFINE_CLASS_ID(MachBranch, Mach, 1)
581 DEFINE_CLASS_ID(MachIf, MachBranch, 0)
582 DEFINE_CLASS_ID(MachGoto, MachBranch, 1)
583 DEFINE_CLASS_ID(MachNullCheck, MachBranch, 2)
584 DEFINE_CLASS_ID(MachSpillCopy, Mach, 2)
585 DEFINE_CLASS_ID(MachTemp, Mach, 3)
586 DEFINE_CLASS_ID(MachConstantBase, Mach, 4)
587 DEFINE_CLASS_ID(MachConstant, Mach, 5)
588
589 DEFINE_CLASS_ID(Type, Node, 2)
606 DEFINE_CLASS_ID(IfFalse, Proj, 3)
607 DEFINE_CLASS_ID(Parm, Proj, 4)
608 DEFINE_CLASS_ID(MachProj, Proj, 5)
609
610 DEFINE_CLASS_ID(Mem, Node, 4)
611 DEFINE_CLASS_ID(Load, Mem, 0)
612 DEFINE_CLASS_ID(LoadVector, Load, 0)
613 DEFINE_CLASS_ID(Store, Mem, 1)
614 DEFINE_CLASS_ID(StoreVector, Store, 0)
615 DEFINE_CLASS_ID(LoadStore, Mem, 2)
616
617 DEFINE_CLASS_ID(Region, Node, 5)
618 DEFINE_CLASS_ID(Loop, Region, 0)
619 DEFINE_CLASS_ID(Root, Loop, 0)
620 DEFINE_CLASS_ID(CountedLoop, Loop, 1)
621
622 DEFINE_CLASS_ID(Sub, Node, 6)
623 DEFINE_CLASS_ID(Cmp, Sub, 0)
624 DEFINE_CLASS_ID(FastLock, Cmp, 0)
625 DEFINE_CLASS_ID(FastUnlock, Cmp, 1)
626
627 DEFINE_CLASS_ID(MergeMem, Node, 7)
628 DEFINE_CLASS_ID(Bool, Node, 8)
629 DEFINE_CLASS_ID(AddP, Node, 9)
630 DEFINE_CLASS_ID(BoxLock, Node, 10)
631 DEFINE_CLASS_ID(Add, Node, 11)
632 DEFINE_CLASS_ID(Mul, Node, 12)
633 DEFINE_CLASS_ID(Vector, Node, 13)
634 DEFINE_CLASS_ID(ClearArray, Node, 14)
635
636 _max_classes = ClassMask_ClearArray
637 };
638 #undef DEFINE_CLASS_ID
639
640 // Flags are sorted by usage frequency.
641 enum NodeFlags {
642 Flag_is_Copy = 0x01, // should be first bit to avoid shift
643 Flag_rematerialize = Flag_is_Copy << 1,
644 Flag_needs_anti_dependence_check = Flag_rematerialize << 1,
645 Flag_is_macro = Flag_needs_anti_dependence_check << 1,
709 DEFINE_CLASS_QUERY(CallLeaf)
710 DEFINE_CLASS_QUERY(CallRuntime)
711 DEFINE_CLASS_QUERY(CallStaticJava)
712 DEFINE_CLASS_QUERY(Catch)
713 DEFINE_CLASS_QUERY(CatchProj)
714 DEFINE_CLASS_QUERY(CheckCastPP)
715 DEFINE_CLASS_QUERY(ConstraintCast)
716 DEFINE_CLASS_QUERY(ClearArray)
717 DEFINE_CLASS_QUERY(CMove)
718 DEFINE_CLASS_QUERY(Cmp)
719 DEFINE_CLASS_QUERY(CountedLoop)
720 DEFINE_CLASS_QUERY(CountedLoopEnd)
721 DEFINE_CLASS_QUERY(DecodeNarrowPtr)
722 DEFINE_CLASS_QUERY(DecodeN)
723 DEFINE_CLASS_QUERY(DecodeNKlass)
724 DEFINE_CLASS_QUERY(EncodeNarrowPtr)
725 DEFINE_CLASS_QUERY(EncodeP)
726 DEFINE_CLASS_QUERY(EncodePKlass)
727 DEFINE_CLASS_QUERY(FastLock)
728 DEFINE_CLASS_QUERY(FastUnlock)
729 DEFINE_CLASS_QUERY(If)
730 DEFINE_CLASS_QUERY(IfFalse)
731 DEFINE_CLASS_QUERY(IfTrue)
732 DEFINE_CLASS_QUERY(Initialize)
733 DEFINE_CLASS_QUERY(Jump)
734 DEFINE_CLASS_QUERY(JumpProj)
735 DEFINE_CLASS_QUERY(Load)
736 DEFINE_CLASS_QUERY(LoadStore)
737 DEFINE_CLASS_QUERY(Lock)
738 DEFINE_CLASS_QUERY(Loop)
739 DEFINE_CLASS_QUERY(Mach)
740 DEFINE_CLASS_QUERY(MachBranch)
741 DEFINE_CLASS_QUERY(MachCall)
742 DEFINE_CLASS_QUERY(MachCallDynamicJava)
743 DEFINE_CLASS_QUERY(MachCallJava)
744 DEFINE_CLASS_QUERY(MachCallLeaf)
745 DEFINE_CLASS_QUERY(MachCallRuntime)
746 DEFINE_CLASS_QUERY(MachCallStaticJava)
747 DEFINE_CLASS_QUERY(MachConstantBase)
748 DEFINE_CLASS_QUERY(MachConstant)
749 DEFINE_CLASS_QUERY(MachGoto)
750 DEFINE_CLASS_QUERY(MachIf)
751 DEFINE_CLASS_QUERY(MachNullCheck)
752 DEFINE_CLASS_QUERY(MachProj)
753 DEFINE_CLASS_QUERY(MachReturn)
754 DEFINE_CLASS_QUERY(MachSafePoint)
755 DEFINE_CLASS_QUERY(MachSpillCopy)
756 DEFINE_CLASS_QUERY(MachTemp)
757 DEFINE_CLASS_QUERY(Mem)
758 DEFINE_CLASS_QUERY(MemBar)
759 DEFINE_CLASS_QUERY(MemBarStoreStore)
760 DEFINE_CLASS_QUERY(MergeMem)
761 DEFINE_CLASS_QUERY(Mul)
762 DEFINE_CLASS_QUERY(Multi)
763 DEFINE_CLASS_QUERY(MultiBranch)
764 DEFINE_CLASS_QUERY(Parm)
765 DEFINE_CLASS_QUERY(PCTable)
766 DEFINE_CLASS_QUERY(Phi)
767 DEFINE_CLASS_QUERY(Proj)
768 DEFINE_CLASS_QUERY(Region)
769 DEFINE_CLASS_QUERY(Root)
770 DEFINE_CLASS_QUERY(SafePoint)
771 DEFINE_CLASS_QUERY(SafePointScalarObject)
772 DEFINE_CLASS_QUERY(Start)
773 DEFINE_CLASS_QUERY(Store)
774 DEFINE_CLASS_QUERY(Sub)
775 DEFINE_CLASS_QUERY(Type)
776 DEFINE_CLASS_QUERY(Vector)
|