< prev index next >

src/hotspot/share/opto/machnode.hpp

Print this page




 446     dump();
 447 #endif
 448     ShouldNotCallThis();
 449   }
 450 
 451   virtual const RegMask &in_RegMask(uint idx) const {
 452     if (idx == mach_constant_base_node_input())
 453       return MachConstantBaseNode::static_out_RegMask();
 454     return MachNode::in_RegMask(idx);
 455   }
 456 
 457   // Input edge of MachConstantBaseNode.
 458   virtual uint mach_constant_base_node_input() const { return req() - 1; }
 459 
 460   int  constant_offset();
 461   int  constant_offset() const { return ((MachConstantNode*) this)->constant_offset(); }
 462   // Unchecked version to avoid assertions in debug output.
 463   int  constant_offset_unchecked() const;
 464 };
 465 
















 466 //------------------------------MachUEPNode-----------------------------------
 467 // Machine Unvalidated Entry Point Node
 468 class MachUEPNode : public MachIdealNode {
 469 public:
 470   MachUEPNode( ) {}
 471   virtual void emit(CodeBuffer &cbuf, PhaseRegAlloc *ra_) const;
 472   virtual uint size(PhaseRegAlloc *ra_) const;
 473 
 474 #ifndef PRODUCT
 475   virtual const char *Name() const { return "Unvalidated-Entry-Point"; }
 476   virtual void format( PhaseRegAlloc *, outputStream *st ) const;
 477 #endif
 478 };
 479 
 480 //------------------------------MachPrologNode--------------------------------
 481 // Machine function Prolog Node
 482 class MachPrologNode : public MachIdealNode {
 483 public:
 484   MachPrologNode( ) {}


 485   virtual void emit(CodeBuffer &cbuf, PhaseRegAlloc *ra_) const;
 486   virtual uint size(PhaseRegAlloc *ra_) const;
 487   virtual int reloc() const;
 488 

 489 #ifndef PRODUCT
 490   virtual const char *Name() const { return "Prolog"; }
 491   virtual void format( PhaseRegAlloc *, outputStream *st ) const;
 492 #endif
 493 };
 494 
 495 //------------------------------MachEpilogNode--------------------------------
 496 // Machine function Epilog Node
 497 class MachEpilogNode : public MachIdealNode {
 498 public:
 499   MachEpilogNode(bool do_poll = false) : _do_polling(do_poll) {}
 500   virtual void emit(CodeBuffer &cbuf, PhaseRegAlloc *ra_) const;
 501   virtual uint size(PhaseRegAlloc *ra_) const;
 502   virtual int reloc() const;
 503   virtual const Pipeline *pipeline() const;
 504 
 505 private:
 506   bool _do_polling;
 507 
 508 public:




 446     dump();
 447 #endif
 448     ShouldNotCallThis();
 449   }
 450 
 451   virtual const RegMask &in_RegMask(uint idx) const {
 452     if (idx == mach_constant_base_node_input())
 453       return MachConstantBaseNode::static_out_RegMask();
 454     return MachNode::in_RegMask(idx);
 455   }
 456 
 457   // Input edge of MachConstantBaseNode.
 458   virtual uint mach_constant_base_node_input() const { return req() - 1; }
 459 
 460   int  constant_offset();
 461   int  constant_offset() const { return ((MachConstantNode*) this)->constant_offset(); }
 462   // Unchecked version to avoid assertions in debug output.
 463   int  constant_offset_unchecked() const;
 464 };
 465 
 466 //------------------------------MachVVEPNode-----------------------------------
 467 // Machine Verified Value Type Entry Point Node
 468 class MachVVEPNode : public MachIdealNode {
 469 public:
 470   MachVVEPNode(Label* verified_entry) : _verified_entry(verified_entry) {}
 471   virtual void emit(CodeBuffer& cbuf, PhaseRegAlloc* ra_) const;
 472   virtual uint size(PhaseRegAlloc* ra_) const;
 473 
 474 #ifndef PRODUCT
 475   virtual const char* Name() const { return "Verified ValueType Entry-Point"; }
 476   virtual void format(PhaseRegAlloc*, outputStream* st) const;
 477 #endif
 478 private:
 479   Label* _verified_entry;
 480 };
 481 
 482 //------------------------------MachUEPNode-----------------------------------
 483 // Machine Unvalidated Entry Point Node
 484 class MachUEPNode : public MachIdealNode {
 485 public:
 486   MachUEPNode( ) {}
 487   virtual void emit(CodeBuffer &cbuf, PhaseRegAlloc *ra_) const;
 488   virtual uint size(PhaseRegAlloc *ra_) const;
 489 
 490 #ifndef PRODUCT
 491   virtual const char *Name() const { return "Unvalidated-Entry-Point"; }
 492   virtual void format( PhaseRegAlloc *, outputStream *st ) const;
 493 #endif
 494 };
 495 
 496 //------------------------------MachPrologNode--------------------------------
 497 // Machine function Prolog Node
 498 class MachPrologNode : public MachIdealNode {
 499 public:
 500   MachPrologNode(Label* verified_entry) : _verified_entry(verified_entry) {
 501     init_class_id(Class_MachProlog);
 502   }
 503   virtual void emit(CodeBuffer &cbuf, PhaseRegAlloc *ra_) const;
 504   virtual uint size(PhaseRegAlloc *ra_) const;
 505   virtual int reloc() const;
 506 
 507   Label* _verified_entry;
 508 #ifndef PRODUCT
 509   virtual const char *Name() const { return "Prolog"; }
 510   virtual void format( PhaseRegAlloc *, outputStream *st ) const;
 511 #endif
 512 };
 513 
 514 //------------------------------MachEpilogNode--------------------------------
 515 // Machine function Epilog Node
 516 class MachEpilogNode : public MachIdealNode {
 517 public:
 518   MachEpilogNode(bool do_poll = false) : _do_polling(do_poll) {}
 519   virtual void emit(CodeBuffer &cbuf, PhaseRegAlloc *ra_) const;
 520   virtual uint size(PhaseRegAlloc *ra_) const;
 521   virtual int reloc() const;
 522   virtual const Pipeline *pipeline() const;
 523 
 524 private:
 525   bool _do_polling;
 526 
 527 public:


< prev index next >