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 Mark.Shannon
Recipients Mark.Shannon
Date 2013-04-01.16:31:19
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1364833880.2.0.617388686213.issue17611@psf.upfronthosting.co.za>
In-reply-to
Content
The handling of "pseudo exceptions" (return, break and continue) are currently handled in the interpreter. This make the interpreter loop more complex and slower than it needs to be. This change moves the handling of pseudo exceptions into the compiler. 

The net effects of this patch are:

Simpler interpreter loop: no 'psuedo-exceptions', fewer bytecodes and some simplifed bytecodes.

Eliminate the 'why_code' state variable in the  interpreter. Execution is always in the 'normal' state except during explicit exception handling.

Small increase in size and complexity of compiler.

Speedup of 1.5% (Intel i7); this should be considered a happy side-effect rather than a motivation for the change.
History
Date User Action Args
2013-04-01 16:31:20Mark.Shannonsetrecipients: + Mark.Shannon
2013-04-01 16:31:20Mark.Shannonsetmessageid: <1364833880.2.0.617388686213.issue17611@psf.upfronthosting.co.za>
2013-04-01 16:31:20Mark.Shannonlinkissue17611 messages
2013-04-01 16:31:19Mark.Shannoncreate