[vmkit-commits] [vmkit] r180555 - Working on updates.

Peter Senna Tschudin peter.senna at gmail.com
Thu Apr 25 10:25:13 PDT 2013


Author: peter.senna
Date: Thu Apr 25 12:23:43 2013
New Revision: 180555

URL: http://llvm.org/viewvc/llvm-project?rev=180555&view=rev
Log:
Working on updates.
(cherry picked from commit 7c6fdd9c3fed3faf7d8a262812a1be5d147de7a8)

Modified:
    vmkit/trunk/lib/j3/VMCore/Jnjvm.h
    vmkit/trunk/lib/j3/VMCore/JnjvmClassLoader.cpp
    vmkit/trunk/lib/j3/VMCore/JnjvmClassLoader.h
    vmkit/trunk/lib/j3/VMCore/JnjvmIntOSGi.cpp

Modified: vmkit/trunk/lib/j3/VMCore/Jnjvm.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/j3/VMCore/Jnjvm.h?rev=180555&r1=180554&r2=180555&view=diff
==============================================================================
--- vmkit/trunk/lib/j3/VMCore/Jnjvm.h (original)
+++ vmkit/trunk/lib/j3/VMCore/Jnjvm.h Thu Apr 25 12:23:43 2013
@@ -375,8 +375,6 @@ public:
 
   void setBundleStaleReferenceCorrected(int64_t bundleID, bool corrected);
   bool isBundleStaleReferenceCorrected(int64_t bundleID);
-  void dumpClassLoaders(const classLoadersListType& class_loaders);
-  void dumpBundleClassLoaders(int64_t bundleID);
   void dumpClassLoaderBundles();
 //  class ArrayLong* getReferencesToObject(const JavaObject* obj);
 

