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;
558 DEFINE_CLASS_ID(CallStaticJava, CallJava, 0)
559 DEFINE_CLASS_ID(CallDynamicJava, CallJava, 1)
560 DEFINE_CLASS_ID(CallRuntime, Call, 1)
561 DEFINE_CLASS_ID(CallLeaf, CallRuntime, 0)
562 DEFINE_CLASS_ID(Allocate, Call, 2)
563 DEFINE_CLASS_ID(AllocateArray, Allocate, 0)
564 DEFINE_CLASS_ID(AbstractLock, Call, 3)
565 DEFINE_CLASS_ID(Lock, AbstractLock, 0)
566 DEFINE_CLASS_ID(Unlock, AbstractLock, 1)
567 DEFINE_CLASS_ID(MultiBranch, Multi, 1)
568 DEFINE_CLASS_ID(PCTable, MultiBranch, 0)
569 DEFINE_CLASS_ID(Catch, PCTable, 0)
570 DEFINE_CLASS_ID(Jump, PCTable, 1)
571 DEFINE_CLASS_ID(If, MultiBranch, 1)
572 DEFINE_CLASS_ID(CountedLoopEnd, If, 0)
573 DEFINE_CLASS_ID(NeverBranch, MultiBranch, 2)
574 DEFINE_CLASS_ID(Start, Multi, 2)
575 DEFINE_CLASS_ID(MemBar, Multi, 3)
576 DEFINE_CLASS_ID(Initialize, MemBar, 0)
577 DEFINE_CLASS_ID(MemBarStoreStore, MemBar, 1)
578 DEFINE_CLASS_ID(MathExact, Multi, 4)
579
580 DEFINE_CLASS_ID(Mach, Node, 1)
581 DEFINE_CLASS_ID(MachReturn, Mach, 0)
582 DEFINE_CLASS_ID(MachSafePoint, MachReturn, 0)
583 DEFINE_CLASS_ID(MachCall, MachSafePoint, 0)
584 DEFINE_CLASS_ID(MachCallJava, MachCall, 0)
585 DEFINE_CLASS_ID(MachCallStaticJava, MachCallJava, 0)
586 DEFINE_CLASS_ID(MachCallDynamicJava, MachCallJava, 1)
587 DEFINE_CLASS_ID(MachCallRuntime, MachCall, 1)
588 DEFINE_CLASS_ID(MachCallLeaf, MachCallRuntime, 0)
589 DEFINE_CLASS_ID(MachBranch, Mach, 1)
590 DEFINE_CLASS_ID(MachIf, MachBranch, 0)
591 DEFINE_CLASS_ID(MachGoto, MachBranch, 1)
592 DEFINE_CLASS_ID(MachNullCheck, MachBranch, 2)
593 DEFINE_CLASS_ID(MachSpillCopy, Mach, 2)
594 DEFINE_CLASS_ID(MachTemp, Mach, 3)
595 DEFINE_CLASS_ID(MachConstantBase, Mach, 4)
596 DEFINE_CLASS_ID(MachConstant, Mach, 5)
597
598 DEFINE_CLASS_ID(Type, Node, 2)
615 DEFINE_CLASS_ID(IfFalse, Proj, 3)
616 DEFINE_CLASS_ID(Parm, Proj, 4)
617 DEFINE_CLASS_ID(MachProj, Proj, 5)
618
619 DEFINE_CLASS_ID(Mem, Node, 4)
620 DEFINE_CLASS_ID(Load, Mem, 0)
621 DEFINE_CLASS_ID(LoadVector, Load, 0)
622 DEFINE_CLASS_ID(Store, Mem, 1)
623 DEFINE_CLASS_ID(StoreVector, Store, 0)
624 DEFINE_CLASS_ID(LoadStore, Mem, 2)
625
626 DEFINE_CLASS_ID(Region, Node, 5)
627 DEFINE_CLASS_ID(Loop, Region, 0)
628 DEFINE_CLASS_ID(Root, Loop, 0)
629 DEFINE_CLASS_ID(CountedLoop, Loop, 1)
630
631 DEFINE_CLASS_ID(Sub, Node, 6)
632 DEFINE_CLASS_ID(Cmp, Sub, 0)
633 DEFINE_CLASS_ID(FastLock, Cmp, 0)
634 DEFINE_CLASS_ID(FastUnlock, Cmp, 1)
635 DEFINE_CLASS_ID(FlagsProj, Cmp, 2)
636
637 DEFINE_CLASS_ID(MergeMem, Node, 7)
638 DEFINE_CLASS_ID(Bool, Node, 8)
639 DEFINE_CLASS_ID(AddP, Node, 9)
640 DEFINE_CLASS_ID(BoxLock, Node, 10)
641 DEFINE_CLASS_ID(Add, Node, 11)
642 DEFINE_CLASS_ID(Mul, Node, 12)
643 DEFINE_CLASS_ID(Vector, Node, 13)
644 DEFINE_CLASS_ID(ClearArray, Node, 14)
645
646 _max_classes = ClassMask_ClearArray
647 };
648 #undef DEFINE_CLASS_ID
649
650 // Flags are sorted by usage frequency.
651 enum NodeFlags {
652 Flag_is_Copy = 0x01, // should be first bit to avoid shift
653 Flag_rematerialize = Flag_is_Copy << 1,
654 Flag_needs_anti_dependence_check = Flag_rematerialize << 1,
655 Flag_is_macro = Flag_needs_anti_dependence_check << 1,
719 DEFINE_CLASS_QUERY(CallLeaf)
720 DEFINE_CLASS_QUERY(CallRuntime)
721 DEFINE_CLASS_QUERY(CallStaticJava)
722 DEFINE_CLASS_QUERY(Catch)
723 DEFINE_CLASS_QUERY(CatchProj)
724 DEFINE_CLASS_QUERY(CheckCastPP)
725 DEFINE_CLASS_QUERY(ConstraintCast)
726 DEFINE_CLASS_QUERY(ClearArray)
727 DEFINE_CLASS_QUERY(CMove)
728 DEFINE_CLASS_QUERY(Cmp)
729 DEFINE_CLASS_QUERY(CountedLoop)
730 DEFINE_CLASS_QUERY(CountedLoopEnd)
731 DEFINE_CLASS_QUERY(DecodeNarrowPtr)
732 DEFINE_CLASS_QUERY(DecodeN)
733 DEFINE_CLASS_QUERY(DecodeNKlass)
734 DEFINE_CLASS_QUERY(EncodeNarrowPtr)
735 DEFINE_CLASS_QUERY(EncodeP)
736 DEFINE_CLASS_QUERY(EncodePKlass)
737 DEFINE_CLASS_QUERY(FastLock)
738 DEFINE_CLASS_QUERY(FastUnlock)
739 DEFINE_CLASS_QUERY(FlagsProj)
740 DEFINE_CLASS_QUERY(If)
741 DEFINE_CLASS_QUERY(IfFalse)
742 DEFINE_CLASS_QUERY(IfTrue)
743 DEFINE_CLASS_QUERY(Initialize)
744 DEFINE_CLASS_QUERY(Jump)
745 DEFINE_CLASS_QUERY(JumpProj)
746 DEFINE_CLASS_QUERY(Load)
747 DEFINE_CLASS_QUERY(LoadStore)
748 DEFINE_CLASS_QUERY(Lock)
749 DEFINE_CLASS_QUERY(Loop)
750 DEFINE_CLASS_QUERY(Mach)
751 DEFINE_CLASS_QUERY(MachBranch)
752 DEFINE_CLASS_QUERY(MachCall)
753 DEFINE_CLASS_QUERY(MachCallDynamicJava)
754 DEFINE_CLASS_QUERY(MachCallJava)
755 DEFINE_CLASS_QUERY(MachCallLeaf)
756 DEFINE_CLASS_QUERY(MachCallRuntime)
757 DEFINE_CLASS_QUERY(MachCallStaticJava)
758 DEFINE_CLASS_QUERY(MachConstantBase)
759 DEFINE_CLASS_QUERY(MachConstant)
760 DEFINE_CLASS_QUERY(MachGoto)
761 DEFINE_CLASS_QUERY(MachIf)
762 DEFINE_CLASS_QUERY(MachNullCheck)
763 DEFINE_CLASS_QUERY(MachProj)
764 DEFINE_CLASS_QUERY(MachReturn)
765 DEFINE_CLASS_QUERY(MachSafePoint)
766 DEFINE_CLASS_QUERY(MachSpillCopy)
767 DEFINE_CLASS_QUERY(MachTemp)
768 DEFINE_CLASS_QUERY(MathExact)
769 DEFINE_CLASS_QUERY(Mem)
770 DEFINE_CLASS_QUERY(MemBar)
771 DEFINE_CLASS_QUERY(MemBarStoreStore)
772 DEFINE_CLASS_QUERY(MergeMem)
773 DEFINE_CLASS_QUERY(Mul)
774 DEFINE_CLASS_QUERY(Multi)
775 DEFINE_CLASS_QUERY(MultiBranch)
776 DEFINE_CLASS_QUERY(Parm)
777 DEFINE_CLASS_QUERY(PCTable)
778 DEFINE_CLASS_QUERY(Phi)
779 DEFINE_CLASS_QUERY(Proj)
780 DEFINE_CLASS_QUERY(Region)
781 DEFINE_CLASS_QUERY(Root)
782 DEFINE_CLASS_QUERY(SafePoint)
783 DEFINE_CLASS_QUERY(SafePointScalarObject)
784 DEFINE_CLASS_QUERY(Start)
785 DEFINE_CLASS_QUERY(Store)
786 DEFINE_CLASS_QUERY(Sub)
787 DEFINE_CLASS_QUERY(Type)
788 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;
556 DEFINE_CLASS_ID(CallStaticJava, CallJava, 0)
557 DEFINE_CLASS_ID(CallDynamicJava, CallJava, 1)
558 DEFINE_CLASS_ID(CallRuntime, Call, 1)
559 DEFINE_CLASS_ID(CallLeaf, CallRuntime, 0)
560 DEFINE_CLASS_ID(Allocate, Call, 2)
561 DEFINE_CLASS_ID(AllocateArray, Allocate, 0)
562 DEFINE_CLASS_ID(AbstractLock, Call, 3)
563 DEFINE_CLASS_ID(Lock, AbstractLock, 0)
564 DEFINE_CLASS_ID(Unlock, AbstractLock, 1)
565 DEFINE_CLASS_ID(MultiBranch, Multi, 1)
566 DEFINE_CLASS_ID(PCTable, MultiBranch, 0)
567 DEFINE_CLASS_ID(Catch, PCTable, 0)
568 DEFINE_CLASS_ID(Jump, PCTable, 1)
569 DEFINE_CLASS_ID(If, MultiBranch, 1)
570 DEFINE_CLASS_ID(CountedLoopEnd, If, 0)
571 DEFINE_CLASS_ID(NeverBranch, MultiBranch, 2)
572 DEFINE_CLASS_ID(Start, Multi, 2)
573 DEFINE_CLASS_ID(MemBar, Multi, 3)
574 DEFINE_CLASS_ID(Initialize, MemBar, 0)
575 DEFINE_CLASS_ID(MemBarStoreStore, MemBar, 1)
576
577 DEFINE_CLASS_ID(Mach, Node, 1)
578 DEFINE_CLASS_ID(MachReturn, Mach, 0)
579 DEFINE_CLASS_ID(MachSafePoint, MachReturn, 0)
580 DEFINE_CLASS_ID(MachCall, MachSafePoint, 0)
581 DEFINE_CLASS_ID(MachCallJava, MachCall, 0)
582 DEFINE_CLASS_ID(MachCallStaticJava, MachCallJava, 0)
583 DEFINE_CLASS_ID(MachCallDynamicJava, MachCallJava, 1)
584 DEFINE_CLASS_ID(MachCallRuntime, MachCall, 1)
585 DEFINE_CLASS_ID(MachCallLeaf, MachCallRuntime, 0)
586 DEFINE_CLASS_ID(MachBranch, Mach, 1)
587 DEFINE_CLASS_ID(MachIf, MachBranch, 0)
588 DEFINE_CLASS_ID(MachGoto, MachBranch, 1)
589 DEFINE_CLASS_ID(MachNullCheck, MachBranch, 2)
590 DEFINE_CLASS_ID(MachSpillCopy, Mach, 2)
591 DEFINE_CLASS_ID(MachTemp, Mach, 3)
592 DEFINE_CLASS_ID(MachConstantBase, Mach, 4)
593 DEFINE_CLASS_ID(MachConstant, Mach, 5)
594
595 DEFINE_CLASS_ID(Type, Node, 2)
612 DEFINE_CLASS_ID(IfFalse, Proj, 3)
613 DEFINE_CLASS_ID(Parm, Proj, 4)
614 DEFINE_CLASS_ID(MachProj, Proj, 5)
615
616 DEFINE_CLASS_ID(Mem, Node, 4)
617 DEFINE_CLASS_ID(Load, Mem, 0)
618 DEFINE_CLASS_ID(LoadVector, Load, 0)
619 DEFINE_CLASS_ID(Store, Mem, 1)
620 DEFINE_CLASS_ID(StoreVector, Store, 0)
621 DEFINE_CLASS_ID(LoadStore, Mem, 2)
622
623 DEFINE_CLASS_ID(Region, Node, 5)
624 DEFINE_CLASS_ID(Loop, Region, 0)
625 DEFINE_CLASS_ID(Root, Loop, 0)
626 DEFINE_CLASS_ID(CountedLoop, Loop, 1)
627
628 DEFINE_CLASS_ID(Sub, Node, 6)
629 DEFINE_CLASS_ID(Cmp, Sub, 0)
630 DEFINE_CLASS_ID(FastLock, Cmp, 0)
631 DEFINE_CLASS_ID(FastUnlock, Cmp, 1)
632
633 DEFINE_CLASS_ID(MergeMem, Node, 7)
634 DEFINE_CLASS_ID(Bool, Node, 8)
635 DEFINE_CLASS_ID(AddP, Node, 9)
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,
715 DEFINE_CLASS_QUERY(CallLeaf)
716 DEFINE_CLASS_QUERY(CallRuntime)
717 DEFINE_CLASS_QUERY(CallStaticJava)
718 DEFINE_CLASS_QUERY(Catch)
719 DEFINE_CLASS_QUERY(CatchProj)
720 DEFINE_CLASS_QUERY(CheckCastPP)
721 DEFINE_CLASS_QUERY(ConstraintCast)
722 DEFINE_CLASS_QUERY(ClearArray)
723 DEFINE_CLASS_QUERY(CMove)
724 DEFINE_CLASS_QUERY(Cmp)
725 DEFINE_CLASS_QUERY(CountedLoop)
726 DEFINE_CLASS_QUERY(CountedLoopEnd)
727 DEFINE_CLASS_QUERY(DecodeNarrowPtr)
728 DEFINE_CLASS_QUERY(DecodeN)
729 DEFINE_CLASS_QUERY(DecodeNKlass)
730 DEFINE_CLASS_QUERY(EncodeNarrowPtr)
731 DEFINE_CLASS_QUERY(EncodeP)
732 DEFINE_CLASS_QUERY(EncodePKlass)
733 DEFINE_CLASS_QUERY(FastLock)
734 DEFINE_CLASS_QUERY(FastUnlock)
735 DEFINE_CLASS_QUERY(If)
736 DEFINE_CLASS_QUERY(IfFalse)
737 DEFINE_CLASS_QUERY(IfTrue)
738 DEFINE_CLASS_QUERY(Initialize)
739 DEFINE_CLASS_QUERY(Jump)
740 DEFINE_CLASS_QUERY(JumpProj)
741 DEFINE_CLASS_QUERY(Load)
742 DEFINE_CLASS_QUERY(LoadStore)
743 DEFINE_CLASS_QUERY(Lock)
744 DEFINE_CLASS_QUERY(Loop)
745 DEFINE_CLASS_QUERY(Mach)
746 DEFINE_CLASS_QUERY(MachBranch)
747 DEFINE_CLASS_QUERY(MachCall)
748 DEFINE_CLASS_QUERY(MachCallDynamicJava)
749 DEFINE_CLASS_QUERY(MachCallJava)
750 DEFINE_CLASS_QUERY(MachCallLeaf)
751 DEFINE_CLASS_QUERY(MachCallRuntime)
752 DEFINE_CLASS_QUERY(MachCallStaticJava)
753 DEFINE_CLASS_QUERY(MachConstantBase)
754 DEFINE_CLASS_QUERY(MachConstant)
755 DEFINE_CLASS_QUERY(MachGoto)
756 DEFINE_CLASS_QUERY(MachIf)
757 DEFINE_CLASS_QUERY(MachNullCheck)
758 DEFINE_CLASS_QUERY(MachProj)
759 DEFINE_CLASS_QUERY(MachReturn)
760 DEFINE_CLASS_QUERY(MachSafePoint)
761 DEFINE_CLASS_QUERY(MachSpillCopy)
762 DEFINE_CLASS_QUERY(MachTemp)
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)
|