Author: leo
Date: Fri Oct 7 13:15:13 2005
New Revision: 9397
Modified:
trunk/classes/coroutine.pmc
trunk/compilers/pge/PGE/Match.pir
Log:
small yield fixes
Modified: trunk/classes/coroutine.pmc
==============================================================================
--- trunk/classes/coroutine.pmc (original)
+++ trunk/classes/coroutine.pmc Fri Oct 7 13:15:13 2005
@@ -149,7 +149,7 @@ Swaps the "context".
ctx.rctx = CONTEXT(ctx)->prev;
INTERP->ctx = ctx;
/* yield values */
- if (INTERP->current_returns)
+ if (INTERP->current_returns && CONTEXT(ctx)->current_results)
parrot_pass_args(INTERP, wanted_seg,
co->ctx.bp,
PARROT_OP_get_results_pc);
Modified: trunk/compilers/pge/PGE/Match.pir
==============================================================================
--- trunk/compilers/pge/PGE/Match.pir (original)
+++ trunk/compilers/pge/PGE/Match.pir Fri Oct 7 13:15:13 2005
@@ -70,9 +70,7 @@ it left off.
$P0 = -1
goto end
next_2:
- .pcc_begin
- .pcc_call yield
- .pcc_end
+ .yield()
end:
.return ()
.end