@@ -322,7 +322,6 @@ init_code(PyCodeObject *co, struct _PyCodeConstructor *con)
322
322
co -> co_exceptiontable = con -> exceptiontable ;
323
323
324
324
/* derived values */
325
- co -> co_cell2arg = NULL ; // This will be set soon.
326
325
co -> co_nlocalsplus = nlocalsplus ;
327
326
co -> co_nlocals = nlocals ;
328
327
co -> co_nplaincellvars = nplaincellvars ;
@@ -377,45 +376,6 @@ _PyCode_New(struct _PyCodeConstructor *con)
377
376
co -> co_flags &= ~CO_NOFREE ;
378
377
}
379
378
380
- /* Create mapping between cells and arguments if needed. */
381
- if (co -> co_ncellvars ) {
382
- int totalargs = co -> co_argcount +
383
- co -> co_kwonlyargcount +
384
- ((co -> co_flags & CO_VARARGS ) != 0 ) +
385
- ((co -> co_flags & CO_VARKEYWORDS ) != 0 );
386
- assert (totalargs <= co -> co_nlocals );
387
- /* Find cells which are also arguments. */
388
- for (int i = 0 ; i < co -> co_ncellvars ; i ++ ) {
389
- continue ;
390
- PyObject * cellname = PyTuple_GET_ITEM (co -> co_localsplusnames ,
391
- i + co -> co_nlocals );
392
- for (int j = 0 ; j < totalargs ; j ++ ) {
393
- PyObject * argname = PyTuple_GET_ITEM (co -> co_localsplusnames , j );
394
- int cmp = PyUnicode_Compare (cellname , argname );
395
- if (cmp == -1 && PyErr_Occurred ()) {
396
- Py_DECREF (co );
397
- return NULL ;
398
- }
399
- if (cmp == 0 ) {
400
- if (co -> co_cell2arg == NULL ) {
401
- co -> co_cell2arg = PyMem_NEW (int , co -> co_ncellvars );
402
- if (co -> co_cell2arg == NULL ) {
403
- Py_DECREF (co );
404
- PyErr_NoMemory ();
405
- return NULL ;
406
- }
407
- for (int k = 0 ; k < co -> co_ncellvars ; k ++ ) {
408
- co -> co_cell2arg [k ] = CO_CELL_NOT_AN_ARG ;
409
- }
410
- }
411
- co -> co_cell2arg [i ] = j ;
412
- // Go to the next cell name.
413
- break ;
414
- }
415
- }
416
- }
417
- }
418
-
419
379
return co ;
420
380
}
421
381
@@ -1190,8 +1150,6 @@ code_dealloc(PyCodeObject *co)
1190
1150
Py_XDECREF (co -> co_name );
1191
1151
Py_XDECREF (co -> co_linetable );
1192
1152
Py_XDECREF (co -> co_exceptiontable );
1193
- if (co -> co_cell2arg != NULL )
1194
- PyMem_Free (co -> co_cell2arg );
1195
1153
if (co -> co_weakreflist != NULL )
1196
1154
PyObject_ClearWeakRefs ((PyObject * )co );
1197
1155
if (co -> co_quickened ) {
@@ -1385,10 +1343,6 @@ code_sizeof(PyCodeObject *co, PyObject *Py_UNUSED(args))
1385
1343
(co_extra -> ce_size - 1 ) * sizeof (co_extra -> ce_extras [0 ]);
1386
1344
}
1387
1345
1388
- if (co -> co_cell2arg != NULL && co -> co_cellvars != NULL ) {
1389
- res += co -> co_ncellvars * sizeof (Py_ssize_t );
1390
- }
1391
-
1392
1346
if (co -> co_quickened != NULL ) {
1393
1347
Py_ssize_t count = co -> co_quickened [0 ].entry .zero .cache_count ;
1394
1348
count += (PyBytes_GET_SIZE (co -> co_code )+ sizeof (SpecializedCacheEntry )- 1 )/
0 commit comments