Ticket #530: jit.patch
| File jit.patch, 3.4 KB (added by rg, 4 years ago) |
|---|
-
src/jit/i386/jit_defs.c
2476 2476 const char i_map[] = 2477 2477 { emit_EDI, emit_ESI, emit_EDX, emit_ECX }; 2478 2478 const char floatval_map[] = 2479 { 1, 2, 3, 4, 5 }; /* ST(1) .. (ST(4)*/2479 { }; /* XXX see TT #530, #501, #38 */ 2480 2480 2481 2481 const char i_map_sub[] = 2482 2482 { emit_EDX, emit_ECX, emit_EBX, emit_EDI, emit_ESI }; … … 2494 2494 4, /* 4 mapped ints */ 2495 2495 2, /* first 2 are preserved */ 2496 2496 i_map, 2497 4, /* 4 mapped float regs*/2497 0, /* 0 mapped float regs see TT #530, #38, #501 */ 2498 2498 0, /* ABI sez it's not preserved */ 2499 2499 floatval_map 2500 2500 }, -
src/jit/i386/jit_emit.h
1223 1223 jit_emit_fstore_mb_n((interp), (pc), emit_EBX, (d)); \ 1224 1224 } \ 1225 1225 else { \ 1226 jit_emit_fst _mb_n((interp), (pc), emit_EBX, (d)); \1226 jit_emit_fstore_mb_n((interp), (pc), emit_EBX, (d)); \ 1227 1227 } \ 1228 1228 } 1229 1229 -
src/jit/i386/core.jit
1740 1740 emitm_fstp(NATIVECODE, (MAP[1] + 1)); /* store res */ 1741 1741 } 1742 1742 else { 1743 jit_emit_fstore_m _n(interp, NATIVECODE, ROFFS_NUM(1));1743 jit_emit_fstore_mb_n(interp, NATIVECODE, emit_EBX, ROFFS_NUM(1)); 1744 1744 } 1745 1745 if (saved) 1746 1746 emitm_popl_r(NATIVECODE, emit_ECX); -
src/jit_debug.c
286 286 char * const src = Parrot_str_to_cstring(interp, 287 287 Parrot_debug_pc_to_filename(interp, 288 288 interp->code->debugs, 0)); 289 pasmfile = string_make(interp, src, strlen(src), NULL, 290 PObj_external_FLAG); 289 pasmfile = string_make(interp, src, strlen(src), NULL, 0); 291 290 file = Parrot_str_copy(interp, pasmfile); 292 291 /* chop pasm/pir */ 293 292 -
t/op/trans.t
205 205 ok 2 206 206 OUTPUT 207 207 208 my $runcore = $ENV{TEST_PROG_ARGS} || ''; 209 my @bsdtodo = ( 210 $runcore =~ /--runcore=jit/ && $^O =~ m/bsd/i 211 ? ( todo => 'broken under JIT TT #501' ) 212 : () 213 ); 214 215 pasm_output_is( <<"CODE", <<OUTPUT, "sinh", @bsdtodo ); 208 pasm_output_is( <<"CODE", <<OUTPUT, "sinh" ); 216 209 .include 'include/fp_equality.pasm' 217 210 set N1, 1.0 218 211 sinh N2, N1 … … 232 225 ok 2 233 226 OUTPUT 234 227 235 pasm_output_is( <<"CODE", <<OUTPUT, "tanh" , @bsdtodo);228 pasm_output_is( <<"CODE", <<OUTPUT, "tanh" ); 236 229 .include 'include/fp_equality.pasm' 237 230 set N1, 1.0 238 231 tanh N2, N1 … … 477 470 ok 2 478 471 OUTPUT 479 472 480 pasm_output_is( <<"CODE", <<OUTPUT, "pow" , @bsdtodo);473 pasm_output_is( <<"CODE", <<OUTPUT, "pow" ); 481 474 .include 'include/fp_equality.pasm' 482 475 set N1, 3.0 483 476 set I1, 3
