Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix(core): don't coerce all producers to consumers on liveness change (…
…#56140) When a consumer switches its liveness state, it gets added to / removed from the consumer list of all of its producers. This operation is transitive, so if its producer is *also* a consumer and *its* liveness state is switched, then the change is applied recursively. Note that this only matters *if* the producer is also a consumer. However, the logic in `producerAddLiveConsumer` / `producerRemoveLiveConsumerAtIndex` coerced the producer node into a producer & consumer node, which allocated extra arrays into the node structure that are never used. This didn't affect correctness, but increased the memory usage of plain signal nodes (which are just producers, never consumers). This fix changes the logic in those operations to simply check if a producer is also a consumer instead of coercing it into one. PR Close #56140
- Loading branch information