src/share/vm/opto/connode.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File 7083786 Sdiff src/share/vm/opto

src/share/vm/opto/connode.hpp

Print this page




 479   virtual uint ideal_reg() const { return Op_RegP; }
 480   virtual const Type *bottom_type() const { return TypeRawPtr::BOTTOM; }
 481 };
 482 
 483 //------------------------------CastP2XNode-------------------------------------
 484 // Used in both 32-bit and 64-bit land.
 485 // Used for card-marks and unsafe pointer math.
 486 class CastP2XNode : public Node {
 487 public:
 488   CastP2XNode( Node *ctrl, Node *n ) : Node(ctrl, n) {}
 489   virtual int Opcode() const;
 490   virtual const Type *Value( PhaseTransform *phase ) const;
 491   virtual Node *Ideal(PhaseGVN *phase, bool can_reshape);
 492   virtual Node *Identity( PhaseTransform *phase );
 493   virtual uint ideal_reg() const { return Op_RegX; }
 494   virtual const Type *bottom_type() const { return TypeX_X; }
 495   // Return false to keep node from moving away from an associated card mark.
 496   virtual bool depends_only_on_test() const { return false; }
 497 };
 498 
 499 //------------------------------MemMoveNode------------------------------------
 500 // Memory to memory move.  Inserted very late, after allocation.
 501 class MemMoveNode : public Node {
 502 public:
 503   MemMoveNode( Node *dst, Node *src ) : Node(0,dst,src) {}
 504   virtual int Opcode() const;
 505 };
 506 
 507 //------------------------------ThreadLocalNode--------------------------------
 508 // Ideal Node which returns the base of ThreadLocalStorage.
 509 class ThreadLocalNode : public Node {
 510 public:
 511   ThreadLocalNode( ) : Node((Node*)Compile::current()->root()) {}
 512   virtual int Opcode() const;
 513   virtual const Type *bottom_type() const { return TypeRawPtr::BOTTOM;}
 514   virtual uint ideal_reg() const { return Op_RegP; }
 515 };
 516 
 517 //------------------------------LoadReturnPCNode-------------------------------
 518 class LoadReturnPCNode: public Node {
 519 public:
 520   LoadReturnPCNode(Node *c) : Node(c) { }
 521   virtual int Opcode() const;
 522   virtual uint ideal_reg() const { return Op_RegP; }
 523 };
 524 
 525 
 526 //-----------------------------RoundFloatNode----------------------------------




 479   virtual uint ideal_reg() const { return Op_RegP; }
 480   virtual const Type *bottom_type() const { return TypeRawPtr::BOTTOM; }
 481 };
 482 
 483 //------------------------------CastP2XNode-------------------------------------
 484 // Used in both 32-bit and 64-bit land.
 485 // Used for card-marks and unsafe pointer math.
 486 class CastP2XNode : public Node {
 487 public:
 488   CastP2XNode( Node *ctrl, Node *n ) : Node(ctrl, n) {}
 489   virtual int Opcode() const;
 490   virtual const Type *Value( PhaseTransform *phase ) const;
 491   virtual Node *Ideal(PhaseGVN *phase, bool can_reshape);
 492   virtual Node *Identity( PhaseTransform *phase );
 493   virtual uint ideal_reg() const { return Op_RegX; }
 494   virtual const Type *bottom_type() const { return TypeX_X; }
 495   // Return false to keep node from moving away from an associated card mark.
 496   virtual bool depends_only_on_test() const { return false; }
 497 };
 498 








 499 //------------------------------ThreadLocalNode--------------------------------
 500 // Ideal Node which returns the base of ThreadLocalStorage.
 501 class ThreadLocalNode : public Node {
 502 public:
 503   ThreadLocalNode( ) : Node((Node*)Compile::current()->root()) {}
 504   virtual int Opcode() const;
 505   virtual const Type *bottom_type() const { return TypeRawPtr::BOTTOM;}
 506   virtual uint ideal_reg() const { return Op_RegP; }
 507 };
 508 
 509 //------------------------------LoadReturnPCNode-------------------------------
 510 class LoadReturnPCNode: public Node {
 511 public:
 512   LoadReturnPCNode(Node *c) : Node(c) { }
 513   virtual int Opcode() const;
 514   virtual uint ideal_reg() const { return Op_RegP; }
 515 };
 516 
 517 
 518 //-----------------------------RoundFloatNode----------------------------------


src/share/vm/opto/connode.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File