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