77 class Scope;
78 class StartNode;
79 class SafePointNode;
80 class JVMState;
81 class Type;
82 class TypeData;
83 class TypeInt;
84 class TypePtr;
85 class TypeOopPtr;
86 class TypeFunc;
87 class Unique_Node_List;
88 class nmethod;
89 class WarmCallInfo;
90 class Node_Stack;
91 struct Final_Reshape_Counts;
92
93 enum LoopOptsMode {
94 LoopOptsDefault,
95 LoopOptsNone,
96 LoopOptsSkipSplitIf,
97 LoopOptsVerify,
98 LoopOptsLastRound
99 };
100
101 typedef unsigned int node_idx_t;
102 class NodeCloneInfo {
103 private:
104 uint64_t _idx_clone_orig;
105 public:
106
107 void set_idx(node_idx_t idx) {
108 _idx_clone_orig = (_idx_clone_orig & CONST64(0xFFFFFFFF00000000)) | idx;
109 }
110 node_idx_t idx() const { return (node_idx_t)(_idx_clone_orig & 0xFFFFFFFF); }
111
112 void set_gen(int generation) {
113 uint64_t g = (uint64_t)generation << 32;
114 _idx_clone_orig = (_idx_clone_orig & 0xFFFFFFFF) | g;
115 }
116 int gen() const { return (int)(_idx_clone_orig >> 32); }
|
77 class Scope;
78 class StartNode;
79 class SafePointNode;
80 class JVMState;
81 class Type;
82 class TypeData;
83 class TypeInt;
84 class TypePtr;
85 class TypeOopPtr;
86 class TypeFunc;
87 class Unique_Node_List;
88 class nmethod;
89 class WarmCallInfo;
90 class Node_Stack;
91 struct Final_Reshape_Counts;
92
93 enum LoopOptsMode {
94 LoopOptsDefault,
95 LoopOptsNone,
96 LoopOptsSkipSplitIf,
97 LoopOptsShenandoahExpand,
98 LoopOptsShenandoahPostExpand,
99 LoopOptsVerify,
100 LoopOptsLastRound
101 };
102
103 typedef unsigned int node_idx_t;
104 class NodeCloneInfo {
105 private:
106 uint64_t _idx_clone_orig;
107 public:
108
109 void set_idx(node_idx_t idx) {
110 _idx_clone_orig = (_idx_clone_orig & CONST64(0xFFFFFFFF00000000)) | idx;
111 }
112 node_idx_t idx() const { return (node_idx_t)(_idx_clone_orig & 0xFFFFFFFF); }
113
114 void set_gen(int generation) {
115 uint64_t g = (uint64_t)generation << 32;
116 _idx_clone_orig = (_idx_clone_orig & 0xFFFFFFFF) | g;
117 }
118 int gen() const { return (int)(_idx_clone_orig >> 32); }
|