static StringObject* insertString(HashTable* table, u4 key, StringObject* value) { if (dvmIsNonMovingObject(value) == false) { value = (StringObject*)dvmCloneObject(value, ALLOC_NON_MOVING); } void* entry = dvmHashTableLookup(table, key, (void*)value, dvmHashcmpStrings, true); return (StringObject*)entry; }
/* * private Object internalClone() * * Implements most of Object.clone(). */ static void Dalvik_java_lang_Object_internalClone(const u4* args, JValue* pResult) { Object* thisPtr = (Object*) args[0]; Object* clone = dvmCloneObject(thisPtr); dvmReleaseTrackedAlloc(clone, NULL); RETURN_PTR(clone); }
java_lang_Object_p fastiva_Dalvik_java_lang_Object_internalClone(java_lang_Object_p thisPtr, java_lang_Cloneable_p unused) { #endif Object* clone = dvmCloneObject(thisPtr, ALLOC_DONT_TRACK); RETURN_PTR(clone); }