< prev index next >

src/hotspot/share/c1/c1_LIRAssembler.hpp

Print this page




  88   void jobject2reg_with_patching(Register reg, CodeEmitInfo* info);
  89 
  90   void metadata2reg(Metadata* o, Register reg);
  91   void klass2reg_with_patching(Register reg, CodeEmitInfo* info);
  92 
  93   void emit_stubs(CodeStubList* stub_list);
  94 
  95   // addresses
  96   Address as_Address(LIR_Address* addr);
  97   Address as_Address_lo(LIR_Address* addr);
  98   Address as_Address_hi(LIR_Address* addr);
  99 
 100   // debug information
 101   void add_call_info(int pc_offset, CodeEmitInfo* cinfo);
 102   void add_debug_info_for_branch(CodeEmitInfo* info);
 103   void add_debug_info_for_div0(int pc_offset, CodeEmitInfo* cinfo);
 104   void add_debug_info_for_div0_here(CodeEmitInfo* info);
 105   ImplicitNullCheckStub* add_debug_info_for_null_check(int pc_offset, CodeEmitInfo* cinfo);
 106   ImplicitNullCheckStub* add_debug_info_for_null_check_here(CodeEmitInfo* info);
 107 
 108   void set_24bit_FPU();
 109   void reset_FPU();
 110   void fpop();
 111   void fxch(int i);
 112   void fld(int i);
 113   void ffree(int i);
 114 
 115   void breakpoint();
 116   void push(LIR_Opr opr);
 117   void pop(LIR_Opr opr);
 118 
 119   // patching
 120   void append_patching_stub(PatchingStub* stub);
 121   void patching_epilog(PatchingStub* patch, LIR_PatchCode patch_code, Register obj, CodeEmitInfo* info);
 122 
 123   void comp_op(LIR_Condition condition, LIR_Opr src, LIR_Opr result, LIR_Op2* op);
 124 
 125   PatchingStub::PatchID patching_id(CodeEmitInfo* info);
 126 
 127  public:
 128   LIR_Assembler(Compilation* c);
 129   ~LIR_Assembler();
 130   C1_MacroAssembler* masm() const                { return _masm; }
 131   Compilation* compilation() const               { return _compilation; }
 132   ciMethod* method() const                       { return compilation()->method(); }
 133 
 134   CodeOffsets* offsets() const                   { return _compilation->offsets(); }




  88   void jobject2reg_with_patching(Register reg, CodeEmitInfo* info);
  89 
  90   void metadata2reg(Metadata* o, Register reg);
  91   void klass2reg_with_patching(Register reg, CodeEmitInfo* info);
  92 
  93   void emit_stubs(CodeStubList* stub_list);
  94 
  95   // addresses
  96   Address as_Address(LIR_Address* addr);
  97   Address as_Address_lo(LIR_Address* addr);
  98   Address as_Address_hi(LIR_Address* addr);
  99 
 100   // debug information
 101   void add_call_info(int pc_offset, CodeEmitInfo* cinfo);
 102   void add_debug_info_for_branch(CodeEmitInfo* info);
 103   void add_debug_info_for_div0(int pc_offset, CodeEmitInfo* cinfo);
 104   void add_debug_info_for_div0_here(CodeEmitInfo* info);
 105   ImplicitNullCheckStub* add_debug_info_for_null_check(int pc_offset, CodeEmitInfo* cinfo);
 106   ImplicitNullCheckStub* add_debug_info_for_null_check_here(CodeEmitInfo* info);
 107 







 108   void breakpoint();
 109   void push(LIR_Opr opr);
 110   void pop(LIR_Opr opr);
 111 
 112   // patching
 113   void append_patching_stub(PatchingStub* stub);
 114   void patching_epilog(PatchingStub* patch, LIR_PatchCode patch_code, Register obj, CodeEmitInfo* info);
 115 
 116   void comp_op(LIR_Condition condition, LIR_Opr src, LIR_Opr result, LIR_Op2* op);
 117 
 118   PatchingStub::PatchID patching_id(CodeEmitInfo* info);
 119 
 120  public:
 121   LIR_Assembler(Compilation* c);
 122   ~LIR_Assembler();
 123   C1_MacroAssembler* masm() const                { return _masm; }
 124   Compilation* compilation() const               { return _compilation; }
 125   ciMethod* method() const                       { return compilation()->method(); }
 126 
 127   CodeOffsets* offsets() const                   { return _compilation->offsets(); }


< prev index next >