[vmkit-commits] [vmkit] r180324 - Added management stress test to show the memory leak due to stale references.
Peter Senna Tschudin
peter.senna at gmail.com
Thu Apr 25 09:56:40 PDT 2013
Author: peter.senna
Date: Thu Apr 25 11:55:10 2013
New Revision: 180324
URL: http://llvm.org/viewvc/llvm-project?rev=180324&view=rev
Log:
Added management stress test to show the memory leak due to stale references.
(cherry picked from commit 8446b1c2c9c01da79f91a5a287d5c9f111481dfb)
Modified:
vmkit/trunk/lib/j3/VMCore/JnjvmClassLoader.cpp
vmkit/trunk/lib/j3/VMCore/JnjvmIntOSGi.cpp
vmkit/trunk/tests/debug.txt
vmkit/trunk/tests/minimal.xargs
Modified: vmkit/trunk/lib/j3/VMCore/JnjvmClassLoader.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/j3/VMCore/JnjvmClassLoader.cpp?rev=180324&r1=180323&r2=180324&view=diff
==============================================================================
--- vmkit/trunk/lib/j3/VMCore/JnjvmClassLoader.cpp (original)
+++ vmkit/trunk/lib/j3/VMCore/JnjvmClassLoader.cpp Thu Apr 25 11:55:10 2013
@@ -868,6 +868,8 @@ JnjvmClassLoader::~JnjvmClassLoader() {
cerr << "Bundle class loader unloaded, bundleID=" << this->getAssociatedBundleID() << endl;
#endif
+ this->setAssociatedBundleID(-1);
+
if (vm) {
vm->removeFrameInfos(TheCompiler);
}
Modified: vmkit/trunk/lib/j3/VMCore/JnjvmIntOSGi.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/j3/VMCore/JnjvmIntOSGi.cpp?rev=180324&r1=180323&r2=180324&view=diff
==============================================================================
--- vmkit/trunk/lib/j3/VMCore/JnjvmIntOSGi.cpp (original)
+++ vmkit/trunk/lib/j3/VMCore/JnjvmIntOSGi.cpp Thu Apr 25 11:55:10 2013
@@ -7,11 +7,8 @@
#include "ClasspathReflect.h"
#include "j3/jni.h"
-
using namespace std;
-#if RESET_STALE_REFERENCES
-
namespace j3 {
void Jnjvm::dumpClassLoaderBundles()
@@ -63,7 +60,6 @@ void Jnjvm::setBundleClassLoader(int64_t
}
-#endif
using namespace j3;
@@ -76,12 +72,8 @@ extern "C" void Java_j3_vm_OSGi_associat
{
llvm_gcroot(classObject, 0);
-#if RESET_STALE_REFERENCES
-
CommonClass* ccl = JavaObjectClass::getClass(classObject);
ccl->classLoader->setAssociatedBundleID(bundleID);
-
-#endif
}
/*
@@ -91,20 +83,12 @@ extern "C" void Java_j3_vm_OSGi_associat
*/
extern "C" void Java_j3_vm_OSGi_resetReferencesToBundle(jlong bundleID)
{
-#if RESET_STALE_REFERENCES
-
Jnjvm* vm = JavaThread::get()->getJVM();
vm->resetReferencesToBundle(bundleID);
-
-#endif
}
extern "C" void Java_j3_vm_OSGi_dumpClassLoaderBundles()
{
-#if RESET_STALE_REFERENCES
-
Jnjvm* vm = JavaThread::get()->getJVM();
vm->dumpClassLoaderBundles();
-
-#endif
}
Modified: vmkit/trunk/tests/debug.txt
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/tests/debug.txt?rev=180324&r1=180323&r2=180324&view=diff
==============================================================================
--- vmkit/trunk/tests/debug.txt (original)
+++ vmkit/trunk/tests/debug.txt Thu Apr 25 11:55:10 2013
@@ -1,25 +1,12 @@
+/home/koutheir/PhD/VMKit/vmkit_stale_ref/Debug+Asserts/bin/j3 -jar framework.jar -xargs /home/koutheir/PhD/VMKit/vmkit_stale_ref/tests/minimal.xargs
+
framework call j3.J3Mgr resetReferencesToBundle ijvm.tests.AImpl
framework call j3.J3Mgr resetReferencesToBundle ijvm.tests.Runner
framework meminfo -gc
-enter framework
-
-stop 13
-uninstall 13
-install file:///home/koutheir/PhD/VMKit/vmkit_stale_ref/tests/plugins/ijvm.tests.AImpl_1.0.0.jar
+bundles
start 18
-stop 18
-uninstall 18
-install file:///home/koutheir/PhD/VMKit/vmkit_stale_ref/tests/plugins/ijvm.tests.AImpl_1.0.0.jar
-start 19
-
-stop 19
-uninstall 19
-install file:///home/koutheir/PhD/VMKit/vmkit_stale_ref/tests/plugins/ijvm.tests.AImpl_1.0.0.jar
-start 20
-
-
-/home/koutheir/PhD/VMKit/vmkit_stale_ref/Debug+Asserts/bin/j3 -jar framework.jar -xargs /home/koutheir/PhD/VMKit/vmkit_stale_ref/tests/minimal.xargs
+framework call j3.J3Mgr dumpClassLoaderBundles
Modified: vmkit/trunk/tests/minimal.xargs
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/tests/minimal.xargs?rev=180324&r1=180323&r2=180324&view=diff
==============================================================================
--- vmkit/trunk/tests/minimal.xargs (original)
+++ vmkit/trunk/tests/minimal.xargs Thu Apr 25 11:55:10 2013
@@ -31,3 +31,5 @@
-istart file:///home/koutheir/PhD/VMKit/vmkit_stale_ref/tests/plugins/ijvm.tests.DImpl_1.0.0.jar
-install file:///home/koutheir/PhD/VMKit/vmkit_stale_ref/tests/plugins/ijvm.tests.Runner_1.0.0.jar
+
+-install file:///home/koutheir/PhD/VMKit/vmkit_stale_ref/tests/plugins/ijvm.tests.BundleMgmtStress_1.0.0.jar
More information about the vmkit-commits
mailing list