Move BinderProxy serialization into Java.
The BinderProxy class is not thread-safe, and all calls into it were serialized by holding gProxyLock from JNI code. More recently, we've been wanting to access BinderProxy from Java code directly, and having the lock in native complicated things. This change removes the lock in native code and adds it in the Java layer. A benefit of this change is that it reduces the scope of where a lock is held. On the flip side, we no longer have a cached BinderProxyNativeData object lying around. This means we now allocate/free a BinderProxyNativeData even if we already have a Java object lying around for the native object, which can happen quite frequently. But we deem the impact of this to be acceptable. Bug: 109888955 Test: sailfish builds, boots, proxy warnings still show Change-Id: If2f4dbe5486ec7af0ef8ea42d24ac3a4330cc05a
Loading
Please register or sign in to comment