< prev index next >

src/share/vm/opto/subnode.hpp

Print this page




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




 453   virtual int Opcode() const;
 454   const Type *bottom_type() const { return Type::DOUBLE; }
 455   virtual uint ideal_reg() const { return Op_RegD; }
 456 };
 457 
 458 
 459 //------------------------------SqrtDNode--------------------------------------
 460 // square root a double
 461 class SqrtDNode : public Node {
 462 public:
 463   SqrtDNode(Compile* C, Node *c, Node *in1) : Node(c, in1) {
 464     init_flags(Flag_is_expensive);
 465     C->add_expensive_node(this);
 466   }
 467   virtual int Opcode() const;
 468   const Type *bottom_type() const { return Type::DOUBLE; }
 469   virtual uint ideal_reg() const { return Op_RegD; }
 470   virtual const Type *Value( PhaseTransform *phase ) const;
 471 };
 472 














 473 //------------------------------LogDNode---------------------------------------
 474 // Log_e of a double
 475 class LogDNode : public Node {
 476 public:
 477   LogDNode(Compile* C, Node *c, Node *in1) : Node(c, in1) {
 478     init_flags(Flag_is_expensive);
 479     C->add_expensive_node(this);
 480   }
 481   virtual int Opcode() const;
 482   const Type *bottom_type() const { return Type::DOUBLE; }
 483   virtual uint ideal_reg() const { return Op_RegD; }
 484   virtual const Type *Value( PhaseTransform *phase ) const;
 485 };
 486 
 487 //------------------------------Log10DNode---------------------------------------
 488 // Log_10 of a double
 489 class Log10DNode : public Node {
 490 public:
 491   Log10DNode(Compile* C, Node *c, Node *in1) : Node(c, in1) {
 492     init_flags(Flag_is_expensive);


< prev index next >