This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: Please define the flag METH_STACKLESS for Stackless Python
Type: enhancement Stage: resolved
Components: Interpreter Core Versions: Python 3.8, Python 3.7
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: Nosy List: anselm.kruis, vstinner
Priority: normal Keywords: patch

Created on 2017-10-28 17:06 by anselm.kruis, last changed 2022-04-11 14:58 by admin. This issue is now closed.

Pull Requests
URL Status Linked Edit
PR 4159 merged anselm.kruis, 2017-10-28 17:16
Messages (5)
msg305164 - (view) Author: Anselm Kruis (anselm.kruis) * Date: 2017-10-28 17:06
The header Include/methodobject.h defines ml_flags METH_xxx.

Stackless Python adds the flag METH_STACKLESS. Traditionally Stackless used bit 0x0080 for METH_STACKLESS, but starting with C-Python 3.6 bit 0x0080 is used for METH_FASTCALL. 

In order to prevent future conflicts, I propose to add METH_STACKLESS to methodobject.h. 

#ifdef STACKLESS
#define METH_STACKLESS 0x0100
#else
#define METH_STACKLESS 0x0000
#endif

Include/object.h already contains a similar definition.
msg305348 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2017-11-01 01:53
Hi Anselm,

What is the status of Stackless Python? I didn't hear about Stackless for 5 years. Is the project still alive?

I see some activity on https://bitbucket.org/stackless-dev/stackless/wiki/Home and http://www.stackless.com/pipermail/stackless/
msg305433 - (view) Author: Anselm Kruis (anselm.kruis) * Date: 2017-11-02 15:50
Hi Victor,

The project is still somewhat alive, because the software, that is used to control a large percentage of the CAE simulation jobs of large German automakers, requires Stackless Python, especially the option to serialize tasklets and move them around between different computers.

The Stackless project recently released Stackless Python 3.5.4 and 2.7.14 and C-Python is merged up to 3.6.1. See https://github.com/stackless-dev/stackless/tree/3.6-slp and https://bitbucket.org/stackless-dev/stackless/wiki/Download.

Under the hood we fixed the reference counting (2016) and migrated from bitbucket/hg to github/git.

Regards
  Anselm
msg305454 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2017-11-02 22:55
New changeset 9e3397333278f973a11d933c27a69af250e4acf0 by Victor Stinner (Anselm Kruis) in branch 'master':
bpo-31890: define METH_STACKLESS (#4159)
https://github.com/python/cpython/commit/9e3397333278f973a11d933c27a69af250e4acf0
msg305467 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2017-11-03 10:07
Anselm Kruis: Python 3.7 now has your METH_STACKLESS flag. Enjoy ;-)
History
Date User Action Args
2022-04-11 14:58:53adminsetgithub: 76071
2017-11-03 10:07:27vstinnersetstatus: open -> closed
resolution: fixed
messages: + msg305467

stage: patch review -> resolved
2017-11-02 22:55:03vstinnersetmessages: + msg305454
2017-11-02 15:50:10anselm.kruissetmessages: + msg305433
2017-11-01 01:53:44vstinnersetmessages: + msg305348
2017-10-28 17:19:08serhiy.storchakasetnosy: + vstinner
2017-10-28 17:16:47anselm.kruissetkeywords: + patch
stage: patch review
pull_requests: + pull_request4128
2017-10-28 17:06:54anselm.kruiscreate