[svn:parrot] r48861 - trunk/src
chromatic at svn.parrot.org
chromatic at svn.parrot.org
Wed Sep 8 18:50:21 UTC 2010
Author: chromatic
Date: Wed Sep 8 18:50:21 2010
New Revision: 48861
URL: https://trac.parrot.org/parrot/changeset/48861
Log:
[ns] Optimized NameSpace type check.
Modified:
trunk/src/namespace.c
Modified: trunk/src/namespace.c
==============================================================================
--- trunk/src/namespace.c Wed Sep 8 18:50:18 2010 (r48860)
+++ trunk/src/namespace.c Wed Sep 8 18:50:21 2010 (r48861)
@@ -131,9 +131,12 @@
ARGIN(STRING *key), int flags)
{
ASSERT_ARGS(internal_ns_keyed_str)
- PMC * const ns = VTABLE_get_pmc_keyed_str(interp, base_ns, key);
+ PMC * const ns = VTABLE_get_pmc_keyed_str(interp, base_ns, key);
+ STRING * const namespace = CONST_STRING(interp, "NameSpace");
- if (!PMC_IS_NULL(ns) && VTABLE_isa(interp, ns, CONST_STRING(interp, "NameSpace")))
+ if (!PMC_IS_NULL(ns)
+ && (ns->vtable->base_type == enum_class_NameSpace
+ || VTABLE_isa(interp, ns, namespace)))
return ns;
return internal_ns_maybe_create(interp, base_ns, key, flags);
More information about the parrot-commits
mailing list