@@ -97,7 +97,8 @@ void mp_init(void) {
9797 mp_obj_dict_store (MP_OBJ_FROM_PTR (& MP_STATE_VM (dict_main )), MP_OBJ_NEW_QSTR (MP_QSTR___name__ ), MP_OBJ_NEW_QSTR (MP_QSTR___main__ ));
9898
9999 // locals = globals for outer module (see Objects/frameobject.c/PyFrame_New())
100- MP_STATE_CTX (dict_locals ) = MP_STATE_CTX (dict_globals ) = & MP_STATE_VM (dict_main );
100+ mp_locals_set (& MP_STATE_VM (dict_main ));
101+ mp_globals_set (& MP_STATE_VM (dict_main ));
101102
102103 #if MICROPY_CAN_OVERRIDE_BUILTINS
103104 // start with no extensions to builtins
@@ -136,8 +137,8 @@ mp_obj_t mp_load_name(qstr qst) {
136137 // logic: search locals, globals, builtins
137138 DEBUG_OP_printf ("load name %s\n" , qstr_str (qst ));
138139 // If we're at the outer scope (locals == globals), dispatch to load_global right away
139- if (MP_STATE_CTX ( dict_locals ) != MP_STATE_CTX ( dict_globals )) {
140- mp_map_elem_t * elem = mp_map_lookup (& MP_STATE_CTX ( dict_locals )-> map , MP_OBJ_NEW_QSTR (qst ), MP_MAP_LOOKUP );
140+ if (mp_locals_get ( ) != mp_globals_get ( )) {
141+ mp_map_elem_t * elem = mp_map_lookup (& mp_locals_get ( )-> map , MP_OBJ_NEW_QSTR (qst ), MP_MAP_LOOKUP );
141142 if (elem != NULL ) {
142143 return elem -> value ;
143144 }
@@ -148,7 +149,7 @@ mp_obj_t mp_load_name(qstr qst) {
148149mp_obj_t mp_load_global (qstr qst ) {
149150 // logic: search globals, builtins
150151 DEBUG_OP_printf ("load global %s\n" , qstr_str (qst ));
151- mp_map_elem_t * elem = mp_map_lookup (& MP_STATE_CTX ( dict_globals )-> map , MP_OBJ_NEW_QSTR (qst ), MP_MAP_LOOKUP );
152+ mp_map_elem_t * elem = mp_map_lookup (& mp_globals_get ( )-> map , MP_OBJ_NEW_QSTR (qst ), MP_MAP_LOOKUP );
152153 if (elem == NULL ) {
153154 #if MICROPY_CAN_OVERRIDE_BUILTINS
154155 if (MP_STATE_VM (mp_module_builtins_override_dict ) != NULL ) {
@@ -188,24 +189,24 @@ mp_obj_t mp_load_build_class(void) {
188189
189190void mp_store_name (qstr qst , mp_obj_t obj ) {
190191 DEBUG_OP_printf ("store name %s <- %p\n" , qstr_str (qst ), obj );
191- mp_obj_dict_store (MP_OBJ_FROM_PTR (MP_STATE_CTX ( dict_locals )), MP_OBJ_NEW_QSTR (qst ), obj );
192+ mp_obj_dict_store (MP_OBJ_FROM_PTR (mp_locals_get ( )), MP_OBJ_NEW_QSTR (qst ), obj );
192193}
193194
194195void mp_delete_name (qstr qst ) {
195196 DEBUG_OP_printf ("delete name %s\n" , qstr_str (qst ));
196197 // TODO convert KeyError to NameError if qst not found
197- mp_obj_dict_delete (MP_OBJ_FROM_PTR (MP_STATE_CTX ( dict_locals )), MP_OBJ_NEW_QSTR (qst ));
198+ mp_obj_dict_delete (MP_OBJ_FROM_PTR (mp_locals_get ( )), MP_OBJ_NEW_QSTR (qst ));
198199}
199200
200201void mp_store_global (qstr qst , mp_obj_t obj ) {
201202 DEBUG_OP_printf ("store global %s <- %p\n" , qstr_str (qst ), obj );
202- mp_obj_dict_store (MP_OBJ_FROM_PTR (MP_STATE_CTX ( dict_globals )), MP_OBJ_NEW_QSTR (qst ), obj );
203+ mp_obj_dict_store (MP_OBJ_FROM_PTR (mp_globals_get ( )), MP_OBJ_NEW_QSTR (qst ), obj );
203204}
204205
205206void mp_delete_global (qstr qst ) {
206207 DEBUG_OP_printf ("delete global %s\n" , qstr_str (qst ));
207208 // TODO convert KeyError to NameError if qst not found
208- mp_obj_dict_delete (MP_OBJ_FROM_PTR (MP_STATE_CTX ( dict_globals )), MP_OBJ_NEW_QSTR (qst ));
209+ mp_obj_dict_delete (MP_OBJ_FROM_PTR (mp_globals_get ( )), MP_OBJ_NEW_QSTR (qst ));
209210}
210211
211212mp_obj_t mp_unary_op (mp_uint_t op , mp_obj_t arg ) {
0 commit comments