< prev index next >

src/share/vm/opto/subnode.hpp

Print this page




 460   virtual int Opcode() const;
 461   const Type *bottom_type() const { return Type::DOUBLE; }
 462   virtual uint ideal_reg() const { return Op_RegD; }
 463 };
 464 
 465 
 466 //------------------------------SqrtDNode--------------------------------------
 467 // square root a double
 468 class SqrtDNode : public Node {
 469 public:
 470   SqrtDNode(Compile* C, Node *c, Node *in1) : Node(c, in1) {
 471     init_flags(Flag_is_expensive);
 472     C->add_expensive_node(this);
 473   }
 474   virtual int Opcode() const;
 475   const Type *bottom_type() const { return Type::DOUBLE; }
 476   virtual uint ideal_reg() const { return Op_RegD; }
 477   virtual const Type *Value( PhaseTransform *phase ) const;
 478 };
 479 
 480 //------------------------------LogDNode---------------------------------------
 481 // Log_e of a double
 482 class LogDNode : public Node {
 483 public:
 484   LogDNode(Compile* C, Node *c, Node *in1) : Node(c, in1) {
 485     init_flags(Flag_is_expensive);
 486     C->add_expensive_node(this);
 487   }
 488   virtual int Opcode() const;
 489   const Type *bottom_type() const { return Type::DOUBLE; }
 490   virtual uint ideal_reg() const { return Op_RegD; }
 491   virtual const Type *Value( PhaseTransform *phase ) const;
 492 };
 493 
 494 //------------------------------Log10DNode---------------------------------------
 495 // Log_10 of a double
 496 class Log10DNode : public Node {
 497 public:
 498   Log10DNode(Compile* C, Node *c, Node *in1) : Node(c, in1) {
 499     init_flags(Flag_is_expensive);
 500     C->add_expensive_node(this);
 501   }
 502   virtual int Opcode() const;
 503   const Type *bottom_type() const { return Type::DOUBLE; }
 504   virtual uint ideal_reg() const { return Op_RegD; }
 505   virtual const Type *Value( PhaseTransform *phase ) const;
 506 };
 507 
 508 //------------------------------PowDNode---------------------------------------
 509 // Raise a double to a double power
 510 class PowDNode : public Node {
 511 public:
 512   PowDNode(Compile* C, Node *c, Node *in1, Node *in2 ) : Node(c, in1, in2) {
 513     init_flags(Flag_is_expensive);




 460   virtual int Opcode() const;
 461   const Type *bottom_type() const { return Type::DOUBLE; }
 462   virtual uint ideal_reg() const { return Op_RegD; }
 463 };
 464 
 465 
 466 //------------------------------SqrtDNode--------------------------------------
 467 // square root a double
 468 class SqrtDNode : public Node {
 469 public:
 470   SqrtDNode(Compile* C, Node *c, Node *in1) : Node(c, in1) {
 471     init_flags(Flag_is_expensive);
 472     C->add_expensive_node(this);
 473   }
 474   virtual int Opcode() const;
 475   const Type *bottom_type() const { return Type::DOUBLE; }
 476   virtual uint ideal_reg() const { return Op_RegD; }
 477   virtual const Type *Value( PhaseTransform *phase ) const;
 478 };
 479 














 480 //------------------------------Log10DNode---------------------------------------
 481 // Log_10 of a double
 482 class Log10DNode : public Node {
 483 public:
 484   Log10DNode(Compile* C, Node *c, Node *in1) : Node(c, in1) {
 485     init_flags(Flag_is_expensive);
 486     C->add_expensive_node(this);
 487   }
 488   virtual int Opcode() const;
 489   const Type *bottom_type() const { return Type::DOUBLE; }
 490   virtual uint ideal_reg() const { return Op_RegD; }
 491   virtual const Type *Value( PhaseTransform *phase ) const;
 492 };
 493 
 494 //------------------------------PowDNode---------------------------------------
 495 // Raise a double to a double power
 496 class PowDNode : public Node {
 497 public:
 498   PowDNode(Compile* C, Node *c, Node *in1, Node *in2 ) : Node(c, in1, in2) {
 499     init_flags(Flag_is_expensive);


< prev index next >