Commit cbd9ae52 authored by Damien George's avatar Damien George
Browse files

py/compile: Don't unnecessarily save state when compiling param list.

Parameter lists can't be nested so there is no need to save the global
state when compiling them.
parent e4404fbe
......@@ -663,11 +663,6 @@ STATIC qstr compile_funcdef_helper(compiler_t *comp, mp_parse_node_struct_t *pns
pns->nodes[4] = (mp_parse_node_t)s;
// save variables (probably don't need to do this, since we can't have nested definitions..?)
uint old_have_star = comp->have_star;
uint old_num_dict_params = comp->num_dict_params;
uint old_num_default_params = comp->num_default_params;
// compile default parameters
comp->have_star = false;
comp->num_dict_params = 0;
......@@ -691,11 +686,6 @@ STATIC qstr compile_funcdef_helper(compiler_t *comp, mp_parse_node_struct_t *pns
// make the function
close_over_variables_etc(comp, fscope, comp->num_default_params, comp->num_dict_params);
// restore variables
comp->have_star = old_have_star;
comp->num_dict_params = old_num_dict_params;
comp->num_default_params = old_num_default_params;
// return its name (the 'f' in "def f(...):")
return fscope->simple_name;
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment