src/share/vm/opto/memnode.hpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File
hotspot Cdiff src/share/vm/opto/memnode.hpp
src/share/vm/opto/memnode.hpp
Print this page
rev 7259 : 8062258: compiler/debug/TraceIterativeGVN.java segfaults in trace_PhaseIterGVN
Reviewed-by: ?
*** 720,730 ****
enum {SCMEMPROJCON = (uint)-2};
SCMemProjNode( Node *src) : ProjNode( src, SCMEMPROJCON) { }
virtual int Opcode() const;
virtual bool is_CFG() const { return false; }
virtual const Type *bottom_type() const {return Type::MEMORY;}
! virtual const TypePtr *adr_type() const { return in(0)->in(MemNode::Memory)->adr_type();}
virtual uint ideal_reg() const { return 0;} // memory projections don't have a register
virtual const Type *Value( PhaseTransform *phase ) const;
#ifndef PRODUCT
virtual void dump_spec(outputStream *st) const {};
#endif
--- 720,734 ----
enum {SCMEMPROJCON = (uint)-2};
SCMemProjNode( Node *src) : ProjNode( src, SCMEMPROJCON) { }
virtual int Opcode() const;
virtual bool is_CFG() const { return false; }
virtual const Type *bottom_type() const {return Type::MEMORY;}
! virtual const TypePtr *adr_type() const {
! Node* ctrl = in(0);
! if (ctrl == NULL) return NULL; // node is dead
! return ctrl->in(MemNode::Memory)->adr_type();
! }
virtual uint ideal_reg() const { return 0;} // memory projections don't have a register
virtual const Type *Value( PhaseTransform *phase ) const;
#ifndef PRODUCT
virtual void dump_spec(outputStream *st) const {};
#endif
src/share/vm/opto/memnode.hpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File