micropython/extmod
Jim Mussared 6da41b5900 py/obj: Merge getiter and iternext mp_obj_type_t slots.
The goal here is to remove a slot (making way to turn make_new into a slot)
as well as reduce code size by the ~40 references to mp_identity_getiter
and mp_stream_unbuffered_iter.

This introduces two new type flags:
- MP_TYPE_FLAG_ITER_IS_ITERNEXT: This means that the "iter" slot in the
  type is "iternext", and should use the identity getiter.
- MP_TYPE_FLAG_ITER_IS_CUSTOM: This means that the "iter" slot is a pointer
  to a mp_getiter_iternext_custom_t instance, which then defines both
  getiter and iternext.

And a third flag that is the OR of both, MP_TYPE_FLAG_ITER_IS_STREAM: This
means that the type should use the identity getiter, and
mp_stream_unbuffered_iter as iternext.

Finally, MP_TYPE_FLAG_ITER_IS_GETITER is defined as a no-op flag to give
the default case where "iter" is "getiter".

Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2022-09-19 19:06:13 +10:00
..
axtls-include
btstack extmod/modbluetooth: Replace def_handle with end_handle in char IRQ. 2022-09-09 11:24:24 +10:00
lwip-include
nimble extmod/modbluetooth: Replace def_handle with end_handle in char IRQ. 2022-09-09 11:24:24 +10:00
uasyncio all: Update all manifest.py files to use new features. 2022-09-05 18:43:18 +10:00
extmod.cmake extmod: Always use custom mbedtls error message code. 2022-07-18 22:55:22 +10:00
extmod.mk extmod: Always use custom mbedtls error message code. 2022-07-18 22:55:22 +10:00
font_petme128_8x8.h
machine_bitstream.c
machine_bitstream.h
machine_i2c.c py/obj: Add accessors for type slots and use everywhere. 2022-09-19 19:06:07 +10:00
machine_i2c.h
machine_mem.c all: Make all mp_obj_type_t defs use MP_DEFINE_CONST_OBJ_TYPE. 2022-09-19 19:06:01 +10:00
machine_mem.h
machine_pinbase.c all: Make all mp_obj_type_t defs use MP_DEFINE_CONST_OBJ_TYPE. 2022-09-19 19:06:01 +10:00
machine_pinbase.h
machine_pulse.c
machine_pulse.h
machine_pwm.c all: Make all mp_obj_type_t defs use MP_DEFINE_CONST_OBJ_TYPE. 2022-09-19 19:06:01 +10:00
machine_pwm.h
machine_signal.c py/obj: Add accessors for type slots and use everywhere. 2022-09-19 19:06:07 +10:00
machine_signal.h
machine_spi.c py/obj: Add accessors for type slots and use everywhere. 2022-09-19 19:06:07 +10:00
machine_spi.h
misc.h
modbluetooth.c all: Remove unnecessary locals_dict cast. 2022-09-19 19:06:01 +10:00
modbluetooth.h extmod/modbluetooth: Replace def_handle with end_handle in char IRQ. 2022-09-09 11:24:24 +10:00
modbtree.c py/obj: Merge getiter and iternext mp_obj_type_t slots. 2022-09-19 19:06:13 +10:00
modframebuf.c py/obj: Add "full" and "empty" non-variable-length mp_obj_type_t. 2022-09-19 19:06:04 +10:00
modlwip.c all: Remove unnecessary locals_dict cast. 2022-09-19 19:06:01 +10:00
modnetwork.c extmod/modnetwork: Use MP_REGISTER_ROOT_POINTER(). 2022-07-18 13:50:25 +10:00
modnetwork.h py/obj: Add "full" and "empty" non-variable-length mp_obj_type_t. 2022-09-19 19:06:04 +10:00
modonewire.c
moduasyncio.c py/obj: Merge getiter and iternext mp_obj_type_t slots. 2022-09-19 19:06:13 +10:00
modubinascii.c py/objstr: Split mp_obj_str_from_vstr into bytes/str versions. 2022-08-26 16:43:55 +10:00
moducryptolib.c all: Remove unnecessary locals_dict cast. 2022-09-19 19:06:01 +10:00
moductypes.c all: Make all mp_obj_type_t defs use MP_DEFINE_CONST_OBJ_TYPE. 2022-09-19 19:06:01 +10:00
moduhashlib.c all: Remove unnecessary locals_dict cast. 2022-09-19 19:06:01 +10:00
moduheapq.c
modujson.c py/objstr: Optimise mp_obj_new_str_from_vstr for known-safe strings. 2022-08-26 16:44:35 +10:00
moduos.c
moduplatform.c
moduplatform.h
modurandom.c
modure.c py/obj: Add "full" and "empty" non-variable-length mp_obj_type_t. 2022-09-19 19:06:04 +10:00
moduselect.c py/obj: Merge getiter and iternext mp_obj_type_t slots. 2022-09-19 19:06:13 +10:00
modusocket.c all: Remove unnecessary locals_dict cast. 2022-09-19 19:06:01 +10:00
modussl_axtls.c py/obj: Merge getiter and iternext mp_obj_type_t slots. 2022-09-19 19:06:13 +10:00
modussl_mbedtls.c py/obj: Merge getiter and iternext mp_obj_type_t slots. 2022-09-19 19:06:13 +10:00
modutimeq.c all: Remove unnecessary locals_dict cast. 2022-09-19 19:06:01 +10:00
moduwebsocket.c all: Remove unnecessary locals_dict cast. 2022-09-19 19:06:01 +10:00
moduwebsocket.h
moduzlib.c all: Remove unnecessary locals_dict cast. 2022-09-19 19:06:01 +10:00
modwebrepl.c all: Remove unnecessary locals_dict cast. 2022-09-19 19:06:01 +10:00
mpbthci.c
mpbthci.h
network_cyw43.c all: Remove unnecessary locals_dict cast. 2022-09-19 19:06:01 +10:00
network_cyw43.h
network_ninaw10.c py/obj: Add "full" and "empty" non-variable-length mp_obj_type_t. 2022-09-19 19:06:04 +10:00
network_wiznet5k.c py/obj: Add accessors for type slots and use everywhere. 2022-09-19 19:06:07 +10:00
uos_dupterm.c extmod/uos_dupterm: Use MP_REGISTER_ROOT_POINTER(). 2022-07-18 13:52:01 +10:00
utime_mphal.c
utime_mphal.h
vfs.c py/obj: Add accessors for type slots and use everywhere. 2022-09-19 19:06:07 +10:00
vfs.h
vfs_blockdev.c
vfs_fat.c all: Remove unnecessary locals_dict cast. 2022-09-19 19:06:01 +10:00
vfs_fat.h
vfs_fat_diskio.c
vfs_fat_file.c py/obj: Merge getiter and iternext mp_obj_type_t slots. 2022-09-19 19:06:13 +10:00
vfs_lfs.c
vfs_lfs.h
vfs_lfsx.c all: Remove unnecessary locals_dict cast. 2022-09-19 19:06:01 +10:00
vfs_lfsx_file.c py/obj: Merge getiter and iternext mp_obj_type_t slots. 2022-09-19 19:06:13 +10:00
vfs_posix.c all: Remove unnecessary locals_dict cast. 2022-09-19 19:06:01 +10:00
vfs_posix.h
vfs_posix_file.c py/obj: Merge getiter and iternext mp_obj_type_t slots. 2022-09-19 19:06:13 +10:00
vfs_reader.c
virtpin.c py/obj: Add accessors for type slots and use everywhere. 2022-09-19 19:06:07 +10:00
virtpin.h