src/share/vm/c1/c1_LIRGenerator.hpp

Print this page




 508   virtual void do_Goto           (Goto*            x);
 509   virtual void do_If             (If*              x);
 510   virtual void do_IfInstanceOf   (IfInstanceOf*    x);
 511   virtual void do_TableSwitch    (TableSwitch*     x);
 512   virtual void do_LookupSwitch   (LookupSwitch*    x);
 513   virtual void do_Return         (Return*          x);
 514   virtual void do_Throw          (Throw*           x);
 515   virtual void do_Base           (Base*            x);
 516   virtual void do_OsrEntry       (OsrEntry*        x);
 517   virtual void do_ExceptionObject(ExceptionObject* x);
 518   virtual void do_RoundFP        (RoundFP*         x);
 519   virtual void do_UnsafeGetRaw   (UnsafeGetRaw*    x);
 520   virtual void do_UnsafePutRaw   (UnsafePutRaw*    x);
 521   virtual void do_UnsafeGetObject(UnsafeGetObject* x);
 522   virtual void do_UnsafePutObject(UnsafePutObject* x);
 523   virtual void do_UnsafePrefetchRead (UnsafePrefetchRead*  x);
 524   virtual void do_UnsafePrefetchWrite(UnsafePrefetchWrite* x);
 525   virtual void do_ProfileCall    (ProfileCall*     x);
 526   virtual void do_ProfileInvoke  (ProfileInvoke*   x);
 527   virtual void do_RuntimeCall    (RuntimeCall*     x);

 528 };
 529 
 530 
 531 class LIRItem: public CompilationResourceObj {
 532  private:
 533   Value         _value;
 534   LIRGenerator* _gen;
 535   LIR_Opr       _result;
 536   bool          _destroys_register;
 537   LIR_Opr       _new_result;
 538 
 539   LIRGenerator* gen() const { return _gen; }
 540 
 541  public:
 542   LIRItem(Value value, LIRGenerator* gen) {
 543     _destroys_register = false;
 544     _gen = gen;
 545     set_instruction(value);
 546   }
 547 




 508   virtual void do_Goto           (Goto*            x);
 509   virtual void do_If             (If*              x);
 510   virtual void do_IfInstanceOf   (IfInstanceOf*    x);
 511   virtual void do_TableSwitch    (TableSwitch*     x);
 512   virtual void do_LookupSwitch   (LookupSwitch*    x);
 513   virtual void do_Return         (Return*          x);
 514   virtual void do_Throw          (Throw*           x);
 515   virtual void do_Base           (Base*            x);
 516   virtual void do_OsrEntry       (OsrEntry*        x);
 517   virtual void do_ExceptionObject(ExceptionObject* x);
 518   virtual void do_RoundFP        (RoundFP*         x);
 519   virtual void do_UnsafeGetRaw   (UnsafeGetRaw*    x);
 520   virtual void do_UnsafePutRaw   (UnsafePutRaw*    x);
 521   virtual void do_UnsafeGetObject(UnsafeGetObject* x);
 522   virtual void do_UnsafePutObject(UnsafePutObject* x);
 523   virtual void do_UnsafePrefetchRead (UnsafePrefetchRead*  x);
 524   virtual void do_UnsafePrefetchWrite(UnsafePrefetchWrite* x);
 525   virtual void do_ProfileCall    (ProfileCall*     x);
 526   virtual void do_ProfileInvoke  (ProfileInvoke*   x);
 527   virtual void do_RuntimeCall    (RuntimeCall*     x);
 528   virtual void do_MemBar         (MemBar*          x);
 529 };
 530 
 531 
 532 class LIRItem: public CompilationResourceObj {
 533  private:
 534   Value         _value;
 535   LIRGenerator* _gen;
 536   LIR_Opr       _result;
 537   bool          _destroys_register;
 538   LIR_Opr       _new_result;
 539 
 540   LIRGenerator* gen() const { return _gen; }
 541 
 542  public:
 543   LIRItem(Value value, LIRGenerator* gen) {
 544     _destroys_register = false;
 545     _gen = gen;
 546     set_instruction(value);
 547   }
 548