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

Reply via email to