diff --git a/rsObjectBase.cpp b/rsObjectBase.cpp
index bf5d3b5..0a0961f 100644
--- a/rsObjectBase.cpp
+++ b/rsObjectBase.cpp
@@ -41,7 +41,7 @@
 }
 
 ObjectBase::~ObjectBase() {
-    //ALOGV("~ObjectBase %p  ref %i,%i", this, mUserRefCount, mSysRefCount);
+    //ALOGE("~ObjectBase %p  ref %i,%i", this, mUserRefCount, mSysRefCount);
 #if RS_OBJECT_DEBUG
     mDH->dump();
     delete mDH;
@@ -178,7 +178,6 @@
 
     rsAssert(!mNext);
     rsAssert(!mPrev);
-    //ALOGV("calling add  rsc %p", mRSC);
     mNext = mRSC->mObjHead;
     if (mRSC->mObjHead) {
         mRSC->mObjHead->mPrev = this;
@@ -189,7 +188,6 @@
 }
 
 void ObjectBase::remove() const {
-    //ALOGV("calling remove  rsc %p", mRSC);
     if (!mRSC) {
         rsAssert(!mPrev);
         rsAssert(!mNext);
@@ -284,3 +282,9 @@
     asyncUnlock();
     return false;
 }
+
+void ObjectBase::callUpdateCacheObject(const Context *rsc, void *dstObj) const {
+    //ALOGE("ObjectBase::callUpdateCacheObject %p  %p", this, dstObj);
+    *((const void **)dstObj) = this;
+}
+
