instead of hacking __locals__ in during bytecode generation, put it in the symtable
diff --git a/Python/compile.c b/Python/compile.c
index 8fae9d7..95ebd76 100644
--- a/Python/compile.c
+++ b/Python/compile.c
@@ -1524,23 +1524,14 @@
 static int
 compiler_class(struct compiler *c, stmt_ty s)
 {
-	static PyObject *locals = NULL;
 	PyCodeObject *co;
 	PyObject *str;
-	PySTEntryObject *ste;
-	int err, i;
+	int i;
 	asdl_seq* decos = s->v.ClassDef.decorator_list;
 
         if (!compiler_decorators(c, decos))
                 return 0;
 
-	/* initialize statics */
-	if (locals == NULL) {
-		locals = PyUnicode_InternFromString("__locals__");
-		if (locals == NULL)
-			return 0;
-	}
-
 	/* ultimately generate code for:
 	     <name> = __build_class__(<func>, <name>, *<bases>, **<keywords>)
 	   where:
@@ -1553,16 +1544,6 @@
 	   This borrows from compiler_call.
 	*/
 
-	/* 0. Create a fake argument named __locals__ */
-	ste = PySymtable_Lookup(c->c_st, s);
-	if (ste == NULL)
-		return 0;
-	assert(PyList_Check(ste->ste_varnames));
-	err = PyList_Append(ste->ste_varnames, locals);
-	Py_DECREF(ste);
-	if (err < 0)
-		return 0;
-
 	/* 1. compile the class body into a code object */
 	if (!compiler_enter_scope(c, s->v.ClassDef.name, (void *)s, s->lineno))
 		return 0;