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

src/share/vm/c1/c1_LIRAssembler.hpp

Print this page




 116 
 117   void comp_op(LIR_Condition condition, LIR_Opr src, LIR_Opr result, LIR_Op2* op);
 118 
 119  public:
 120   LIR_Assembler(Compilation* c);
 121   ~LIR_Assembler();
 122   C1_MacroAssembler* masm() const                { return _masm; }
 123   Compilation* compilation() const               { return _compilation; }
 124   ciMethod* method() const                       { return compilation()->method(); }
 125 
 126   CodeOffsets* offsets() const                   { return _compilation->offsets(); }
 127   int code_offset() const;
 128   address pc() const;
 129 
 130   int  initial_frame_size_in_bytes();
 131 
 132   // test for constants which can be encoded directly in instructions
 133   static bool is_small_constant(LIR_Opr opr);
 134 
 135   static LIR_Opr receiverOpr();
 136   static LIR_Opr incomingReceiverOpr();
 137   static LIR_Opr osrBufferPointer();
 138 
 139   // stubs
 140   void emit_slow_case_stubs();
 141   void emit_static_call_stub();
 142   void emit_code_stub(CodeStub* op);
 143   void add_call_info_here(CodeEmitInfo* info)                              { add_call_info(code_offset(), info); }
 144 
 145   // code patterns
 146   int  emit_exception_handler();
 147   int  emit_unwind_handler();
 148   void emit_exception_entries(ExceptionInfoList* info_list);
 149   int  emit_deopt_handler();
 150 
 151   void emit_code(BlockList* hir);
 152   void emit_block(BlockBegin* block);
 153   void emit_lir_list(LIR_List* list);
 154 
 155   // any last minute peephole optimizations are performed here.  In
 156   // particular sparc uses this for delay slot filling.




 116 
 117   void comp_op(LIR_Condition condition, LIR_Opr src, LIR_Opr result, LIR_Op2* op);
 118 
 119  public:
 120   LIR_Assembler(Compilation* c);
 121   ~LIR_Assembler();
 122   C1_MacroAssembler* masm() const                { return _masm; }
 123   Compilation* compilation() const               { return _compilation; }
 124   ciMethod* method() const                       { return compilation()->method(); }
 125 
 126   CodeOffsets* offsets() const                   { return _compilation->offsets(); }
 127   int code_offset() const;
 128   address pc() const;
 129 
 130   int  initial_frame_size_in_bytes();
 131 
 132   // test for constants which can be encoded directly in instructions
 133   static bool is_small_constant(LIR_Opr opr);
 134 
 135   static LIR_Opr receiverOpr();

 136   static LIR_Opr osrBufferPointer();
 137 
 138   // stubs
 139   void emit_slow_case_stubs();
 140   void emit_static_call_stub();
 141   void emit_code_stub(CodeStub* op);
 142   void add_call_info_here(CodeEmitInfo* info)                              { add_call_info(code_offset(), info); }
 143 
 144   // code patterns
 145   int  emit_exception_handler();
 146   int  emit_unwind_handler();
 147   void emit_exception_entries(ExceptionInfoList* info_list);
 148   int  emit_deopt_handler();
 149 
 150   void emit_code(BlockList* hir);
 151   void emit_block(BlockBegin* block);
 152   void emit_lir_list(LIR_List* list);
 153 
 154   // any last minute peephole optimizations are performed here.  In
 155   // particular sparc uses this for delay slot filling.


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