Message185741
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. |
|
Date |
User |
Action |
Args |
2013-04-01 16:31:20 | Mark.Shannon | set | recipients:
+ Mark.Shannon |
2013-04-01 16:31:20 | Mark.Shannon | set | messageid: <1364833880.2.0.617388686213.issue17611@psf.upfronthosting.co.za> |
2013-04-01 16:31:20 | Mark.Shannon | link | issue17611 messages |
2013-04-01 16:31:19 | Mark.Shannon | create | |
|