96
97 // debug information
98 void add_call_info(int pc_offset, CodeEmitInfo* cinfo);
99 void add_debug_info_for_branch(CodeEmitInfo* info);
100 void add_debug_info_for_div0(int pc_offset, CodeEmitInfo* cinfo);
101 void add_debug_info_for_div0_here(CodeEmitInfo* info);
102 ImplicitNullCheckStub* add_debug_info_for_null_check(int pc_offset, CodeEmitInfo* cinfo);
103 ImplicitNullCheckStub* add_debug_info_for_null_check_here(CodeEmitInfo* info);
104
105 void set_24bit_FPU();
106 void reset_FPU();
107 void fpop();
108 void fxch(int i);
109 void fld(int i);
110 void ffree(int i);
111
112 void breakpoint();
113 void push(LIR_Opr opr);
114 void pop(LIR_Opr opr);
115
116 // patching
117 void append_patching_stub(PatchingStub* stub);
118 void patching_epilog(PatchingStub* patch, LIR_PatchCode patch_code, Register obj, CodeEmitInfo* info);
119
120 void comp_op(LIR_Condition condition, LIR_Opr src, LIR_Opr result, LIR_Op2* op);
121
122 PatchingStub::PatchID patching_id(CodeEmitInfo* info);
123
124 public:
125 LIR_Assembler(Compilation* c);
126 ~LIR_Assembler();
127 C1_MacroAssembler* masm() const { return _masm; }
128 Compilation* compilation() const { return _compilation; }
129 ciMethod* method() const { return compilation()->method(); }
130
131 CodeOffsets* offsets() const { return _compilation->offsets(); }
132 int code_offset() const;
133 address pc() const;
134
135 int initial_frame_size_in_bytes() const;
|
96
97 // debug information
98 void add_call_info(int pc_offset, CodeEmitInfo* cinfo);
99 void add_debug_info_for_branch(CodeEmitInfo* info);
100 void add_debug_info_for_div0(int pc_offset, CodeEmitInfo* cinfo);
101 void add_debug_info_for_div0_here(CodeEmitInfo* info);
102 ImplicitNullCheckStub* add_debug_info_for_null_check(int pc_offset, CodeEmitInfo* cinfo);
103 ImplicitNullCheckStub* add_debug_info_for_null_check_here(CodeEmitInfo* info);
104
105 void set_24bit_FPU();
106 void reset_FPU();
107 void fpop();
108 void fxch(int i);
109 void fld(int i);
110 void ffree(int i);
111
112 void breakpoint();
113 void push(LIR_Opr opr);
114 void pop(LIR_Opr opr);
115
116 void getsp(LIR_Opr opr);
117 void getfp(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(); }
135 int code_offset() const;
136 address pc() const;
137
138 int initial_frame_size_in_bytes() const;
|