938e1d51c4
Summary: @public ShadowNode class is designed to share `props` and `children` objects between instances. Given that all *Props classes are immutable, it's very easy to share them and we do this from the day one. The `children_` collection is more tricky though because ShadowNode class has a couple of mutation methods. Previously, we dealt with it very simply by copying the whole vector in constructors, and that was far from optimal. Now we store a special flag that indicates that the children list is shared among nodes, and we clone this before the first mutation. Sharing a `shared_ptr` should be much more efficient (cost of atomic refcount increment) than instantiating whole new collection (an allocation). Reviewed By: mdvacca Differential Revision: D8988386 fbshipit-source-id: cb2f6b2fccac70a35e070a1aa108d135f77cd041 |
||
---|---|---|
.. | ||
componentdescriptor | ||
layout | ||
primitives | ||
shadownode | ||
tests | ||
BUCK | ||
conversions.h | ||
propsConversions.h |