mirror of
https://github.com/micropython/micropython.git
synced 2026-01-06 20:20:14 +01:00
py: Fix bug where GC collected native/viper/asm function data.
Because (for Thumb) a function pointer has the LSB set, pointers to dynamic functions in RAM (eg native, viper or asm functions) were not being traced by the GC. This patch is a comprehensive fix for this. Addresses issue #820.
This commit is contained in:
@@ -80,10 +80,6 @@ mp_obj_t mp_load_const_dec(qstr qstr);
|
||||
mp_obj_t mp_load_const_str(qstr qstr);
|
||||
mp_obj_t mp_load_const_bytes(qstr qstr);
|
||||
|
||||
mp_obj_t mp_make_function_n(int n_args, void *fun); // fun must have the correct signature for n_args fixed arguments
|
||||
mp_obj_t mp_make_function_var(int n_args_min, mp_fun_var_t fun);
|
||||
mp_obj_t mp_make_function_var_between(int n_args_min, int n_args_max, mp_fun_var_t fun); // min and max are inclusive
|
||||
|
||||
mp_obj_t mp_call_function_0(mp_obj_t fun);
|
||||
mp_obj_t mp_call_function_1(mp_obj_t fun, mp_obj_t arg);
|
||||
mp_obj_t mp_call_function_2(mp_obj_t fun, mp_obj_t arg1, mp_obj_t arg2);
|
||||
|
||||
Reference in New Issue
Block a user