[svn:parrot] r48380 - in branches/dynop_mapping: config/gen/config_h src/ops src/pmc

plobsing at svn.parrot.org plobsing at svn.parrot.org
Tue Aug 10 05:58:19 UTC 2010


Author: plobsing
Date: Tue Aug 10 05:58:19 2010
New Revision: 48380
URL: https://trac.parrot.org/parrot/changeset/48380

Log:
check for core_ops (doesn't occur as a loaded dynoplib).
also update core ops to report library name as "core_ops" in stead of "core"

Modified:
   branches/dynop_mapping/config/gen/config_h/config_h.in
   branches/dynop_mapping/src/ops/core_ops.c
   branches/dynop_mapping/src/pmc/oplib.pmc

Modified: branches/dynop_mapping/config/gen/config_h/config_h.in
==============================================================================
--- branches/dynop_mapping/config/gen/config_h/config_h.in	Tue Aug 10 04:46:41 2010	(r48379)
+++ branches/dynop_mapping/config/gen/config_h/config_h.in	Tue Aug 10 05:58:19 2010	(r48380)
@@ -150,7 +150,7 @@
 #define PARROT_ at jitcpu@ 1
 
 /* Oplib and dynamic ops related. */
-#define PARROT_CORE_OPLIB_NAME "core"
+#define PARROT_CORE_OPLIB_NAME "core_ops"
 #define PARROT_CORE_OPLIB_INIT Parrot_DynOp_core_ at MAJOR@_ at MINOR@_ at PATCH@
 
 /* ICU. */

Modified: branches/dynop_mapping/src/ops/core_ops.c
==============================================================================
--- branches/dynop_mapping/src/ops/core_ops.c	Tue Aug 10 04:46:41 2010	(r48379)
+++ branches/dynop_mapping/src/ops/core_ops.c	Tue Aug 10 05:58:19 2010	(r48380)
@@ -26097,8 +26097,8 @@
 */
 
 static op_lib_t core_op_lib = {
-  "core",               /* name */
-  "",             /* suffix */
+  "core_ops",                /* name */
+  "",                  /* suffix */
   PARROT_FUNCTION_CORE,                       /* core_type = PARROT_XX_CORE */
   0,                                /* flags */
   2,    /* major_version */

Modified: branches/dynop_mapping/src/pmc/oplib.pmc
==============================================================================
--- branches/dynop_mapping/src/pmc/oplib.pmc	Tue Aug 10 04:46:41 2010	(r48379)
+++ branches/dynop_mapping/src/pmc/oplib.pmc	Tue Aug 10 05:58:19 2010	(r48380)
@@ -34,10 +34,15 @@
         op_lib_t *oplib     = NULL;
         int       i;
 
-        for (i = 0; i < INTERP->n_libs; i++) {
-            if (STREQ(name_cstr, INTERP->all_op_libs[i]->name)) {
-                oplib = INTERP->all_op_libs[i];
-                break;
+        if (STREQ(name_cstr, PARROT_CORE_OPLIB_NAME)) {
+            oplib = PARROT_CORE_OPLIB_INIT(interp, 1);
+        }
+        else {
+            for (i = 0; i < INTERP->n_libs; i++) {
+                if (STREQ(name_cstr, INTERP->all_op_libs[i]->name)) {
+                    oplib = INTERP->all_op_libs[i];
+                    break;
+                }
             }
         }
 
@@ -45,7 +50,7 @@
 
         if (!oplib)
             Parrot_ex_throw_from_c_args(INTERP, NULL, EXCEPTION_LIBRARY_NOT_LOADED,
-                    "Could not find oplib `%s'");
+                    "Could not find oplib `%S'", name);
 
         SET_ATTR_oplib(INTERP, SELF, oplib);
     }


More information about the parrot-commits mailing list