136 ConDNode( const TypeD *t ) : ConNode(t) {}
137 virtual int Opcode() const;
138
139 // Factory method:
140 static ConDNode* make(double con) {
141 return new ConDNode( TypeD::make(con) );
142 }
143
144 };
145
146 //------------------------------ThreadLocalNode--------------------------------
147 // Ideal Node which returns the base of ThreadLocalStorage.
148 class ThreadLocalNode : public Node {
149 public:
150 ThreadLocalNode( ) : Node((Node*)Compile::current()->root()) {}
151 virtual int Opcode() const;
152 virtual const Type *bottom_type() const { return TypeRawPtr::BOTTOM;}
153 virtual uint ideal_reg() const { return Op_RegP; }
154 };
155
156
157
158 #endif // SHARE_OPTO_CONNODE_HPP
|
136 ConDNode( const TypeD *t ) : ConNode(t) {}
137 virtual int Opcode() const;
138
139 // Factory method:
140 static ConDNode* make(double con) {
141 return new ConDNode( TypeD::make(con) );
142 }
143
144 };
145
146 //------------------------------ThreadLocalNode--------------------------------
147 // Ideal Node which returns the base of ThreadLocalStorage.
148 class ThreadLocalNode : public Node {
149 public:
150 ThreadLocalNode( ) : Node((Node*)Compile::current()->root()) {}
151 virtual int Opcode() const;
152 virtual const Type *bottom_type() const { return TypeRawPtr::BOTTOM;}
153 virtual uint ideal_reg() const { return Op_RegP; }
154 };
155
156 class TimestampNode : public Node {
157 public:
158 TimestampNode(Node* ctrl) : Node(ctrl) {}
159 virtual int Opcode() const;
160 virtual const Type *bottom_type() const { return TypeLong::LONG;}
161 virtual uint ideal_reg() const { return Op_RegL; }
162 };
163
164 class TimestampSerialNode : public Node {
165 public:
166 TimestampSerialNode(Node* ctrl) : Node(ctrl) {}
167 virtual int Opcode() const;
168 virtual const Type *bottom_type() const { return TypeLong::LONG;}
169 virtual uint ideal_reg() const { return Op_RegL; }
170 };
171
172 #endif // SHARE_OPTO_CONNODE_HPP
|