OSDN Git Service

Disable integer sanitization in gcIfManyNewRefs.
authorIvan Lozano <ivanlozano@google.com>
Thu, 2 Nov 2017 21:10:57 +0000 (14:10 -0700)
committerIvan Lozano <ivanlozano@google.com>
Thu, 2 Nov 2017 21:20:06 +0000 (14:20 -0700)
Prevent gcIfManyNewRefs from emitting runtime errors on
integer sanitized builds by disabling unsigned integer overflow
sanitization.

Test: Compiles, device boots.
Bug: 30969751
Change-Id: I90bbf831d03a60b40e047327d633102444058f69

core/jni/android_util_Binder.cpp

index 9f8d288..560c384 100644 (file)
@@ -162,6 +162,7 @@ static std::atomic<uint32_t> gCollectedAtRefs(0);
 // Garbage collect if we've allocated at least GC_INTERVAL refs since the last time.
 // TODO: Consider removing this completely. We should no longer be generating GlobalRefs
 // that are reclaimed as a result of GC action.
+__attribute__((no_sanitize("unsigned-integer-overflow")))
 static void gcIfManyNewRefs(JNIEnv* env)
 {
     uint32_t totalRefs = gNumLocalRefsCreated.load(std::memory_order_relaxed)