Ticket #551: donthandle.patch
File donthandle.patch, 2.2 KB (added by rg, 13 years ago) |
---|
-
src/jit/i386/jit_defs.c
2265 2265 break; 2266 2266 case 'v': 2267 2267 break; 2268 case 'V':2269 emitm_call_cfunc(pc, get_nci_P);2270 emitm_movl_r_m(interp, pc, emit_EAX, emit_EBP, 0, 1, temp_calls_offset + 4);2271 /* Call the get_pointer VTABLE on the Pointer PMC to get the returned pointer */2272 emitm_movl_m_r(interp, pc, emit_EAX, emit_EAX, 0, 1, offsetof(PMC, vtable));2273 emitm_movl_m_r(interp, pc, emit_EAX, emit_EAX, 0, 1, offsetof(VTABLE, get_pointer));2274 emitm_callr(pc, emit_EAX);2275 emitm_movl_r_m(interp, pc, emit_EAX, emit_EBP, 0, 1, args_offset);2276 break;2277 2268 case 'b': /* buffer (void*) pass PObj_bufstart(SReg) */ 2278 2269 emitm_call_cfunc(pc, get_nci_S); 2279 2270 emitm_movl_m_r(interp, pc, emit_EAX, emit_EAX, 0, 1, … … 2296 2287 case '2': 2297 2288 case '3': 2298 2289 case '4': 2290 case 'V': 2299 2291 mem_free_executable(jit_info.native_ptr, JIT_ALLOC_SIZE); 2300 2292 return NULL; 2301 2293 break; -
t/pmc/nci.t
2647 2647 3 2648 2648 OUTPUT 2649 2649 2650 {2651 local $TODO = 0;2652 if ($PConfig{jitcapable}){2653 $TODO = "TT #551 - jitted NCI sig with V is broken";2654 }2655 2650 pir_output_is( << 'CODE', << 'OUTPUT', "nci_vVi - void** out parameter" ); 2656 2651 .sub test :main 2657 2652 .local string library_name … … 2674 2669 CODE 2675 2670 got 10 2676 2671 OUTPUT 2677 }2678 2672 2679 2673 pir_output_is( << 'CODE', << 'OUTPUT', "nci_ttt - t_tt parameter" ); 2680 2674 .sub test :main … … 2712 2706 1 2713 2707 OUTPUT 2714 2708 2715 {2716 local $TODO = 0;2717 if ($PConfig{jitcapable}){2718 $TODO = "TT #551 - jitted NCI sig with V is broken";2719 }2720 2709 pir_output_is( << 'CODE', << 'OUTPUT', "nci_vV - char** out parameter" ); 2721 2710 .sub test :main 2722 2711 .local string library_name … … 2764 2753 It is a beautiful day! 2765 2754 Go suck a lemon. 2766 2755 OUTPUT 2767 }2768 2756 2769 2757 # Local Variables: 2770 2758 # mode: cperl