[parrot/parrot] 5c1604: coro: refactor return code. problem: wrong continu...

GitHub noreply at github.com
Sat Oct 18 14:03:59 UTC 2014


  Branch: refs/heads/smoke-me/coro-return-gh1106
  Home:   https://github.com/parrot/parrot
  Commit: 5c1604e0a5a60baa73c157e97b1b1235d39a73cc
      https://github.com/parrot/parrot/commit/5c1604e0a5a60baa73c157e97b1b1235d39a73cc
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-10-18 (Sat, 18 Oct 2014)

  Changed paths:
    M ChangeLog
    M include/parrot/sub.h
    M src/pmc/continuation.pmc
    M src/pmc/coroutine.pmc
    M src/sub.c
    M t/pmc/coroutine.t

  Log Message:
  -----------
  coro: refactor return code. problem: wrong continuation

let Parrot_sub_continuation_rewind_environment return from_sub
for continuation.invoke.
let yield carry a 2nd state: 2 for .return
fix .return() mostly [GH# 1106]
remove unneeded empty ctx check in coroutine.invoke back from coro

changed t/pmc/coroutine.t to match the new implementation.
Fixed: 9, 13, 14, 15, 16
Remaining todo:
-  2: wrong returncc cont to label, regression (also syn_7)
- 14: wrong cont


  Commit: 3af2357e0998c1b904aab0e93722fa85ec50609a
      https://github.com/parrot/parrot/commit/3af2357e0998c1b904aab0e93722fa85ec50609a
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-10-18 (Sat, 18 Oct 2014)

  Changed paths:
    M ChangeLog
    M t/compilers/imcc/syn/pcc.t

  Log Message:
  -----------
  [test] change regressing returncc label from coro to return value


  Commit: eec8a837f3ca2f9e286f645d6c122f5e099e503f
      https://github.com/parrot/parrot/commit/eec8a837f3ca2f9e286f645d6c122f5e099e503f
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-10-18 (Sat, 18 Oct 2014)

  Changed paths:
    M src/runcore/trace.c

  Log Message:
  -----------
  trace: print Coro similar to Sub with -t1


  Commit: 17e31be00511615527dbe22aa34f9da53fca043c
      https://github.com/parrot/parrot/commit/17e31be00511615527dbe22aa34f9da53fca043c
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-10-18 (Sat, 18 Oct 2014)

  Changed paths:
    M src/pmc/coroutine.pmc
    M t/pmc/coroutine.t

  Log Message:
  -----------
  coro: fix dead state with and without autoreset

we do not error when the coro returns from return/returncc.
we rather error when a dead coro is called, new yield state 2.


Compare: https://github.com/parrot/parrot/compare/2f46a87e7b3a...17e31be00511


More information about the parrot-commits mailing list