1.1 --- a/src/share/vm/opto/subnode.hpp Mon Feb 11 14:47:04 2013 -0800 1.2 +++ b/src/share/vm/opto/subnode.hpp Tue Feb 12 12:56:11 2013 +0100 1.3 @@ -456,7 +456,10 @@ 1.4 // Exponentiate a double 1.5 class ExpDNode : public Node { 1.6 public: 1.7 - ExpDNode( Node *c, Node *in1 ) : Node(c, in1) {} 1.8 + ExpDNode(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 @@ -489,7 +492,10 @@ 1.16 // Raise a double to a double power 1.17 class PowDNode : public Node { 1.18 public: 1.19 - PowDNode(Node *c, Node *in1, Node *in2 ) : Node(c, in1, in2) {} 1.20 + PowDNode(Compile* C, Node *c, Node *in1, Node *in2 ) : Node(c, in1, in2) { 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; }