- 25 Aug, 2017 7 commits
-
-
Stefan Behnel authored
Only reset the frame backlink of *internally* created exception tracebacks in generators/coroutines, not the ones stored away from the caller state.
-
Stefan Behnel authored
-
Stefan Behnel authored
-
Stefan Behnel authored
-
Stefan Behnel authored
-
Stefan Behnel authored
-
Stefan Behnel authored
Also make some C function signatures generic to avoid a dependency on concrete struct types in "far away" code.
-
- 24 Aug, 2017 10 commits
-
-
Stefan Behnel authored
Terminate generator in test to avoid having its exception state hang around, which leads to exception leaks in Py3.3 for the pure Python comparison test.
-
Stefan Behnel authored
-
Stefan Behnel authored
-
Stefan Behnel authored
-
Stefan Behnel authored
Check frame back-pointer before we clear it. CPython can simply assert the identity in genobject.c because it always owns a frame itself for the current coroutine. Since Cython does not have frames here and uses the last frame of whatever traceback it currently owns, it's not clear if we can really give any guarantees better than best-effort here.
-
Stefan Behnel authored
-
Stefan Behnel authored
-
Stefan Behnel authored
-
Stefan Behnel authored
Move exception state cleanup into generator body code to allow a distinction between normal yields and yields in except blocks. They require different handling according to what CPython does.
-
Stefan Behnel authored
Add a script that concatenates the code sections in CPython's ceval.c in the execution sequence given by the byte code of a Python function.
-
- 23 Aug, 2017 3 commits
-
-
Stefan Behnel authored
Prevent incorrect coercion from digit-only strings to integers in fallback code if slots are not used (e.g. in PyPy).
-
Stefan Behnel authored
Extend test to assure that normal conversion to C integers does not allow strings, but only (optimised) casting does.
-
Stefan Behnel authored
Disable refnanny in PyPy since it otherwise risks to access partly initialised objects, e.g. tuples.
-
- 22 Aug, 2017 3 commits
-
-
Stefan Behnel authored
Remove accidental left-over name "gs" from Shadow.py that should not be part of the pure mode types.
-
Stefan Behnel authored
Avoid some unnecessary strlen() calls in exception text formatting, while still keeping up the nice property of sharing const C message strings.
- 21 Aug, 2017 13 commits
-
-
Stefan Behnel authored
Revert "Do not compile Lexicon.py. It's really only used once and is much larger as a binary module than as a byte code file, but not slower to import." Currently seems to be required when the scanner is compiled. This reverts commit d66405c6.
-
Stefan Behnel authored
-
Stefan Behnel authored
-
Stefan Behnel authored
-
Stefan Behnel authored
-
Stefan Behnel authored
-
Stefan Behnel authored
-
Stefan Behnel authored
-
Stefan Behnel authored
-
Stefan Behnel authored
-
Stefan Behnel authored
Do not compile Lexicon.py. It's really only used once and is much larger as a binary module than as a byte code file, but not slower to import.
-
Stefan Behnel authored
-
Stefan Behnel authored
-
- 20 Aug, 2017 2 commits
-
-
Stefan Behnel authored
Keep direct closure of generators and coroutines intact during cleanup by disabling their tp_clear() as they still need their closure for handling the final GeneratorExit call.
-
Stefan Behnel authored
See #1731.
-
- 19 Aug, 2017 2 commits
-
-
Stefan Behnel authored
-
Stefan Behnel authored
-