py/obj: Convert make_new into a mp_obj_type_t slot.

Instead of being an explicit field, it's now a slot like all the other
methods.

This is a marginal code size improvement because most types have a make_new
(100/138 on PYBV11), however it improves consistency in how types are
declared, removing the special case for make_new.

Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
This commit is contained in:
Jim Mussared
2022-09-17 00:31:23 +10:00
committed by Damien George
parent 6da41b5900
commit 94beeabd2e
248 changed files with 316 additions and 397 deletions

View File

@@ -130,7 +130,7 @@ MP_DEFINE_CONST_OBJ_TYPE(
machine_hard_i2c_type,
MP_QSTR_I2C,
MP_TYPE_FLAG_NONE,
machine_hard_i2c_make_new,
make_new, machine_hard_i2c_make_new,
print, machine_hard_i2c_print,
protocol, &machine_hard_i2c_p,
locals_dict, &mp_machine_i2c_locals_dict

View File

@@ -289,7 +289,7 @@ MP_DEFINE_CONST_OBJ_TYPE(
machine_pin_type,
MP_QSTR_Pin,
MP_TYPE_FLAG_NONE,
mp_pin_make_new,
make_new, mp_pin_make_new,
print, machine_pin_print,
call, machine_pin_call,
protocol, &machine_pin_pin_p,

View File

@@ -201,7 +201,7 @@ MP_DEFINE_CONST_OBJ_TYPE(
machine_hard_spi_type,
MP_QSTR_SPI,
MP_TYPE_FLAG_NONE,
machine_hard_spi_make_new,
make_new, machine_hard_spi_make_new,
print, machine_hard_spi_print,
protocol, &machine_hard_spi_p,
locals_dict, &mp_machine_spi_locals_dict

View File

@@ -158,7 +158,7 @@ MP_DEFINE_CONST_OBJ_TYPE(
machine_uart_type,
MP_QSTR_UART,
MP_TYPE_FLAG_ITER_IS_STREAM,
machine_uart_make_new,
make_new, machine_uart_make_new,
print, machine_uart_print,
protocol, &uart_stream_p,
locals_dict, &machine_uart_locals_dict

View File

@@ -104,11 +104,11 @@ STATIC void vfs_init(void) {
#ifdef CONFIG_DISK_DRIVER_SDMMC
mp_obj_t args[] = { mp_obj_new_str(CONFIG_SDMMC_VOLUME_NAME, strlen(CONFIG_SDMMC_VOLUME_NAME)) };
bdev = zephyr_disk_access_type.make_new(&zephyr_disk_access_type, ARRAY_SIZE(args), 0, args);
bdev = MP_OBJ_TYPE_GET_SLOT(&zephyr_disk_access_type, make_new)(&zephyr_disk_access_type, ARRAY_SIZE(args), 0, args);
mount_point_str = "/sd";
#elif defined(CONFIG_FLASH_MAP) && FLASH_AREA_LABEL_EXISTS(storage)
mp_obj_t args[] = { MP_OBJ_NEW_SMALL_INT(FLASH_AREA_ID(storage)), MP_OBJ_NEW_SMALL_INT(4096) };
bdev = zephyr_flash_area_type.make_new(&zephyr_flash_area_type, ARRAY_SIZE(args), 0, args);
bdev = MP_OBJ_TYPE_GET_SLOT(&zephyr_flash_area_type, make_new)(&zephyr_flash_area_type, ARRAY_SIZE(args), 0, args);
mount_point_str = "/flash";
#endif

View File

@@ -357,7 +357,7 @@ STATIC MP_DEFINE_CONST_OBJ_TYPE(
socket_type,
MP_QSTR_socket,
MP_TYPE_FLAG_NONE,
socket_make_new,
make_new, socket_make_new,
print, socket_print,
protocol, &socket_stream_p,
locals_dict, &socket_locals_dict

View File

@@ -109,7 +109,7 @@ STATIC MP_DEFINE_CONST_OBJ_TYPE(
sensor_type,
MP_QSTR_Sensor,
MP_TYPE_FLAG_NONE,
sensor_make_new,
make_new, sensor_make_new,
locals_dict, &sensor_locals_dict
);

View File

@@ -132,7 +132,7 @@ MP_DEFINE_CONST_OBJ_TYPE(
zephyr_disk_access_type,
MP_QSTR_DiskAccess,
MP_TYPE_FLAG_NONE,
zephyr_disk_access_make_new,
make_new, zephyr_disk_access_make_new,
print, zephyr_disk_access_print,
locals_dict, &zephyr_disk_access_locals_dict
);
@@ -254,7 +254,7 @@ MP_DEFINE_CONST_OBJ_TYPE(
zephyr_flash_area_type,
MP_QSTR_FlashArea,
MP_TYPE_FLAG_NONE,
zephyr_flash_area_make_new,
make_new, zephyr_flash_area_make_new,
print, zephyr_flash_area_print,
locals_dict, &zephyr_flash_area_locals_dict
);