From 7f70b60f4d05126a838364ee91d288ec8c47d362 Mon Sep 17 00:00:00 2001
From: Damien George <damien.p.george@gmail.com>
Date: Mon, 17 Aug 2015 22:39:03 +0100
Subject: [PATCH] py: Remove unused compile scope flags, and irrelevant flag
 compute code.

---
 py/compile.c  | 12 ------------
 py/runtime0.h | 16 +++-------------
 2 files changed, 3 insertions(+), 25 deletions(-)

diff --git a/py/compile.c b/py/compile.c
index b7ec07029..7117fcae5 100644
--- a/py/compile.c
+++ b/py/compile.c
@@ -3301,18 +3301,6 @@ STATIC void scope_compute_things(scope_t *scope) {
             scope->num_locals += num_free;
         }
     }
-
-    // compute scope_flags
-    int num_free = 0;
-    for (int i = 0; i < scope->id_info_len; i++) {
-        id_info_t *id = &scope->id_info[i];
-        if (id->kind == ID_INFO_KIND_CELL || id->kind == ID_INFO_KIND_FREE) {
-            num_free += 1;
-        }
-    }
-    if (num_free == 0) {
-        scope->scope_flags |= MP_SCOPE_FLAG_NOFREE;
-    }
 }
 
 mp_obj_t mp_compile(mp_parse_node_t pn, qstr source_file, uint emit_opt, bool is_repl) {
diff --git a/py/runtime0.h b/py/runtime0.h
index 294c17bf6..1d7d64bea 100644
--- a/py/runtime0.h
+++ b/py/runtime0.h
@@ -26,20 +26,10 @@
 #ifndef __MICROPY_INCLUDED_PY_RUNTIME0_H__
 #define __MICROPY_INCLUDED_PY_RUNTIME0_H__
 
-// taken from python source, Include/code.h
 // These must fit in 8 bits; see scope.h
-#define MP_SCOPE_FLAG_OPTIMISED    0x01
-#define MP_SCOPE_FLAG_NEWLOCALS    0x02
-#define MP_SCOPE_FLAG_VARARGS      0x04
-#define MP_SCOPE_FLAG_VARKEYWORDS  0x08
-#define MP_SCOPE_FLAG_NESTED       0x10
-#define MP_SCOPE_FLAG_GENERATOR    0x20
-/* The MP_SCOPE_FLAG_NOFREE flag is set if there are no free or cell variables.
-   This information is redundant, but it allows a single flag test
-   to determine whether there is any extra work to be done when the
-   call frame is setup.
-*/
-#define MP_SCOPE_FLAG_NOFREE       0x40
+#define MP_SCOPE_FLAG_VARARGS      (0x01)
+#define MP_SCOPE_FLAG_VARKEYWORDS  (0x02)
+#define MP_SCOPE_FLAG_GENERATOR    (0x04)
 
 // types for native (viper) function signature
 #define MP_NATIVE_TYPE_OBJ  (0x00)
-- 
GitLab