Skip to content

Commit 22ff397

Browse files
committed
py: Add MICROPY_PY_BUILTINS_FILTER, disable for minimal ports.
Saves 320 bytes on x86.
1 parent 7f70b60 commit 22ff397

File tree

6 files changed

+15
-0
lines changed

6 files changed

+15
-0
lines changed

minimal/mpconfigport.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
#define MICROPY_PY_BUILTINS_BYTEARRAY (0)
2525
#define MICROPY_PY_BUILTINS_MEMORYVIEW (0)
2626
#define MICROPY_PY_BUILTINS_ENUMERATE (0)
27+
#define MICROPY_PY_BUILTINS_FILTER (0)
2728
#define MICROPY_PY_BUILTINS_FROZENSET (0)
2829
#define MICROPY_PY_BUILTINS_REVERSED (0)
2930
#define MICROPY_PY_BUILTINS_SET (0)

py/modbuiltins.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -563,7 +563,9 @@ STATIC const mp_map_elem_t mp_module_builtins_globals_table[] = {
563563
#if MICROPY_PY_BUILTINS_ENUMERATE
564564
{ MP_OBJ_NEW_QSTR(MP_QSTR_enumerate), (mp_obj_t)&mp_type_enumerate },
565565
#endif
566+
#if MICROPY_PY_BUILTINS_FILTER
566567
{ MP_OBJ_NEW_QSTR(MP_QSTR_filter), (mp_obj_t)&mp_type_filter },
568+
#endif
567569
#if MICROPY_PY_BUILTINS_FLOAT
568570
{ MP_OBJ_NEW_QSTR(MP_QSTR_float), (mp_obj_t)&mp_type_float },
569571
#endif

py/mpconfig.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -500,6 +500,11 @@ typedef double mp_float_t;
500500
#define MICROPY_PY_BUILTINS_EXECFILE (0)
501501
#endif
502502

503+
// Whether to support filter function(type)
504+
#ifndef MICROPY_PY_BUILTINS_FILTER
505+
#define MICROPY_PY_BUILTINS_FILTER (1)
506+
#endif
507+
503508
// Whether to support reversed function(type)
504509
#ifndef MICROPY_PY_BUILTINS_REVERSED
505510
#define MICROPY_PY_BUILTINS_REVERSED (1)

py/objfilter.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@
2626

2727
#include "py/runtime.h"
2828

29+
#if MICROPY_PY_BUILTINS_FILTER
30+
2931
typedef struct _mp_obj_filter_t {
3032
mp_obj_base_t base;
3133
mp_obj_t fun;
@@ -66,3 +68,5 @@ const mp_obj_type_t mp_type_filter = {
6668
.getiter = mp_identity,
6769
.iternext = filter_iternext,
6870
};
71+
72+
#endif // MICROPY_PY_BUILTINS_FILTER

py/qstrdefs.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,9 @@ Q(exec)
205205
#if MICROPY_PY_BUILTINS_EXECFILE
206206
Q(execfile)
207207
#endif
208+
#if MICROPY_PY_BUILTINS_FILTER
208209
Q(filter)
210+
#endif
209211
#if MICROPY_PY_BUILTINS_FLOAT
210212
Q(float)
211213
#endif

unix/mpconfigport_minimal.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@
5050
#define MICROPY_PY_BUILTINS_MEMORYVIEW (0)
5151
#define MICROPY_PY_BUILTINS_COMPILE (0)
5252
#define MICROPY_PY_BUILTINS_ENUMERATE (0)
53+
#define MICROPY_PY_BUILTINS_FILTER (0)
5354
#define MICROPY_PY_BUILTINS_FROZENSET (0)
5455
#define MICROPY_PY_BUILTINS_REVERSED (0)
5556
#define MICROPY_PY_BUILTINS_SET (0)

0 commit comments

Comments
 (0)