added flag for useBatchingForLayoutOutputs experiment

Summary:
Using a config flag to switch between different implementations of transferring layout outputs
- YogaNodeJNI uses multiple access of java fields to pass all properties like width, height, margin etc...
- YogaNodeJNIBatching uses a float array to pass all the data in one java field access

Reviewed By: davidaurelio

Differential Revision: D14378301

fbshipit-source-id: 0da5b28e6a67ad8fd60eb7efe622d9b2deaf177f
This commit is contained in:
Sidharth Guglani
2019-04-01 06:11:51 -07:00
committed by Facebook Github Bot
parent c11faf2d56
commit 74ce5afd9e
5 changed files with 17 additions and 9 deletions

View File

@@ -22,14 +22,14 @@ public abstract class YogaNodeJNIBase extends YogaNode {
@Nullable private Object mData;
public YogaNodeJNIBase() {
mNativePointer = YogaNative.jni_YGNodeNew();
mNativePointer = YogaNative.jni_YGNodeNew(YogaConfig.useBatchingForLayoutOutputs);
if (mNativePointer == 0) {
throw new IllegalStateException("Failed to allocate native memory");
}
}
public YogaNodeJNIBase(YogaConfig config) {
mNativePointer = YogaNative.jni_YGNodeNewWithConfig(config.mNativePointer);
mNativePointer = YogaNative.jni_YGNodeNewWithConfig(config.mNativePointer, YogaConfig.useBatchingForLayoutOutputs);
if (mNativePointer == 0) {
throw new IllegalStateException("Failed to allocate native memory");
}