Modified: vmkit/trunk/lib/j3/VMCore/JnjvmClassLoader.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/j3/VMCore/JnjvmClassLoader.cpp?rev=180555&r1=180554&r2=180555&view=diff
==============================================================================
--- vmkit/trunk/lib/j3/VMCore/JnjvmClassLoader.cpp (original)
+++ vmkit/trunk/lib/j3/VMCore/JnjvmClassLoader.cpp Thu Apr 25 12:23:43 2013
@@ -879,13 +879,7 @@ const UTF8* JnjvmClassLoader::readerCons
 JnjvmClassLoader::~JnjvmClassLoader() {
 
 #if RESET_STALE_REFERENCES
-
-#if DEBUG_VERBOSE_CLASS_LOADER_UNLOADING
-  cerr << "Bundle class loader unloaded, bundleID=" << this->getAssociatedBundleID() << endl;
-#endif
-
   vm->removeClassLoaderFromBundles(this);
-
 #endif
 
   if (vm) {
@@ -1146,11 +1140,6 @@ ArrayObject* JnjvmBootstrapLoader::getBo
 
 #if RESET_STALE_REFERENCES
 
-int64_t JnjvmClassLoader::getAssociatedBundleID()
-{
-	return vm->getClassLoaderBundleID(this);
-}
-
 void JnjvmClassLoader::setAssociatedBundleID(int64_t newID)
 {
 	vm->addBundleClassLoader(newID, this);

Modified: vmkit/trunk/lib/j3/VMCore/JnjvmClassLoader.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/j3/VMCore/JnjvmClassLoader.h?rev=180555&r1=180554&r2=180555&view=diff
==============================================================================
--- vmkit/trunk/lib/j3/VMCore/JnjvmClassLoader.h (original)
+++ vmkit/trunk/lib/j3/VMCore/JnjvmClassLoader.h Thu Apr 25 12:23:43 2013
@@ -352,7 +352,6 @@ public:
   void setStaleReferencesCorrectionEnabled(bool enable) {staleRefCorrected = enable;}
 
   // This bridges the OSGi world (bundles) to the Java world (class loaders).
-  int64_t getAssociatedBundleID();
   void setAssociatedBundleID(int64_t newID);
 
 #endif

Modified: vmkit/trunk/lib/j3/VMCore/JnjvmIntOSGi.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/j3/VMCore/JnjvmIntOSGi.cpp?rev=180555&r1=180554&r2=180555&view=diff
==============================================================================
--- vmkit/trunk/lib/j3/VMCore/JnjvmIntOSGi.cpp (original)
+++ vmkit/trunk/lib/j3/VMCore/JnjvmIntOSGi.cpp Thu Apr 25 12:23:43 2013
@@ -19,6 +19,39 @@ using namespace std;
 
 namespace j3 {
 
+
+std::ostream& operator << (
+	std::ostream& os, const Jnjvm::classLoadersListType& obj)
+{
+	Jnjvm::classLoadersListType::const_iterator
+		i = obj.begin(), e = obj.end();
+	for (; i != e; ++i)
+		os << " " << (*i);
+	return os;
+}
+
+std::ostream& operator << (
+	std::ostream& os, const Jnjvm::bundleClassLoadersType::value_type& obj)
+{
+	return os << "bundleID=" << obj.first
+		<< " classLoaders={" << obj.second << "}" << endl;
+}
+
+std::ostream& operator << (
+	std::ostream& os, const j3::Jnjvm::bundleClassLoadersType& obj)
+{
+	Jnjvm::bundleClassLoadersType::const_iterator
+		i = obj.begin(), e = obj.end();
+	for (; i != e; ++i)
+		os << *i;
+	return os;
+}
+
+void Jnjvm::dumpClassLoaderBundles()
+{
+	cerr << bundleClassLoaders;
+}
+
 void Jnjvm::setBundleStaleReferenceCorrected(int64_t bundleID, bool corrected)
 {
 	classLoadersListType class_loaders;
@@ -75,7 +108,8 @@ void Jnjvm::notifyBundleUninstalled(int6
 	}
 
 #if DEBUG_VERBOSE_STALE_REF
-	cerr << "Bundle uninstalled: bundleID=" << bundleID << endl;
+	cerr << "Bundle uninstalled: bundleID=" << bundleID
+		<< " classLoaders={" << bundleClassLoaders[bundleID] << "}";
 #endif
 
 	scanStaleReferences = true;		// Enable stale references scanning
@@ -90,7 +124,7 @@ void Jnjvm::notifyBundleUpdated(int64_t
 
 #if DEBUG_VERBOSE_STALE_REF
 	cerr << "Bundle updated: bundleID=" << bundleID
-		<< ", previousClassLoaders:";
+		<< " classLoaders={" << bundleClassLoaders[bundleID] << "}";
 #endif
 
 	// Mark previous bundle's class loaders as a zombies.
@@ -105,49 +139,12 @@ void Jnjvm::notifyBundleUpdated(int64_t
 	for (; i != e; ++i) {
 		if ((**i).isStaleReferencesCorrectionEnabled())
 			(**i).markZombie(true);
-
-#if DEBUG_VERBOSE_STALE_REF
-		cerr << " " << (*i);
-#endif
 	}
 
-#if DEBUG_VERBOSE_STALE_REF
-	cerr << endl;
-#endif
-
 	scanStaleReferences = true;		// Enable stale references scanning
 	vmkit::Collector::collect();	// Start a garbage collection now
 }
 
-void Jnjvm::dumpClassLoaders(const classLoadersListType& class_loaders)
-{
-	classLoadersListType::const_iterator
-		j = class_loaders.begin(),
-		je = class_loaders.end();
-
-	for (; j != je; ++j)
-		cerr << " " << (*j);
-}
-
-void Jnjvm::dumpBundleClassLoaders(int64_t bundleID)
-{
-	cerr << "bundleID=" << bundleID << " classLoaders:";
-	dumpClassLoaders(bundleClassLoaders[bundleID]);
-	cerr << endl;
-}
-
-void Jnjvm::dumpClassLoaderBundles()
-{
-	bundleClassLoadersType::const_iterator
-		i = bundleClassLoaders.begin(),
-		ie = bundleClassLoaders.end();
-	classLoadersListType::const_iterator j, je;
-
-	cerr << "bundleID=" << i->first << " classLoaders:";
-	for (; i != ie; ++i)
-		dumpClassLoaders(i->second);
-	cerr << endl;
-}
 /*
 ArrayLong* Jnjvm::getReferencesToObject(const JavaObject* obj)
 {
@@ -227,7 +224,11 @@ void Jnjvm::addBundleClassLoader(int64_t
 	if (std::find(b, e, loader) != e) return;
 
 	class_loaders.push_front(loader);
-	dumpBundleClassLoaders(bundleID);
+
+#if DEBUG_VERBOSE_STALE_REF
+	cerr << "Bundle installed/updated: bundleID=" << bundleID
+		<< " classLoaders={" << class_loaders << "}" << endl;
+#endif
 }
 
 void Jnjvm::removeClassLoaderFromBundles(JnjvmClassLoader* loader)
@@ -246,7 +247,9 @@ void Jnjvm::removeClassLoaderFromBundles
 
 	i->second.remove(loader);
 
-	dumpBundleClassLoaders(i->first);
+#if DEBUG_VERBOSE_STALE_REF
+	cerr << "Bundle uninstalled: " << *i;
+#endif
 
 	if (i->second.size() == 0)
 		bundleClassLoaders.erase(i->first);





More information about the vmkit-commits mailing list