[svn:parrot] r47802 - branches/dynop_mapping/src

plobsing at svn.parrot.org plobsing at svn.parrot.org
Thu Jun 24 08:18:23 UTC 2010


Author: plobsing
Date: Thu Jun 24 08:18:23 2010
New Revision: 47802
URL: https://trac.parrot.org/parrot/changeset/47802

Log:
paper over Parrot_run_native issues

Modified:
   branches/dynop_mapping/src/embed.c

Modified: branches/dynop_mapping/src/embed.c
==============================================================================
--- branches/dynop_mapping/src/embed.c	Thu Jun 24 06:24:41 2010	(r47801)
+++ branches/dynop_mapping/src/embed.c	Thu Jun 24 08:18:23 2010	(r47802)
@@ -1078,16 +1078,23 @@
 {
     ASSERT_ARGS(Parrot_run_native)
     PackFile * const pf = PackFile_new(interp, 0);
-    static opcode_t program_code[2];
+    static const opcode_t program_code[2] = {
+        0, /* enternative */
+        1  /* end */
+    };
+
+    static op_func_t op_func_table[2];
+    op_func_table[0] = interp->op_func_table[ interp->op_lib->op_code(interp, "enternative", 0) ];
+    op_func_table[1] = interp->op_func_table[ interp->op_lib->op_code(interp, "end", 0) ];
 
-    program_code[0] = interp->op_lib->op_code(interp, "enternative", 0);
-    program_code[1] = 0; /* end */
 
     pf->cur_cs = (PackFile_ByteCode *)
         (pf->PackFuncs[PF_BYTEC_SEG].new_seg)(interp, pf,
                 Parrot_str_new_constant(interp, "code"), 1);
     pf->cur_cs->base.data = program_code;
     pf->cur_cs->base.size = 2;
+    pf->cur_cs->op_func_table = op_func_table;
+    /* TODO fill out cur_cs with op_mapping */
 
     Parrot_pbc_load(interp, pf);
 


More information about the parrot-commits mailing list