[svn:parrot] r43043 - branches/context_unify3/src/ops
bacek at svn.parrot.org
bacek at svn.parrot.org
Mon Dec 14 12:43:38 UTC 2009
Author: bacek
Date: Mon Dec 14 12:43:38 2009
New Revision: 43043
URL: https://trac.parrot.org/parrot/changeset/43043
Log:
Use pcc_prepare_call instead copy-pasted code.
Modified:
branches/context_unify3/src/ops/core.ops
Modified: branches/context_unify3/src/ops/core.ops
==============================================================================
--- branches/context_unify3/src/ops/core.ops Mon Dec 14 12:43:19 2009 (r43042)
+++ branches/context_unify3/src/ops/core.ops Mon Dec 14 12:43:38 2009 (r43043)
@@ -429,12 +429,7 @@
opcode_t *dest = expr NEXT();
PMC *call_object = Parrot_pcc_get_signature(interp, CURRENT_CONTEXT(interp));
- interp->current_object = NULL;
- interp->current_cont = new_ret_continuation_pmc(interp, dest);
- Parrot_pcc_init_context(interp, call_object, CURRENT_CONTEXT(interp));
- Parrot_pcc_set_caller_ctx(interp, call_object, CURRENT_CONTEXT(interp));
- Parrot_pcc_set_continuation(interp, call_object, interp->current_cont);
- CURRENT_CONTEXT(interp) = call_object;
+ Parrot_pcc_prepare_call(interp, call_object, new_ret_continuation_pmc(interp, dest), NULL);
dest = VTABLE_invoke(interp, p, dest);
@@ -446,12 +441,7 @@
PMC * const p = $1;
PMC *call_object = Parrot_pcc_get_signature(interp, CURRENT_CONTEXT(interp));
- interp->current_object = NULL;
- interp->current_cont = $2;
- Parrot_pcc_init_context(interp, call_object, CURRENT_CONTEXT(interp));
- Parrot_pcc_set_caller_ctx(interp, call_object, CURRENT_CONTEXT(interp));
- Parrot_pcc_set_continuation(interp, call_object, interp->current_cont);
- CURRENT_CONTEXT(interp) = call_object;
+ Parrot_pcc_prepare_call(interp, call_object, $2, NULL);
dest = VTABLE_invoke(interp, p, dest);
goto ADDRESS(dest);
More information about the parrot-commits
mailing list