ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/Coro/Coro/State.xs
(Generate patch)

Comparing Coro/Coro/State.xs (file contents):
Revision 1.56 by pcg, Thu Apr 1 02:41:05 2004 UTC vs.
Revision 1.57 by pcg, Thu Apr 22 04:14:49 2004 UTC

532 /* is this ugly, I ask? */ 532 /* is this ugly, I ask? */
533 LEAVE_SCOPE (0); 533 LEAVE_SCOPE (0);
534 534
535 /* sure it is, but more important: is it correct?? :/ */ 535 /* sure it is, but more important: is it correct?? :/ */
536 FREETMPS; 536 FREETMPS;
537
538 /*POPSTACK_TO (PL_mainstack);*//*D*//*use*/
537 } 539 }
538 540
539 while (PL_curstackinfo->si_next) 541 while (PL_curstackinfo->si_next)
540 PL_curstackinfo = PL_curstackinfo->si_next; 542 PL_curstackinfo = PL_curstackinfo->si_next;
541 543
542 while (PL_curstackinfo) 544 while (PL_curstackinfo)
543 { 545 {
544 PERL_SI *p = PL_curstackinfo->si_prev; 546 PERL_SI *p = PL_curstackinfo->si_prev;
545 547
546 { 548 { /*D*//*remove*/
547 dSP; 549 dSP;
548 SWITCHSTACK (PL_curstack, PL_curstackinfo->si_stack); 550 SWITCHSTACK (PL_curstack, PL_curstackinfo->si_stack);
549 PUTBACK; /* possibly superfluous */ 551 PUTBACK; /* possibly superfluous */
550 } 552 }
551 553
552 if (!IN_DESTRUCT) 554 if (!IN_DESTRUCT)
553 { 555 {
554 dounwind(-1); 556 dounwind (-1);/*D*//*remove*/
555 SvREFCNT_dec(PL_curstackinfo->si_stack); 557 SvREFCNT_dec (PL_curstackinfo->si_stack);
556 } 558 }
557 559
558 Safefree(PL_curstackinfo->si_cxstack); 560 Safefree (PL_curstackinfo->si_cxstack);
559 Safefree(PL_curstackinfo); 561 Safefree (PL_curstackinfo);
560 PL_curstackinfo = p; 562 PL_curstackinfo = p;
561 } 563 }
562 564
563 Safefree(PL_tmps_stack); 565 Safefree (PL_tmps_stack);
564 Safefree(PL_markstack); 566 Safefree (PL_markstack);
565 Safefree(PL_scopestack); 567 Safefree (PL_scopestack);
566 Safefree(PL_savestack); 568 Safefree (PL_savestack);
567 Safefree(PL_retstack); 569 Safefree (PL_retstack);
568} 570}
569 571
570static void 572static void
571allocate_stack (Coro__State ctx, int alloc) 573allocate_stack (Coro__State ctx, int alloc)
572{ 574{

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines