diff options
author | Damien George <damien.p.george@gmail.com> | 2018-09-29 23:25:08 +1000 |
---|---|---|
committer | Damien George <damien.p.george@gmail.com> | 2018-09-29 23:25:08 +1000 |
commit | d95947b48a30f818638c3619b92110ce6d07f5e3 (patch) | |
tree | a6754c314e919019382ef87b32f5272c295b29ce /docs/sphinx_selective_exclude/search_auto_exclude.py | |
parent | dd288904dbaaa6f085252b7457dd10e5abfdb1f2 (diff) | |
download | micropython-d95947b48a30f818638c3619b92110ce6d07f5e3.tar.gz micropython-d95947b48a30f818638c3619b92110ce6d07f5e3.zip |
py/vm: When VM raises exception put exc obj at beginning of func state.
Instead of at end of state, n_state - 1. It was originally (way back in
v1.0) put at the end of the state because the VM didn't have a pointer to
the start. But now that the VM takes a mp_code_state_t pointer it does
have a pointer to the start of the state so can put the exception object
there.
This commit saves about 30 bytes of code on all architectures, and, more
importantly, reduces C-stack usage by a couple of words (8 bytes on Thumb2
and 16 bytes on x86-64) for every (non-generator) call of a bytecode
function because fun_bc_call no longer needs to remember the n_state
variable.
Diffstat (limited to 'docs/sphinx_selective_exclude/search_auto_exclude.py')
0 files changed, 0 insertions, 0 deletions