< prev index next >

src/hotspot/share/opto/subnode.hpp

Print this page




 431 //------------------------------SqrtDNode--------------------------------------
 432 // square root a double
 433 class SqrtDNode : public Node {
 434 public:
 435   SqrtDNode(Compile* C, Node *c, Node *in1) : Node(c, in1) {
 436     init_flags(Flag_is_expensive);
 437     C->add_expensive_node(this);
 438   }
 439   virtual int Opcode() const;
 440   const Type *bottom_type() const { return Type::DOUBLE; }
 441   virtual uint ideal_reg() const { return Op_RegD; }
 442   virtual const Type* Value(PhaseGVN* phase) const;
 443 };
 444 
 445 //------------------------------SqrtFNode--------------------------------------
 446 // square root a float
 447 class SqrtFNode : public Node {
 448 public:
 449   SqrtFNode(Compile* C, Node *c, Node *in1) : Node(c, in1) {
 450     init_flags(Flag_is_expensive);




 451     C->add_expensive_node(this);

 452   }
 453   virtual int Opcode() const;
 454   const Type *bottom_type() const { return Type::FLOAT; }
 455   virtual uint ideal_reg() const { return Op_RegF; }
 456   virtual const Type* Value(PhaseGVN* phase) const;
 457 };
 458 
 459 //-------------------------------ReverseBytesINode--------------------------------
 460 // reverse bytes of an integer
 461 class ReverseBytesINode : public Node {
 462 public:
 463   ReverseBytesINode(Node *c, Node *in1) : Node(c, in1) {}
 464   virtual int Opcode() const;
 465   const Type *bottom_type() const { return TypeInt::INT; }
 466   virtual uint ideal_reg() const { return Op_RegI; }
 467 };
 468 
 469 //-------------------------------ReverseBytesLNode--------------------------------
 470 // reverse bytes of a long
 471 class ReverseBytesLNode : public Node {




 431 //------------------------------SqrtDNode--------------------------------------
 432 // square root a double
 433 class SqrtDNode : public Node {
 434 public:
 435   SqrtDNode(Compile* C, Node *c, Node *in1) : Node(c, in1) {
 436     init_flags(Flag_is_expensive);
 437     C->add_expensive_node(this);
 438   }
 439   virtual int Opcode() const;
 440   const Type *bottom_type() const { return Type::DOUBLE; }
 441   virtual uint ideal_reg() const { return Op_RegD; }
 442   virtual const Type* Value(PhaseGVN* phase) const;
 443 };
 444 
 445 //------------------------------SqrtFNode--------------------------------------
 446 // square root a float
 447 class SqrtFNode : public Node {
 448 public:
 449   SqrtFNode(Compile* C, Node *c, Node *in1) : Node(c, in1) {
 450     init_flags(Flag_is_expensive);
 451     if (c != NULL) {
 452       // Treat node only as expensive if a control input is set because it might
 453       // be created from a SqrtDNode in ConvD2FNode::Ideal() that was found to
 454       // be unique and therefore has no control input.
 455       C->add_expensive_node(this);
 456     }
 457   }
 458   virtual int Opcode() const;
 459   const Type *bottom_type() const { return Type::FLOAT; }
 460   virtual uint ideal_reg() const { return Op_RegF; }
 461   virtual const Type* Value(PhaseGVN* phase) const;
 462 };
 463 
 464 //-------------------------------ReverseBytesINode--------------------------------
 465 // reverse bytes of an integer
 466 class ReverseBytesINode : public Node {
 467 public:
 468   ReverseBytesINode(Node *c, Node *in1) : Node(c, in1) {}
 469   virtual int Opcode() const;
 470   const Type *bottom_type() const { return TypeInt::INT; }
 471   virtual uint ideal_reg() const { return Op_RegI; }
 472 };
 473 
 474 //-------------------------------ReverseBytesLNode--------------------------------
 475 // reverse bytes of a long
 476 class ReverseBytesLNode : public Node {


< prev index next >