Simplify memory model between managed and unmanaged memory

Summary: Instead of having different lifetimes for java and c memory we can can tie them together and make them much easier to manage. This also leads to automatically pooling native memory if pooling java memory.

Differential Revision: D4051454

fbshipit-source-id: 8f5d010be520b3d1c981a7f85e5e6d95773ea6c1
This commit is contained in:
Emil Sjolander
2016-10-24 10:35:41 -07:00
committed by Facebook Github Bot
parent 4c57029a28
commit 69c374e74e
9 changed files with 47 additions and 264 deletions

View File

@@ -169,6 +169,15 @@ void CSSNodeFreeRecursive(const CSSNodeRef root) {
CSSNodeFree(root);
}
void CSSNodeReset(const CSSNodeRef node) {
CSS_ASSERT(CSSNodeChildCount(node) == 0, "Cannot reset a node which still has children attached");
CSS_ASSERT(node->parent == NULL, "Cannot reset a node still attached to a parent");
CSSNodeListFree(node->children);
memset(node, 0, sizeof(CSSNode));
CSSNodeInit(node);
}
int32_t CSSNodeGetInstanceCount(void) {
return gNodeInstanceCount;
}