src/share/vm/opto/subnode.hpp

changeset 4617
c59b7900a2bd
parent 4589
8b3da8d14c93
child 5791
c9ccd7b85f20
     1.1 --- a/src/share/vm/opto/subnode.hpp	Fri Feb 15 13:36:56 2013 -0800
     1.2 +++ b/src/share/vm/opto/subnode.hpp	Mon Feb 18 09:06:24 2013 +0100
     1.3 @@ -399,7 +399,10 @@
     1.4  // Cosinus of a double
     1.5  class CosDNode : public Node {
     1.6  public:
     1.7 -  CosDNode( Node *in1  ) : Node(0, in1) {}
     1.8 +  CosDNode(Compile* C, Node *c, Node *in1) : Node(c, in1) {
     1.9 +    init_flags(Flag_is_expensive);
    1.10 +    C->add_expensive_node(this);
    1.11 +  }
    1.12    virtual int Opcode() const;
    1.13    const Type *bottom_type() const { return Type::DOUBLE; }
    1.14    virtual uint ideal_reg() const { return Op_RegD; }
    1.15 @@ -410,7 +413,10 @@
    1.16  // Sinus of a double
    1.17  class SinDNode : public Node {
    1.18  public:
    1.19 -  SinDNode( Node *in1  ) : Node(0, in1) {}
    1.20 +  SinDNode(Compile* C, Node *c, Node *in1) : Node(c, in1) {
    1.21 +    init_flags(Flag_is_expensive);
    1.22 +    C->add_expensive_node(this);
    1.23 +  }
    1.24    virtual int Opcode() const;
    1.25    const Type *bottom_type() const { return Type::DOUBLE; }
    1.26    virtual uint ideal_reg() const { return Op_RegD; }
    1.27 @@ -422,7 +428,10 @@
    1.28  // tangens of a double
    1.29  class TanDNode : public Node {
    1.30  public:
    1.31 -  TanDNode(Node *in1  ) : Node(0, in1) {}
    1.32 +  TanDNode(Compile* C, Node *c,Node *in1) : Node(c, in1) {
    1.33 +    init_flags(Flag_is_expensive);
    1.34 +    C->add_expensive_node(this);
    1.35 +  }
    1.36    virtual int Opcode() const;
    1.37    const Type *bottom_type() const { return Type::DOUBLE; }
    1.38    virtual uint ideal_reg() const { return Op_RegD; }
    1.39 @@ -445,7 +454,10 @@
    1.40  // square root a double
    1.41  class SqrtDNode : public Node {
    1.42  public:
    1.43 -  SqrtDNode(Node *c, Node *in1  ) : Node(c, in1) {}
    1.44 +  SqrtDNode(Compile* C, Node *c, Node *in1) : Node(c, in1) {
    1.45 +    init_flags(Flag_is_expensive);
    1.46 +    C->add_expensive_node(this);
    1.47 +  }
    1.48    virtual int Opcode() const;
    1.49    const Type *bottom_type() const { return Type::DOUBLE; }
    1.50    virtual uint ideal_reg() const { return Op_RegD; }
    1.51 @@ -470,7 +482,10 @@
    1.52  // Log_e of a double
    1.53  class LogDNode : public Node {
    1.54  public:
    1.55 -  LogDNode( Node *in1 ) : Node(0, in1) {}
    1.56 +  LogDNode(Compile* C, Node *c, Node *in1) : Node(c, in1) {
    1.57 +    init_flags(Flag_is_expensive);
    1.58 +    C->add_expensive_node(this);
    1.59 +  }
    1.60    virtual int Opcode() const;
    1.61    const Type *bottom_type() const { return Type::DOUBLE; }
    1.62    virtual uint ideal_reg() const { return Op_RegD; }
    1.63 @@ -481,7 +496,10 @@
    1.64  // Log_10 of a double
    1.65  class Log10DNode : public Node {
    1.66  public:
    1.67 -  Log10DNode( Node *in1 ) : Node(0, in1) {}
    1.68 +  Log10DNode(Compile* C, Node *c, Node *in1) : Node(c, in1) {
    1.69 +    init_flags(Flag_is_expensive);
    1.70 +    C->add_expensive_node(this);
    1.71 +  }
    1.72    virtual int Opcode() const;
    1.73    const Type *bottom_type() const { return Type::DOUBLE; }
    1.74    virtual uint ideal_reg() const { return Op_RegD; }

mercurial