diff options
author | Damien George <damien.p.george@gmail.com> | 2014-03-27 11:07:04 +0000 |
---|---|---|
committer | Damien George <damien.p.george@gmail.com> | 2014-03-27 11:07:04 +0000 |
commit | bee17b00e38ffc005a4247cb00ab01eb40162a2d (patch) | |
tree | 856c12181e8b16a9d0e40868623f5932b9bb8df7 /py/bc.h | |
parent | 8dcc0c79248a413f01f1d669b99d51e2519c5267 (diff) | |
download | micropython-bee17b00e38ffc005a4247cb00ab01eb40162a2d.tar.gz micropython-bee17b00e38ffc005a4247cb00ab01eb40162a2d.zip |
py: Put n_state for bytecode in the bytecode prelude.
Rationale: setting up the stack (state for locals and exceptions) is
really part of the "code", it's the prelude of the function. For
example, native code adjusts the stack pointer on entry to the function.
Native code doesn't need to know n_state for any other reason. So
putting the state size in the bytecode prelude is sensible.
It reduced ROM usage on STM by about 30 bytes :) And makes it easier to
pass information about the bytecode between functions.
Diffstat (limited to 'py/bc.h')
-rw-r--r-- | py/bc.h | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -14,7 +14,7 @@ typedef struct _mp_exc_stack { byte opcode; } mp_exc_stack; -mp_vm_return_kind_t mp_execute_byte_code(const byte *code, const mp_obj_t *args, uint n_args, const mp_obj_t *args2, uint n_args2, uint n_state, mp_obj_t *ret); +mp_vm_return_kind_t mp_execute_byte_code(const byte *code, const mp_obj_t *args, uint n_args, const mp_obj_t *args2, uint n_args2, mp_obj_t *ret); mp_vm_return_kind_t mp_execute_byte_code_2(const byte *code_info, const byte **ip_in_out, mp_obj_t *fastn, mp_obj_t **sp_in_out, mp_exc_stack *exc_stack, mp_exc_stack **exc_sp_in_out, volatile mp_obj_t inject_exc); void mp_byte_code_print(const byte *code, int len); |