[svn:parrot] r41181 - trunk/src
chromatic at svn.parrot.org
chromatic at svn.parrot.org
Thu Sep 10 19:36:42 UTC 2009
Author: chromatic
Date: Thu Sep 10 19:36:40 2009
New Revision: 41181
URL: https://trac.parrot.org/parrot/changeset/41181
Log:
[sub] Coalesced repeated calls to Parrot_pcc_get_pc() in
Parrot_Context_get_info(); it's a minor optimization.
Modified:
trunk/src/sub.c
Modified: trunk/src/sub.c
==============================================================================
--- trunk/src/sub.c Thu Sep 10 05:55:12 2009 (r41180)
+++ trunk/src/sub.c Thu Sep 10 19:36:40 2009 (r41181)
@@ -190,6 +190,7 @@
ASSERT_ARGS(Parrot_Context_get_info)
PMC *subpmc;
Parrot_Sub_attributes *sub;
+ opcode_t *pc;
/* set file/line/pc defaults */
info->file = CONST_STRING(interp, "(unknown file)");
@@ -228,15 +229,17 @@
info->fullname = Parrot_full_sub_name(interp, subpmc);
}
+ pc = Parrot_pcc_get_pc(interp, ctx);
+
/* return here if there is no current pc */
- if (Parrot_pcc_get_pc(interp, ctx) == NULL)
+ if (!pc)
return 1;
/* calculate the current pc */
- info->pc = Parrot_pcc_get_pc(interp, ctx) - sub->seg->base.data;
+ info->pc = pc - sub->seg->base.data;
/* determine the current source file/line */
- if (Parrot_pcc_get_pc(interp, ctx)) {
+ if (pc) {
const size_t offs = info->pc;
size_t i, n;
opcode_t *pc = sub->seg->base.data;
@@ -261,6 +264,7 @@
pc += op_info->op_count + var_args;
}
}
+
return 1;
}
More information about the parrot-commits
mailing list