Index: src/jit/i386/jit_defs.c =================================================================== --- src/jit/i386/jit_defs.c (revision 38198) +++ src/jit/i386/jit_defs.c (working copy) @@ -2265,15 +2265,6 @@ break; case 'v': break; - case 'V': - emitm_call_cfunc(pc, get_nci_P); - emitm_movl_r_m(interp, pc, emit_EAX, emit_EBP, 0, 1, temp_calls_offset + 4); - /* Call the get_pointer VTABLE on the Pointer PMC to get the returned pointer */ - emitm_movl_m_r(interp, pc, emit_EAX, emit_EAX, 0, 1, offsetof(PMC, vtable)); - emitm_movl_m_r(interp, pc, emit_EAX, emit_EAX, 0, 1, offsetof(VTABLE, get_pointer)); - emitm_callr(pc, emit_EAX); - emitm_movl_r_m(interp, pc, emit_EAX, emit_EBP, 0, 1, args_offset); - break; case 'b': /* buffer (void*) pass PObj_bufstart(SReg) */ emitm_call_cfunc(pc, get_nci_S); emitm_movl_m_r(interp, pc, emit_EAX, emit_EAX, 0, 1, @@ -2296,6 +2287,7 @@ case '2': case '3': case '4': + case 'V': mem_free_executable(jit_info.native_ptr, JIT_ALLOC_SIZE); return NULL; break; Index: t/pmc/nci.t =================================================================== --- t/pmc/nci.t (revision 38198) +++ t/pmc/nci.t (working copy) @@ -2647,11 +2647,6 @@ 3 OUTPUT -{ - local $TODO = 0; - if ($PConfig{jitcapable}){ - $TODO = "TT #551 - jitted NCI sig with V is broken"; - } pir_output_is( << 'CODE', << 'OUTPUT', "nci_vVi - void** out parameter" ); .sub test :main .local string library_name @@ -2674,7 +2669,6 @@ CODE got 10 OUTPUT -} pir_output_is( << 'CODE', << 'OUTPUT', "nci_ttt - t_tt parameter" ); .sub test :main @@ -2712,11 +2706,6 @@ 1 OUTPUT -{ - local $TODO = 0; - if ($PConfig{jitcapable}){ - $TODO = "TT #551 - jitted NCI sig with V is broken"; - } pir_output_is( << 'CODE', << 'OUTPUT', "nci_vV - char** out parameter" ); .sub test :main .local string library_name @@ -2764,7 +2753,6 @@ It is a beautiful day! Go suck a lemon. OUTPUT -} # Local Variables: # mode: cperl