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 AddrBadBitNode : public Node {
153 public:
154 AddrBadBitNode() : Node((Node*)Compile::current()->root()) {}
155 virtual int Opcode() const;
156 virtual const Type *bottom_type() const { return TypeX_X;}
157 virtual uint ideal_reg() const { return Op_RegX; }
158 };
159
160
161
162 #endif // SHARE_VM_OPTO_CONNODE_HPP
|
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 AddrBadBitNode : public Node {
153 public:
154 AddrBadBitNode() : Node((Node*)Compile::current()->root()) {}
155 virtual int Opcode() const;
156 virtual const Type *bottom_type() const { return TypeX_X;}
157 virtual uint ideal_reg() const { return Op_RegX; }
158 };
159
160
161 #endif // SHARE_VM_OPTO_CONNODE_HPP
|