[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