Reuse SIRT for C++ references
Change-Id: I8310e55da42f55f7ec60f6b17face436c77a979f
diff --git a/src/common_test.h b/src/common_test.h
index fc02a49..3f56aab 100644
--- a/src/common_test.h
+++ b/src/common_test.h
@@ -297,14 +297,6 @@
return 0;
}
- const ClassLoader* AllocPathClassLoader(const DexFile* dex_file) {
- CHECK(dex_file != NULL);
- class_linker_->RegisterDexFile(*dex_file);
- std::vector<const DexFile*> dex_files;
- dex_files.push_back(dex_file);
- return PathClassLoader::AllocCompileTime(dex_files);
- }
-
const DexFile* OpenTestDexFile(const char* name) {
CHECK(name != NULL);
std::string filename;
@@ -320,17 +312,17 @@
return dex_file;
}
- const ClassLoader* LoadDex(const char* dex_name) {
+ ClassLoader* LoadDex(const char* dex_name) {
const DexFile* dex_file = OpenTestDexFile(dex_name);
CHECK(dex_file != NULL);
loaded_dex_files_.push_back(dex_file);
class_linker_->RegisterDexFile(*dex_file);
std::vector<const DexFile*> class_path;
class_path.push_back(dex_file);
- const ClassLoader* class_loader = PathClassLoader::AllocCompileTime(class_path);
- CHECK(class_loader != NULL);
- Thread::Current()->SetClassLoaderOverride(class_loader);
- return class_loader;
+ SirtRef<ClassLoader> class_loader(PathClassLoader::AllocCompileTime(class_path));
+ CHECK(class_loader.get() != NULL);
+ Thread::Current()->SetClassLoaderOverride(class_loader.get());
+ return class_loader.get();
}
void CompileClass(const ClassLoader* class_loader, const char* class_name) {
@@ -353,7 +345,7 @@
MakeExecutable(runtime_->GetJniStubArray());
}
- void CompileDirectMethod(const ClassLoader* class_loader,
+ void CompileDirectMethod(ClassLoader* class_loader,
const char* class_name,
const char* method_name,
const char* signature) {
@@ -366,7 +358,7 @@
CompileMethod(method);
}
- void CompileVirtualMethod(const ClassLoader* class_loader,
+ void CompileVirtualMethod(ClassLoader* class_loader,
const char* class_name,
const char* method_name,
const char* signature) {