diff options
author | Elliott Hughes <enh@google.com> | 2010-09-08 10:38:41 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2010-09-08 10:38:41 -0700 |
commit | cfa590392660fc4a50dc90c456d1fab69e6e0662 (patch) | |
tree | 35edfb25aa51ab010cd62fdb08cca685c69fc9a4 /core/jni | |
parent | 7e0598d066e58ad9cadbd2c654a42563e56adbab (diff) | |
parent | 664c48e991a70d07646d54125e97f579f3a33be4 (diff) | |
download | frameworks_base-cfa590392660fc4a50dc90c456d1fab69e6e0662.zip frameworks_base-cfa590392660fc4a50dc90c456d1fab69e6e0662.tar.gz frameworks_base-cfa590392660fc4a50dc90c456d1fab69e6e0662.tar.bz2 |
am 664c48e9: am 4c7d3f28: Merge "Remove dead code: NIOBuffer." into gingerbread
Merge commit '664c48e991a70d07646d54125e97f579f3a33be4'
* commit '664c48e991a70d07646d54125e97f579f3a33be4':
Remove dead code: NIOBuffer.
Diffstat (limited to 'core/jni')
-rw-r--r-- | core/jni/Android.mk | 1 | ||||
-rw-r--r-- | core/jni/android/graphics/Graphics.cpp | 3 | ||||
-rw-r--r-- | core/jni/android/graphics/NIOBuffer.cpp | 143 | ||||
-rw-r--r-- | core/jni/android/graphics/NIOBuffer.h | 27 |
4 files changed, 0 insertions, 174 deletions
diff --git a/core/jni/Android.mk b/core/jni/Android.mk index cb0bdd3..8310e56 100644 --- a/core/jni/Android.mk +++ b/core/jni/Android.mk @@ -96,7 +96,6 @@ LOCAL_SRC_FILES:= \ android/graphics/MaskFilter.cpp \ android/graphics/Matrix.cpp \ android/graphics/Movie.cpp \ - android/graphics/NIOBuffer.cpp \ android/graphics/NinePatch.cpp \ android/graphics/NinePatchImpl.cpp \ android/graphics/Paint.cpp \ diff --git a/core/jni/android/graphics/Graphics.cpp b/core/jni/android/graphics/Graphics.cpp index 578de6f..72cea65 100644 --- a/core/jni/android/graphics/Graphics.cpp +++ b/core/jni/android/graphics/Graphics.cpp @@ -2,7 +2,6 @@ #include "jni.h" #include "GraphicsJNI.h" -#include "NIOBuffer.h" #include "SkPicture.h" #include "SkRegion.h" #include <android_runtime/AndroidRuntime.h> @@ -650,8 +649,6 @@ int register_android_graphics_Graphics(JNIEnv* env) gVMRuntime_trackExternalFreeMethodID = env->GetMethodID(c, "trackExternalFree", "(J)V"); - NIOBuffer::RegisterJNI(env); - return 0; } diff --git a/core/jni/android/graphics/NIOBuffer.cpp b/core/jni/android/graphics/NIOBuffer.cpp deleted file mode 100644 index cb937a3..0000000 --- a/core/jni/android/graphics/NIOBuffer.cpp +++ /dev/null @@ -1,143 +0,0 @@ -#include "NIOBuffer.h" -#include "GraphicsJNI.h" - -// enable this to dump each time we ref/unref a global java object (buffer) -// -//#define TRACE_GLOBAL_REFS - -//#define TRACE_ARRAY_LOCKS - -static jclass gNIOAccess_classID; -static jmethodID gNIOAccess_getBasePointer; -static jmethodID gNIOAccess_getBaseArray; -static jmethodID gNIOAccess_getBaseArrayOffset; -static jmethodID gNIOAccess_getRemainingBytes; - -void NIOBuffer::RegisterJNI(JNIEnv* env) { - if (0 != gNIOAccess_classID) { - return; // already called - } - - jclass c = env->FindClass("java/nio/NIOAccess"); - gNIOAccess_classID = (jclass)env->NewGlobalRef(c); - - gNIOAccess_getBasePointer = env->GetStaticMethodID(gNIOAccess_classID, - "getBasePointer", "(Ljava/nio/Buffer;)J"); - gNIOAccess_getBaseArray = env->GetStaticMethodID(gNIOAccess_classID, - "getBaseArray", "(Ljava/nio/Buffer;)Ljava/lang/Object;"); - gNIOAccess_getBaseArrayOffset = env->GetStaticMethodID(gNIOAccess_classID, - "getBaseArrayOffset", "(Ljava/nio/Buffer;)I"); - gNIOAccess_getRemainingBytes = env->GetStaticMethodID(gNIOAccess_classID, - "getRemainingBytes", "(Ljava/nio/Buffer;)I"); -} - -/////////////////////////////////////////////////////////////////////////////// - -#ifdef TRACE_GLOBAL_REFS - static int gGlobalRefs; -#endif - -#ifdef TRACE_ARRAY_LOCKS - static int gLockCount; -#endif - -NIOBuffer::NIOBuffer(JNIEnv* env, jobject buffer) { - fBuffer = env->NewGlobalRef(buffer); -#ifdef TRACE_GLOBAL_REFS - SkDebugf("------------ newglobalref bbuffer %X %d\n", buffer, gGlobalRefs++); -#endif - fLockedPtr = NULL; - fLockedArray = NULL; -} - -NIOBuffer::~NIOBuffer() { - // free() needs to have already been called - if (NULL != fBuffer) { - SkDebugf("----- leaked fBuffer in NIOBuffer"); - sk_throw(); - } -} - -void NIOBuffer::free(JNIEnv* env) { - - if (NULL != fLockedPtr) { - SkDebugf("======= free: array still locked %x %p\n", fLockedArray, fLockedPtr); - } - - - if (NULL != fBuffer) { -#ifdef TRACE_GLOBAL_REFS - SkDebugf("----------- deleteglobalref buffer %X %d\n", fBuffer, --gGlobalRefs); -#endif - env->DeleteGlobalRef(fBuffer); - fBuffer = NULL; - } -} - -void* NIOBuffer::lock(JNIEnv* env, int* remaining) { - if (NULL != fLockedPtr) { - SkDebugf("======= lock: array still locked %x %p\n", fLockedArray, fLockedPtr); - } - - fLockedPtr = NULL; - fLockedArray = NULL; - - if (NULL != remaining) { - *remaining = env->CallStaticIntMethod(gNIOAccess_classID, - gNIOAccess_getRemainingBytes, - fBuffer); - if (GraphicsJNI::hasException(env)) { - return NULL; - } - } - - jlong pointer = env->CallStaticLongMethod(gNIOAccess_classID, - gNIOAccess_getBasePointer, - fBuffer); - if (GraphicsJNI::hasException(env)) { - return NULL; - } - if (0 != pointer) { - return reinterpret_cast<void*>(pointer); - } - - fLockedArray = (jbyteArray)env->CallStaticObjectMethod(gNIOAccess_classID, - gNIOAccess_getBaseArray, - fBuffer); - if (GraphicsJNI::hasException(env) || NULL == fLockedArray) { - return NULL; - } - jint offset = env->CallStaticIntMethod(gNIOAccess_classID, - gNIOAccess_getBaseArrayOffset, - fBuffer); - fLockedPtr = env->GetByteArrayElements(fLockedArray, NULL); - if (GraphicsJNI::hasException(env)) { - SkDebugf("------------ failed to lockarray %x\n", fLockedArray); - return NULL; - } -#ifdef TRACE_ARRAY_LOCKS - SkDebugf("------------ lockarray %x %p %d\n", - fLockedArray, fLockedPtr, gLockCount++); -#endif - if (NULL == fLockedPtr) { - offset = 0; - } - return (char*)fLockedPtr + offset; -} - -void NIOBuffer::unlock(JNIEnv* env, bool dataChanged) { - if (NULL != fLockedPtr) { -#ifdef TRACE_ARRAY_LOCKS - SkDebugf("------------ unlockarray %x %p %d\n", - fLockedArray, fLockedPtr, --gLockCount); -#endif - env->ReleaseByteArrayElements(fLockedArray, (jbyte*)fLockedPtr, - dataChanged ? 0 : JNI_ABORT); - - fLockedPtr = NULL; - fLockedArray = NULL; - } else { - SkDebugf("============= unlock called with null ptr %x\n", fLockedArray); - } -} - diff --git a/core/jni/android/graphics/NIOBuffer.h b/core/jni/android/graphics/NIOBuffer.h deleted file mode 100644 index 36b5554..0000000 --- a/core/jni/android/graphics/NIOBuffer.h +++ /dev/null @@ -1,27 +0,0 @@ -#ifndef NIOBuffer_DEFINED -#define NIOBuffer_DEFINED - -#include <jni.h> -#include "SkBitmap.h" - -class NIOBuffer { -public: - NIOBuffer(JNIEnv* env, jobject buffer); - // this checks to ensure that free() was called - ~NIOBuffer(); - - void* lock(JNIEnv* env, int* remaining); - void unlock(JNIEnv* env, bool dataChanged); - // must be called before destructor - void free(JNIEnv* env); - - // call once on boot, to setup JNI globals - static void RegisterJNI(JNIEnv*); - -private: - jobject fBuffer; - void* fLockedPtr; - jbyteArray fLockedArray; -}; - -#endif |