summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorColin Cross <ccross@android.com>2018-11-04 17:38:26 -0800
committerandroid-build-merger <android-build-merger@google.com>2018-11-04 17:38:26 -0800
commitf5796f950186a249382cb1228b6cd18925695cd1 (patch)
tree3051722967d7e366594b8c84f1ffb76780985f33
parent560791a7ac29d9e6691b248e6ace30fd142d40c6 (diff)
parent7664db57a53476f84f46128d6258c476433e7734 (diff)
downloadprotobuf-javalite-f5796f950186a249382cb1228b6cd18925695cd1.tar.gz
Remove unused reference to missing sun.misc.Unsafe method
am: 7664db57a5 Change-Id: Ifa6ec20fbb5f4bd5d7581aa93a5161c1c49d3aad
-rw-r--r--java/core/src/main/java/com/google/protobuf/UnsafeUtil.java17
1 files changed, 13 insertions, 4 deletions
diff --git a/java/core/src/main/java/com/google/protobuf/UnsafeUtil.java b/java/core/src/main/java/com/google/protobuf/UnsafeUtil.java
index 6a4787d1..051fffc9 100644
--- a/java/core/src/main/java/com/google/protobuf/UnsafeUtil.java
+++ b/java/core/src/main/java/com/google/protobuf/UnsafeUtil.java
@@ -73,10 +73,19 @@ final class UnsafeUtil {
UNSAFE.putByte(target, offset, value);
}
- static void copyMemory(
- byte[] src, long srcOffset, byte[] target, long targetOffset, long length) {
- UNSAFE.copyMemory(src, srcOffset, target, targetOffset, length);
- }
+ // BEGIN Android-removed
+ // This method doesn't exist in sun.misc.Unsafe in Android, and leaving the
+ // dangling reference causes soft-verification errors when a jarjar'd version
+ // of libprotobuf-java-lite is included in the bootclasspath:
+ // Soft verification failures in void com.android.framework.protobuf.UnsafeUtil.copyMemory(byte[], long, byte[], long, long)
+ // void com.android.framework.protobuf.UnsafeUtil.copyMemory(byte[], long, byte[], long, long): [0x7] couldn't find method sun.misc.Unsafe.copyMemory ([BJ[BJJ)V
+ // This method is unused in the current open-source implementation of the
+ // protobuf lite runtime, so just remove it for now.
+ //static void copyMemory(
+ // byte[] src, long srcOffset, byte[] target, long targetOffset, long length) {
+ // UNSAFE.copyMemory(src, srcOffset, target, targetOffset, length);
+ //}
+ // END Android-removed
static long getLong(byte[] target, long offset) {
return UNSAFE.getLong(target, offset);