153 ConDNode( const TypeD *t ) : ConNode(t) {}
154 virtual int Opcode() const;
155
156 // Factory method:
157 static ConDNode* make(double con) {
158 return new ConDNode( TypeD::make(con) );
159 }
160
161 };
162
163 //------------------------------ThreadLocalNode--------------------------------
164 // Ideal Node which returns the base of ThreadLocalStorage.
165 class ThreadLocalNode : public Node {
166 public:
167 ThreadLocalNode( ) : Node((Node*)Compile::current()->root()) {}
168 virtual int Opcode() const;
169 virtual const Type *bottom_type() const { return TypeRawPtr::BOTTOM;}
170 virtual uint ideal_reg() const { return Op_RegP; }
171 };
172
173
174
175 #endif // SHARE_OPTO_CONNODE_HPP
|
153 ConDNode( const TypeD *t ) : ConNode(t) {}
154 virtual int Opcode() const;
155
156 // Factory method:
157 static ConDNode* make(double con) {
158 return new ConDNode( TypeD::make(con) );
159 }
160
161 };
162
163 //------------------------------ThreadLocalNode--------------------------------
164 // Ideal Node which returns the base of ThreadLocalStorage.
165 class ThreadLocalNode : public Node {
166 public:
167 ThreadLocalNode( ) : Node((Node*)Compile::current()->root()) {}
168 virtual int Opcode() const;
169 virtual const Type *bottom_type() const { return TypeRawPtr::BOTTOM;}
170 virtual uint ideal_reg() const { return Op_RegP; }
171 };
172
173 class TimestampNode : public Node {
174 public:
175 TimestampNode(Node* ctrl) : Node(ctrl) {}
176 virtual int Opcode() const;
177 virtual const Type *bottom_type() const { return TypeLong::LONG;}
178 virtual uint ideal_reg() const { return Op_RegL; }
179 };
180
181 class TimestampSerialNode : public Node {
182 public:
183 TimestampSerialNode(Node* ctrl) : Node(ctrl) {}
184 virtual int Opcode() const;
185 virtual const Type *bottom_type() const { return TypeLong::LONG;}
186 virtual uint ideal_reg() const { return Op_RegL; }
187 };
188
189 #endif // SHARE_OPTO_CONNODE_HPP
|