@@ -173,60 +173,56 @@ macro_rules! code {
173173 } ;
174174}
175175
176- #[ naked]
176+ #[ unsafe ( naked) ]
177177pub extern "C-unwind" fn save_context ( f : extern "C" fn ( & mut Context , * mut ( ) ) , ptr : * mut ( ) ) {
178178 // No need to save caller-saved registers here.
179179 #[ cfg( target_feature = "d" ) ]
180- unsafe {
181- core:: arch:: naked_asm!(
182- maybe_cfi!( ".cfi_startproc" ) ,
183- "
184- mv t0, sp
185- add sp, sp, -0x210
186- " ,
187- maybe_cfi!( ".cfi_def_cfa_offset 0x210" ) ,
188- "sd ra, 0x200(sp)" ,
189- maybe_cfi!( ".cfi_offset ra, -16" ) ,
190- code!( save_gp) ,
191- code!( save_fp) ,
192- "
193- mv t0, a0
194- mv a0, sp
195- jalr t0
196- ld ra, 0x200(sp)
197- add sp, sp, 0x210
198- " ,
199- maybe_cfi!( ".cfi_def_cfa_offset 0" ) ,
200- maybe_cfi!( ".cfi_restore ra" ) ,
201- "ret" ,
202- maybe_cfi!( ".cfi_endproc" ) ,
203- ) ;
204- }
180+ core:: arch:: naked_asm!(
181+ maybe_cfi!( ".cfi_startproc" ) ,
182+ "
183+ mv t0, sp
184+ add sp, sp, -0x210
185+ " ,
186+ maybe_cfi!( ".cfi_def_cfa_offset 0x210" ) ,
187+ "sd ra, 0x200(sp)" ,
188+ maybe_cfi!( ".cfi_offset ra, -16" ) ,
189+ code!( save_gp) ,
190+ code!( save_fp) ,
191+ "
192+ mv t0, a0
193+ mv a0, sp
194+ jalr t0
195+ ld ra, 0x200(sp)
196+ add sp, sp, 0x210
197+ " ,
198+ maybe_cfi!( ".cfi_def_cfa_offset 0" ) ,
199+ maybe_cfi!( ".cfi_restore ra" ) ,
200+ "ret" ,
201+ maybe_cfi!( ".cfi_endproc" ) ,
202+ ) ;
205203 #[ cfg( not( target_feature = "d" ) ) ]
206- unsafe {
207- core:: arch:: naked_asm!(
208- maybe_cfi!( ".cfi_startproc" ) ,
209- "
210- mv t0, sp
211- add sp, sp, -0x110
212- " ,
213- maybe_cfi!( ".cfi_def_cfa_offset 0x110" ) ,
214- "sd ra, 0x100(sp)" ,
215- maybe_cfi!( ".cfi_offset ra, -16" ) ,
216- code!( save_gp) ,
217- "
218- mv t0, a0
219- mv a0, sp
220- jalr t0
221- ld ra, 0x100(sp)
222- add sp, sp, 0x110
223- " ,
224- maybe_cfi!( ".cfi_def_cfa_offset 0" ) ,
225- maybe_cfi!( ".cfi_restore ra" ) ,
226- "ret" ,
227- maybe_cfi!( ".cfi_endproc" ) ,
228- ) ;
229- }
204+ core:: arch:: naked_asm!(
205+ maybe_cfi!( ".cfi_startproc" ) ,
206+ "
207+ mv t0, sp
208+ add sp, sp, -0x110
209+ " ,
210+ maybe_cfi!( ".cfi_def_cfa_offset 0x110" ) ,
211+ "sd ra, 0x100(sp)" ,
212+ maybe_cfi!( ".cfi_offset ra, -16" ) ,
213+ code!( save_gp) ,
214+ "
215+ mv t0, a0
216+ mv a0, sp
217+ jalr t0
218+ ld ra, 0x100(sp)
219+ add sp, sp, 0x110
220+ " ,
221+ maybe_cfi!( ".cfi_def_cfa_offset 0" ) ,
222+ maybe_cfi!( ".cfi_restore ra" ) ,
223+ "ret" ,
224+ maybe_cfi!( ".cfi_endproc" ) ,
225+ ) ;
230226}
231227
232228pub unsafe fn restore_context ( ctx : & Context ) -> ! {
0 commit comments