equal
deleted
inserted
replaced
48 C->add_macro_node(this); |
48 C->add_macro_node(this); |
49 } |
49 } |
50 Node* original_loop_limit() { return req()==3 ? in(2) : NULL; } |
50 Node* original_loop_limit() { return req()==3 ? in(2) : NULL; } |
51 virtual int Opcode() const; |
51 virtual int Opcode() const; |
52 virtual const Type *bottom_type() const { return TypeInt::INT; } |
52 virtual const Type *bottom_type() const { return TypeInt::INT; } |
53 virtual Node *Identity( PhaseTransform *phase ); |
53 virtual Node* Identity(PhaseGVN* phase); |
54 }; |
54 }; |
55 |
55 |
56 //------------------------------Opaque2Node------------------------------------ |
56 //------------------------------Opaque2Node------------------------------------ |
57 // A node to prevent unwanted optimizations. Allows constant folding. Stops |
57 // A node to prevent unwanted optimizations. Allows constant folding. Stops |
58 // value-numbering, most Ideal calls or Identity functions. This Node is |
58 // value-numbering, most Ideal calls or Identity functions. This Node is |
107 |
107 |
108 void consume() { _consumed = true; } |
108 void consume() { _consumed = true; } |
109 |
109 |
110 virtual int Opcode() const; |
110 virtual int Opcode() const; |
111 virtual Node *Ideal(PhaseGVN *phase, bool can_reshape); |
111 virtual Node *Ideal(PhaseGVN *phase, bool can_reshape); |
112 virtual Node *Identity(PhaseTransform *phase); |
112 virtual Node* Identity(PhaseGVN* phase); |
113 virtual const Type *bottom_type() const { return TypeInt::BOOL; } |
113 virtual const Type *bottom_type() const { return TypeInt::BOOL; } |
114 }; |
114 }; |
115 |
115 |
116 #endif // SHARE_VM_OPTO_OPAQUENODE_HPP |
116 #endif // SHARE_VM_OPTO_OPAQUENODE_HPP |
117 |
117 |