Author: leo Date: Sat Feb 25 02:39:18 2006 New Revision: 11736 Modified: trunk/lib/Parrot/OpTrans/CSwitch.pm trunk/src/pic.c
Log: fix illegal opcode with -Sj; emit better error message Modified: trunk/lib/Parrot/OpTrans/CSwitch.pm ============================================================================== --- trunk/lib/Parrot/OpTrans/CSwitch.pm (original) +++ trunk/lib/Parrot/OpTrans/CSwitch.pm Sat Feb 25 02:39:18 2006 @@ -224,7 +224,7 @@ *cur_opcode = CORE_OPS_wrapper__; continue; } - internal_exception(1, "illegal opcode\\n"); + internal_exception(1, "illegal opcode in switch core\\n"); break; } /* switch */ END_C Modified: trunk/src/pic.c ============================================================================== --- trunk/src/pic.c (original) +++ trunk/src/pic.c Sat Feb 25 02:39:18 2006 @@ -253,7 +253,7 @@ op_lib_t *cg_lib; #endif - if (core == PARROT_SWITCH_CORE) + if (core == PARROT_SWITCH_CORE || core == PARROT_SWITCH_JIT_CORE) return (void*) op; #ifdef HAVE_COMPUTED_GOTO cg_lib = PARROT_CORE_CGP_OPLIB_INIT(1); @@ -605,7 +605,7 @@ /* * rewrite opcode */ - if (core == PARROT_SWITCH_CORE) + if (core == PARROT_SWITCH_CORE || core == PARROT_SWITCH_JIT_CORE) *pc_pred = (void**) op; else *pc_pred = ((void **)prederef_op_func)[op];