src/share/vm/opto/connode.hpp

changeset 563
a76240c8b133
parent 561
72f4a668df19
child 598
885ed790ecf0
     1.1 --- a/src/share/vm/opto/connode.hpp	Wed Apr 23 06:35:28 2008 -0400
     1.2 +++ b/src/share/vm/opto/connode.hpp	Mon Apr 28 08:08:12 2008 -0700
     1.3 @@ -239,10 +239,7 @@
     1.4  // cast pointer to pointer (different type)
     1.5  class CastPPNode: public ConstraintCastNode {
     1.6  public:
     1.7 -  CastPPNode (Node *n, const Type *t ): ConstraintCastNode(n, t) {
     1.8 -    // Only CastPP is safe.  CastII can cause optimizer loops.
     1.9 -    init_flags(Flag_is_dead_loop_safe);
    1.10 -  }
    1.11 +  CastPPNode (Node *n, const Type *t ): ConstraintCastNode(n, t) {}
    1.12    virtual int Opcode() const;
    1.13    virtual uint ideal_reg() const { return Op_RegP; }
    1.14    virtual Node *Ideal_DU_postCCP( PhaseCCP * );
    1.15 @@ -254,10 +251,10 @@
    1.16  public:
    1.17    CheckCastPPNode( Node *c, Node *n, const Type *t ) : TypeNode(t,2) {
    1.18      init_class_id(Class_CheckCastPP);
    1.19 -    init_flags(Flag_is_dead_loop_safe);
    1.20      init_req(0, c);
    1.21      init_req(1, n);
    1.22    }
    1.23 +
    1.24    virtual Node *Identity( PhaseTransform *phase );
    1.25    virtual const Type *Value( PhaseTransform *phase ) const;
    1.26    virtual Node *Ideal(PhaseGVN *phase, bool can_reshape);
    1.27 @@ -282,6 +279,7 @@
    1.28    }
    1.29    virtual int Opcode() const;
    1.30    virtual Node *Identity( PhaseTransform *phase );
    1.31 +  virtual const Type *Value( PhaseTransform *phase ) const;
    1.32    virtual uint  ideal_reg() const { return Op_RegN; }
    1.33  
    1.34    static Node* encode(PhaseGVN* phase, Node* value);
    1.35 @@ -300,7 +298,10 @@
    1.36    }
    1.37    virtual int Opcode() const;
    1.38    virtual Node *Identity( PhaseTransform *phase );
    1.39 +  virtual const Type *Value( PhaseTransform *phase ) const;
    1.40    virtual uint  ideal_reg() const { return Op_RegP; }
    1.41 +
    1.42 +  static Node* decode(PhaseGVN* phase, Node* value);
    1.43  };
    1.44  
    1.45  //------------------------------Conv2BNode-------------------------------------

mercurial