278 virtual int Opcode() const; |
278 virtual int Opcode() const; |
279 virtual Node *Identity( PhaseTransform *phase ); |
279 virtual Node *Identity( PhaseTransform *phase ); |
280 virtual const Type *Value( PhaseTransform *phase ) const; |
280 virtual const Type *Value( PhaseTransform *phase ) const; |
281 virtual uint ideal_reg() const { return Op_RegN; } |
281 virtual uint ideal_reg() const { return Op_RegN; } |
282 |
282 |
283 static Node* encode(PhaseTransform* phase, Node* value); |
|
284 virtual Node *Ideal_DU_postCCP( PhaseCCP *ccp ); |
283 virtual Node *Ideal_DU_postCCP( PhaseCCP *ccp ); |
285 }; |
284 }; |
286 |
285 |
287 //------------------------------DecodeN-------------------------------- |
286 //------------------------------DecodeN-------------------------------- |
288 // Converts a narrow oop into a real oop ptr. |
287 // Converts a narrow oop into a real oop ptr. |
298 } |
297 } |
299 virtual int Opcode() const; |
298 virtual int Opcode() const; |
300 virtual Node *Identity( PhaseTransform *phase ); |
299 virtual Node *Identity( PhaseTransform *phase ); |
301 virtual const Type *Value( PhaseTransform *phase ) const; |
300 virtual const Type *Value( PhaseTransform *phase ) const; |
302 virtual uint ideal_reg() const { return Op_RegP; } |
301 virtual uint ideal_reg() const { return Op_RegP; } |
303 |
|
304 static Node* decode(PhaseTransform* phase, Node* value); |
|
305 }; |
302 }; |
306 |
303 |
307 //------------------------------Conv2BNode------------------------------------- |
304 //------------------------------Conv2BNode------------------------------------- |
308 // Convert int/pointer to a Boolean. Map zero to zero, all else to 1. |
305 // Convert int/pointer to a Boolean. Map zero to zero, all else to 1. |
309 class Conv2BNode : public Node { |
306 class Conv2BNode : public Node { |