Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add ZAP helper for detecting fabric-scoped structs. #15281

Merged

Conversation

bzbarsky-apple
Copy link
Contributor

We want to condition some codegen on whether a type is a fabric-scoped
struct.

Problem

Can't do special fabric-y things for fabric-scoped stuff easily in codegen.

Change overview

Add a way to do it ... if not easily, then at least somewhat.

Testing

Checked that if I do this for event fields it catches just the ACL event bits that use fabric-scoped structs.

We want to condition some codegen on whether a type is a fabric-scoped
struct.
@github-actions
Copy link

github-actions bot commented Feb 16, 2022

PR #15281: Size comparison from 72896fc to 89ec203

Full report (34 builds for cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
platform target config section 72896fc 89ec203 change % change
cyw30739 light cyw930739m2evb_01 (read/write) 597326 597326 0 0.0
.app_xip_area 501244 501244 0 0.0
.bss 78780 78780 0 0.0
.data 644 644 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
lock cyw930739m2evb_01 (read/write) 555266 555266 0 0.0
.app_xip_area 460752 460752 0 0.0
.bss 77252 77252 0 0.0
.data 608 608 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
ota-requestor cyw930739m2evb_01 (read/write) 576378 576378 0 0.0
.app_xip_area 472432 472432 0 0.0
.bss 86356 86356 0 0.0
.data 552 552 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
efr32 lighting-app BRD4161A (read only) 914204 914204 0 0.0
(read/write) 129524 129524 0 0.0
.bss 127488 127488 0 0.0
.data 2036 2036 0 0.0
.text 914196 914196 0 0.0
BRD4161A+rpc (read only) 942896 942896 0 0.0
(read/write) 146440 146440 0 0.0
.bss 144264 144264 0 0.0
.data 2176 2176 0 0.0
.text 942888 942888 0 0.0
window-app BRD4161A (read only) 848064 848064 0 0.0
(read/write) 127416 127416 0 0.0
.bss 125512 125512 0 0.0
.data 1904 1904 0 0.0
.text 848056 848056 0 0.0
esp32 all-clusters-app c3devkit (read only) 947660 947660 0 0.0
(read/write) 1401170 1401170 0 0.0
.dram0.bss 68296 68296 0 0.0
.dram0.data 14268 14268 0 0.0
.flash.rodata 199704 199704 0 0.0
.flash.text 947660 947660 0 0.0
.iram0.text 62056 62056 0 0.0
m5stack (read only) 997411 997411 0 0.0
(read/write) 466412 466412 0 0.0
.dram0.bss 73432 73432 0 0.0
.dram0.data 34064 34064 0 0.0
.flash.rodata 226788 226788 0 0.0
.flash.text 992027 992027 0 0.0
.iram0.text 123399 123399 0 0.0
k32w light k32w061+release (read/write) 691332 691332 0 0.0
.bss 78384 78384 0 0.0
.data 1912 1912 0 0.0
.text 605236 605236 0 0.0
lock k32w061+release (read/write) 693964 693964 0 0.0
.bss 78600 78600 0 0.0
.data 1952 1952 0 0.0
.text 607612 607612 0 0.0
linux chip-tool-ipv6only arm64 (read only) 8332420 8332420 0 0.0
(read/write) 362609 362609 0 0.0
.bss 58961 58961 0 0.0
.data 1216 1216 0 0.0
.data.rel.ro 249368 249368 0 0.0
.dynamic 560 560 0 0.0
.got 49272 49272 0 0.0
.init 24 24 0 0.0
.init_array 200 200 0 0.0
.rodata 435804 435804 0 0.0
.text 7133924 7133924 0 0.0
thermostat-no-ble arm64 (read only) 2162268 2162268 0 0.0
(read/write) 150737 150737 0 0.0
.bss 67489 67489 0 0.0
.data 1032 1032 0 0.0
.data.rel.ro 75024 75024 0 0.0
.dynamic 560 560 0 0.0
.got 4208 4208 0 0.0
.init 24 24 0 0.0
.init_array 336 336 0 0.0
.rodata 133580 133580 0 0.0
.text 1810064 1810064 0 0.0
mbed all-clusters-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2428444 2428444 0 0.0
.bss 195916 195916 0 0.0
.data 5328 5328 0 0.0
.text 1391016 1391016 0 0.0
lighting-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2391644 2391644 0 0.0
.bss 188448 188448 0 0.0
.data 5632 5632 0 0.0
.text 1354216 1354216 0 0.0
lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2327080 2327080 0 0.0
.bss 187424 187424 0 0.0
.data 5608 5608 0 0.0
.text 1289680 1289680 0 0.0
pigweed-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 1139840 1139840 0 0.0
.bss 11796 11796 0 0.0
.data 4368 4368 0 0.0
.text 103224 103224 0 0.0
shell CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2317916 2317916 0 0.0
.bss 185972 185972 0 0.0
.data 5440 5440 0 0.0
.text 1280488 1280488 0 0.0
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 1022279 1022279 0 0.0
bss 123548 123548 0 0.0
rodata 120660 120660 0 0.0
text 699076 699076 0 0.0
nrf52840dk_nrf52840+rpc (read/write) 991571 991571 0 0.0
bss 120736 120736 0 0.0
rodata 112184 112184 0 0.0
text 678976 678976 0 0.0
nrf52840dongle_nrf52840 (read/write) 1037095 1037095 0 0.0
bss 124768 124768 0 0.0
rodata 119472 119472 0 0.0
text 702968 702968 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 928890 928890 0 0.0
bss 120112 120112 0 0.0
rodata 113900 113900 0 0.0
text 614088 614088 0 0.0
lock-app nrf52840dk_nrf52840 (read/write) 950983 950983 0 0.0
bss 121752 121752 0 0.0
rodata 109356 109356 0 0.0
text 641268 641268 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 858442 858442 0 0.0
bss 118344 118344 0 0.0
rodata 102524 102524 0 0.0
text 557056 557056 0 0.0
pigweed-app nrf52840dk_nrf52840 (read/write) 527595 527595 0 0.0
bss 53632 53632 0 0.0
rodata 49976 49976 0 0.0
text 361016 361016 0 0.0
pump-app nrf52840dk_nrf52840 (read/write) 949431 949431 0 0.0
bss 121472 121472 0 0.0
rodata 108308 108308 0 0.0
text 641088 641088 0 0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 945519 945519 0 0.0
bss 121476 121476 0 0.0
rodata 108004 108004 0 0.0
text 637328 637328 0 0.0
shell nrf52840dk_nrf52840 (read/write) 810767 810767 0 0.0
bss 113324 113324 0 0.0
rodata 79348 79348 0 0.0
text 540444 540444 0 0.0
p6 all-clusters-app default (read/write) 2485928 2485928 0 0.0
.bss 124232 124232 0 0.0
.data 2672 2672 0 0.0
.text 1444192 1444192 0 0.0
light-app default (read/write) 2392816 2392816 0 0.0
.bss 113912 113912 0 0.0
.data 2528 2528 0 0.0
.text 1351080 1351080 0 0.0
lock-app default (read/write) 2356280 2356280 0 0.0
.bss 113640 113640 0 0.0
.data 2488 2488 0 0.0
.text 1314544 1314544 0 0.0
qpg lighting-app qpg6105+debug (read only) 598816 598816 0 0.0
(read/write) 146940 146940 0 0.0
.bss 90744 90744 0 0.0
.data 1112 1112 0 0.0
.text 593496 593496 0 0.0
lock-app qpg6105+debug (read only) 564440 564440 0 0.0
(read/write) 146940 146940 0 0.0
.bss 90728 90728 0 0.0
.data 1064 1064 0 0.0
.text 559120 559120 0 0.0
persistent-storage-app qpg6105+debug (read only) 99520 99520 0 0.0
(read/write) 146940 146940 0 0.0
.bss 24004 24004 0 0.0
.data 176 176 0 0.0
.text 94200 94200 0 0.0
telink lighting-app tlsr9518adk80d (read/write) 877618 877618 0 0.0
bss 87520 87520 0 0.0
noinit 37160 37160 0 0.0
text 618038 618038 0 0.0

@andy31415 andy31415 merged commit 319c152 into project-chip:master Feb 17, 2022
@bzbarsky-apple bzbarsky-apple deleted the fabric-scoped-type-helper branch February 18, 2022 05:53
jamesluo11 pushed a commit to jamesluo11/connectedhomeip that referenced this pull request Apr 26, 2022
We want to condition some codegen on whether a type is a fabric-scoped
struct.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants