[svn:parrot] r37006 - in trunk: examples/embed include/parrot src

NotFound at svn.parrot.org NotFound at svn.parrot.org
Wed Feb 25 21:59:44 UTC 2009


Author: NotFound
Date: Wed Feb 25 21:59:43 2009
New Revision: 37006
URL: https://trac.parrot.org/parrot/changeset/37006

Log:
[core] add a wrapper function to call PackFile_fixup_subs PBC_LOADED from embedding

Modified:
   trunk/examples/embed/lorito.c
   trunk/include/parrot/embed.h
   trunk/src/embed.c

Modified: trunk/examples/embed/lorito.c
==============================================================================
--- trunk/examples/embed/lorito.c	Wed Feb 25 21:15:39 2009	(r37005)
+++ trunk/examples/embed/lorito.c	Wed Feb 25 21:59:43 2009	(r37006)
@@ -118,6 +118,7 @@
         fail("Cannot load file");
 
     Parrot_pbc_load(interp, pf);
+    Parrot_pbc_fixup_loaded(interp);
 
     if (stname) {
         Parrot_PMC rootns = Parrot_get_root_namespace(interp);

Modified: trunk/include/parrot/embed.h
==============================================================================
--- trunk/include/parrot/embed.h	Wed Feb 25 21:15:39 2009	(r37005)
+++ trunk/include/parrot/embed.h	Wed Feb 25 21:59:43 2009	(r37006)
@@ -54,6 +54,8 @@
 
 PARROT_EXPORT void Parrot_pbc_load(Parrot_Interp, Parrot_PackFile);
 
+PARROT_EXPORT void Parrot_pbc_fixup_loaded(Parrot_Interp);
+
 PARROT_EXPORT void Parrot_setup_argv(Parrot_Interp, int argc, const char **argv);
 
 PARROT_EXPORT void Parrot_setup_opt(Parrot_Interp, int n, char *argv);

Modified: trunk/src/embed.c
==============================================================================
--- trunk/src/embed.c	Wed Feb 25 21:15:39 2009	(r37005)
+++ trunk/src/embed.c	Wed Feb 25 21:59:43 2009	(r37006)
@@ -582,6 +582,22 @@
     interp->code       = pf->cur_cs;
 }
 
+/*
+
+=item C<void Parrot_pbc_fixup_loaded>
+
+Fixups after pbc loading
+
+=cut
+
+*/
+
+PARROT_EXPORT
+void
+Parrot_pbc_fixup_loaded(PARROT_INTERP)
+{
+    PackFile_fixup_subs(interp, PBC_LOADED, NULL);
+}
 
 /*
 


More information about the parrot-commits mailing list