[svn:parrot] r40759 - in branches/context_pmc3: lib/Parrot/Pmc2c src/ops src/pmc
bacek at svn.parrot.org
bacek at svn.parrot.org
Mon Aug 24 11:16:17 UTC 2009
Author: bacek
Date: Mon Aug 24 11:16:16 2009
New Revision: 40759
URL: https://trac.parrot.org/parrot/changeset/40759
Log:
[core] Use Parrot_cx_inc|dec_recursion_depth instead of poking into
struct directly.
Modified:
branches/context_pmc3/lib/Parrot/Pmc2c/PCCMETHOD.pm
branches/context_pmc3/src/ops/core.ops
branches/context_pmc3/src/ops/pic.ops
branches/context_pmc3/src/pmc/sub.pmc
Modified: branches/context_pmc3/lib/Parrot/Pmc2c/PCCMETHOD.pm
==============================================================================
--- branches/context_pmc3/lib/Parrot/Pmc2c/PCCMETHOD.pm Mon Aug 24 11:15:30 2009 (r40758)
+++ branches/context_pmc3/lib/Parrot/Pmc2c/PCCMETHOD.pm Mon Aug 24 11:16:16 2009 (r40759)
@@ -429,7 +429,7 @@
if (PObj_get_FLAGS(_ccont) & SUB_FLAG_TAILCALL) {
PObj_get_FLAGS(_ccont) &= ~SUB_FLAG_TAILCALL;
- --CONTEXT_FIELD(interp, _ctx, recursion_depth);
+ Parrot_cx_dec_recursion_depth(interp, _ctx);
CONTEXT_FIELD(interp, _ctx, caller_ctx) = CONTEXT_FIELD(interp, _caller_ctx, caller_ctx);
interp->current_args = NULL;
}
Modified: branches/context_pmc3/src/ops/core.ops
==============================================================================
--- branches/context_pmc3/src/ops/core.ops Mon Aug 24 11:15:30 2009 (r40758)
+++ branches/context_pmc3/src/ops/core.ops Mon Aug 24 11:16:16 2009 (r40759)
@@ -555,7 +555,7 @@
parrot_pass_args(interp, caller_ctx, ctx, src_indexes, dst_indexes, PARROT_PASS_PARAMS);
if (PObj_get_FLAGS(ccont) & SUB_FLAG_TAILCALL) {
PObj_get_FLAGS(ccont) &= ~SUB_FLAG_TAILCALL;
- --CONTEXT_FIELD(interp, ctx, recursion_depth);
+ Parrot_cx_dec_recursion_depth(interp, ctx);
CONTEXT_FIELD(interp, ctx, caller_ctx) = CONTEXT_FIELD(interp, caller_ctx, caller_ctx);
interp->current_args = NULL;
}
Modified: branches/context_pmc3/src/ops/pic.ops
==============================================================================
--- branches/context_pmc3/src/ops/pic.ops Mon Aug 24 11:15:30 2009 (r40758)
+++ branches/context_pmc3/src/ops/pic.ops Mon Aug 24 11:16:16 2009 (r40759)
@@ -162,7 +162,7 @@
ccont = CONTEXT_FIELD(interp, ctx, current_cont);
if (PObj_get_FLAGS(ccont) & SUB_FLAG_TAILCALL) {
PObj_get_FLAGS(ccont) &= ~SUB_FLAG_TAILCALL;
- --CONTEXT_FIELD(interp, ctx, recursion_depth);
+ Parrot_cx_dec_recursion_depth(interp, ctx);
CONTEXT_FIELD(interp, ctx, caller_ctx) = CONTEXT_FIELD(interp, caller_ctx, caller_ctx);
interp->current_args = NULL;
}
Modified: branches/context_pmc3/src/pmc/sub.pmc
==============================================================================
--- branches/context_pmc3/src/pmc/sub.pmc Mon Aug 24 11:15:30 2009 (r40758)
+++ branches/context_pmc3/src/pmc/sub.pmc Mon Aug 24 11:16:16 2009 (r40759)
@@ -288,7 +288,7 @@
CONTEXT_FIELD(interp, context, current_cont) = ccont;
/* check recursion/call depth */
- if (++CONTEXT_FIELD(interp, context, recursion_depth) > INTERP->recursion_limit)
+ if (Parrot_cx_inc_recursion_depth(INTERP, context) > INTERP->recursion_limit)
Parrot_ex_throw_from_c_args(INTERP, next, CONTROL_ERROR,
"maximum recursion depth exceeded");
@@ -373,7 +373,7 @@
&& pc[2] == PARROT_OP_get_params_pc))) {
/* TODO keep it or resize it */
- --CONTEXT_FIELD(interp, context, recursion_depth);
+ Parrot_cx_dec_recursion_depth(INTERP, context);
PObj_get_FLAGS(ccont) &= ~SUB_FLAG_TAILCALL;
CONTEXT_FIELD(interp, context, caller_ctx) = CONTEXT_FIELD(interp, caller_ctx, caller_ctx);
More information about the parrot-commits
mailing list