@@ -1847,14 +1847,15 @@ int scheme_generate_inlined_unary(mz_jit_state *jitter, Scheme_App2_Rec *app, in
1847
1847
__END_TINY_JUMPS__ (1 );
1848
1848
(void )jit_calli (sjc .bad_char_to_integer_code );
1849
1849
__START_TINY_JUMPS__ (1 );
1850
+ jit_movr_p (dest , JIT_R0 );
1850
1851
mz_patch_branch (ref );
1851
1852
(void )mz_bnei_t (reffail , JIT_R0 , scheme_char_type , JIT_R1 );
1852
1853
__END_TINY_JUMPS__ (1 );
1853
1854
1854
1855
(void )jit_ldxi_i (JIT_R0 , JIT_R0 , & SCHEME_CHAR_VAL (0x0 ));
1855
1856
CHECK_LIMIT ();
1856
1857
1857
- jit_fixnum_l (JIT_R0 , JIT_R0 );
1858
+ jit_fixnum_l (dest , JIT_R0 );
1858
1859
1859
1860
return 1 ;
1860
1861
} else if (IS_NAMED_PRIM (rator , "integer->char" )) {
@@ -1874,6 +1875,7 @@ int scheme_generate_inlined_unary(mz_jit_state *jitter, Scheme_App2_Rec *app, in
1874
1875
__END_TINY_JUMPS__ (1 );
1875
1876
(void )jit_calli (sjc .slow_integer_to_char_code );
1876
1877
__START_TINY_JUMPS__ (1 );
1878
+ jit_movr_p (dest , JIT_R0 );
1877
1879
refdone = jit_jmpi (jit_forward ());
1878
1880
mz_patch_branch (ref );
1879
1881
(void )jit_blti_p (refslow , JIT_R0 , scheme_make_integer (0 ));
@@ -1882,7 +1884,7 @@ int scheme_generate_inlined_unary(mz_jit_state *jitter, Scheme_App2_Rec *app, in
1882
1884
jit_rshi_l (JIT_R0 , JIT_R0 , 1 );
1883
1885
jit_lshi_l (JIT_R2 , JIT_R0 , JIT_LOG_WORD_SIZE );
1884
1886
(void )jit_movi_p (JIT_R0 , scheme_char_constants );
1885
- jit_ldxr_p (JIT_R0 , JIT_R0 , JIT_R2 );
1887
+ jit_ldxr_p (dest , JIT_R0 , JIT_R2 );
1886
1888
CHECK_LIMIT ();
1887
1889
1888
1890
mz_patch_ucbranch (refdone );
0 commit comments