Author: allison
Date: Fri Dec 26 01:15:06 2008
New Revision: 34370

Modified:
   branches/remove_pic/src/interpreter.c

Log:
[remove_pic] The call to 'parrot_PIC_prederef' was deleted in the refactor to
remove PIC, but that function contained some needed functionality.
Reintegrating the two critical lines of code inline. (Refer to RT #60048 for
more discussion.) After this fix t/run/options.t passes all tests.


Modified: branches/remove_pic/src/interpreter.c
==============================================================================
--- branches/remove_pic/src/interpreter.c       (original)
+++ branches/remove_pic/src/interpreter.c       Fri Dec 26 01:15:06 2008
@@ -282,9 +282,14 @@
     switch (type) {
         case PARROT_SWITCH_CORE:
         case PARROT_SWITCH_JIT_CORE:
+            *pc_prederef = (void **)*pc;
+            break;
+
         case PARROT_CGP_CORE:
         case PARROT_CGP_JIT_CORE:
+            *pc_prederef = ((void **)interp->op_lib->op_func_table)[*pc];
             break;
+
         default:
             Parrot_ex_throw_from_c_args(interp, NULL, 1,
                 "Tried to prederef wrong core");

Reply via email to