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.

Author serhiy.storchaka
Recipients miss-islington, serhiy.storchaka, yselivanov
Date 2018-03-18.12:29:13
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1521376153.2.0.467229070634.issue33041@psf.upfronthosting.co.za>
In-reply-to
Content
PR 6142 fixes issues 2 and 4. It adds a new opcode END_ASYNC_FOR and therefore can't be backported. END_ASYNC_FOR combines a number of other opcodes and guaranties using the true StopAsyncIteration. The new opcode is neccessary also for detecting an "async for" loop when jump. Besides introducing the new opcode the code of an "async for" loop was changed in a way that allowed to disallow jumping into an "async for" loop (this is the only part that can be backported). The final bytecode is much simpler. The compiler has been cleaned up and its code is now much simpler too. I expect also a performance boost, but don't know how to benchmark this.

Perhaps only the half of issue 4 (disallowing jumps into an "async for" loop) can be solved in 3.7 and 3.6.
History
Date User Action Args
2018-03-18 12:29:13serhiy.storchakasetrecipients: + serhiy.storchaka, yselivanov, miss-islington
2018-03-18 12:29:13serhiy.storchakasetmessageid: <1521376153.2.0.467229070634.issue33041@psf.upfronthosting.co.za>
2018-03-18 12:29:13serhiy.storchakalinkissue33041 messages
2018-03-18 12:29:13serhiy.storchakacreate