[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