summaryrefslogtreecommitdiffstatshomepage
path: root/py/bc.h
diff options
context:
space:
mode:
authorDamien George <damien.p.george@gmail.com>2014-03-27 11:07:04 +0000
committerDamien George <damien.p.george@gmail.com>2014-03-27 11:07:04 +0000
commitbee17b00e38ffc005a4247cb00ab01eb40162a2d (patch)
tree856c12181e8b16a9d0e40868623f5932b9bb8df7 /py/bc.h
parent8dcc0c79248a413f01f1d669b99d51e2519c5267 (diff)
downloadmicropython-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.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/py/bc.h b/py/bc.h
index 153851be87..065daece47 100644
--- a/py/bc.h
+++ b/py/bc.h
@@ -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);