[vmkit-commits] [vmkit] r121253 - in /vmkit/branches/multi-vm/lib/J3: Classpath/ClasspathConstructor.inc Classpath/ClasspathField.inc Classpath/ClasspathMethod.inc VMCore/JavaObject.cpp VMCore/JavaObject.h VMCore/Jnjvm.cpp VMCore/JnjvmClassLoader.cpp VMCore/JnjvmClassLoader.h

Gael Thomas gael.thomas at lip6.fr
Wed Dec 8 05:35:39 PST 2010


Author: gthomas
Date: Wed Dec  8 07:35:39 2010
New Revision: 121253

URL: http://llvm.org/viewvc/llvm-project?rev=121253&view=rev
Log:
remove the field isolate from JnjvmClassLoader

Modified:
    vmkit/branches/multi-vm/lib/J3/Classpath/ClasspathConstructor.inc
    vmkit/branches/multi-vm/lib/J3/Classpath/ClasspathField.inc
    vmkit/branches/multi-vm/lib/J3/Classpath/ClasspathMethod.inc
    vmkit/branches/multi-vm/lib/J3/VMCore/JavaObject.cpp
    vmkit/branches/multi-vm/lib/J3/VMCore/JavaObject.h
    vmkit/branches/multi-vm/lib/J3/VMCore/Jnjvm.cpp
    vmkit/branches/multi-vm/lib/J3/VMCore/JnjvmClassLoader.cpp
    vmkit/branches/multi-vm/lib/J3/VMCore/JnjvmClassLoader.h

Modified: vmkit/branches/multi-vm/lib/J3/Classpath/ClasspathConstructor.inc
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/multi-vm/lib/J3/Classpath/ClasspathConstructor.inc?rev=121253&r1=121252&r2=121253&view=diff
==============================================================================
--- vmkit/branches/multi-vm/lib/J3/Classpath/ClasspathConstructor.inc (original)
+++ vmkit/branches/multi-vm/lib/J3/Classpath/ClasspathConstructor.inc Wed Dec  8 07:35:39 2010
@@ -113,7 +113,7 @@
       Typedef* const* arguments = sign->getArgumentsType();
       // Store the arguments, unboxing primitives if necessary.
       for (sint32 i = 0; i < size; ++i) {
-        JavaObject::decapsulePrimitive(ptr[i], vm, &buf[i], arguments[i]);
+        JavaObject::decapsulePrimitive(ptr[i], &buf[i], arguments[i]);
         if (!arguments[i]->isPrimitive()) {
           buf[i].l = reinterpret_cast<jobject>(&ptr[i]);
         }

Modified: vmkit/branches/multi-vm/lib/J3/Classpath/ClasspathField.inc
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/multi-vm/lib/J3/Classpath/ClasspathField.inc?rev=121253&r1=121252&r2=121253&view=diff
==============================================================================
--- vmkit/branches/multi-vm/lib/J3/Classpath/ClasspathField.inc (original)
+++ vmkit/branches/multi-vm/lib/J3/Classpath/ClasspathField.inc Wed Dec  8 07:35:39 2010
@@ -634,7 +634,6 @@
   BEGIN_NATIVE_EXCEPTION(0)
   
   UserClass* cl = JavaObjectField::getClass(Field);
-  Jnjvm* vm = cl->classLoader->vm;
   JavaField* field = JavaObjectField::getInternalField(Field);
   jvalue buf;
   bool stat = isStatic(field->access);
@@ -647,7 +646,7 @@
   }
  
   const Typedef* type = field->getSignature();
-  JavaObject::decapsulePrimitive(val, vm, &buf, type);
+  JavaObject::decapsulePrimitive(val, &buf, type);
   
 
   if (type->isPrimitive()) {

Modified: vmkit/branches/multi-vm/lib/J3/Classpath/ClasspathMethod.inc
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/multi-vm/lib/J3/Classpath/ClasspathMethod.inc?rev=121253&r1=121252&r2=121253&view=diff
==============================================================================
--- vmkit/branches/multi-vm/lib/J3/Classpath/ClasspathMethod.inc (original)
+++ vmkit/branches/multi-vm/lib/J3/Classpath/ClasspathMethod.inc Wed Dec  8 07:35:39 2010
@@ -146,7 +146,7 @@
     JavaObject** ptr = ArrayObject::getElements(args);
     Typedef* const* arguments = sign->getArgumentsType();
     for (sint32 i = 0; i < size; ++i) {
-      JavaObject::decapsulePrimitive(ptr[i], vm, &buf[i], arguments[i]);
+      JavaObject::decapsulePrimitive(ptr[i], &buf[i], arguments[i]);
       if (!arguments[i]->isPrimitive()) {
         buf[i].l = reinterpret_cast<jobject>(&ptr[i]);
       }

Modified: vmkit/branches/multi-vm/lib/J3/VMCore/JavaObject.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/multi-vm/lib/J3/VMCore/JavaObject.cpp?rev=121253&r1=121252&r2=121253&view=diff
==============================================================================
--- vmkit/branches/multi-vm/lib/J3/VMCore/JavaObject.cpp (original)
+++ vmkit/branches/multi-vm/lib/J3/VMCore/JavaObject.cpp Wed Dec  8 07:35:39 2010
@@ -138,11 +138,13 @@
   return mvm::ThinLock::owner(self, self->getJVM()->lockSystem);
 }
 
-void JavaObject::decapsulePrimitive(JavaObject* obj, Jnjvm *vm, jvalue* buf,
+void JavaObject::decapsulePrimitive(JavaObject* obj, jvalue* buf,
                                     const Typedef* signature) {
 
   llvm_gcroot(obj, 0);
 
+	Jnjvm* vm = obj->getJVM();
+
   if (!signature->isPrimitive()) {
     if (obj && !(getClass(obj)->isOfTypeName(signature->getName()))) {
       vm->illegalArgumentException("wrong type argument");

Modified: vmkit/branches/multi-vm/lib/J3/VMCore/JavaObject.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/multi-vm/lib/J3/VMCore/JavaObject.h?rev=121253&r1=121252&r2=121253&view=diff
==============================================================================
--- vmkit/branches/multi-vm/lib/J3/VMCore/JavaObject.h (original)
+++ vmkit/branches/multi-vm/lib/J3/VMCore/JavaObject.h Wed Dec  8 07:35:39 2010
@@ -293,7 +293,7 @@
   /// decapsulePrimitive - Based on the signature argument, decapsule
   /// obj as a primitive and put it in the buffer.
   ///
-  static void decapsulePrimitive(JavaObject* self, Jnjvm* vm, jvalue* buf,
+  static void decapsulePrimitive(JavaObject* self, jvalue* buf,
                                  const Typedef* signature);
 
   static uint16_t hashCodeGenerator;

Modified: vmkit/branches/multi-vm/lib/J3/VMCore/Jnjvm.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/multi-vm/lib/J3/VMCore/Jnjvm.cpp?rev=121253&r1=121252&r2=121253&view=diff
==============================================================================
--- vmkit/branches/multi-vm/lib/J3/VMCore/Jnjvm.cpp (original)
+++ vmkit/branches/multi-vm/lib/J3/VMCore/Jnjvm.cpp Wed Dec  8 07:35:39 2010
@@ -1343,7 +1343,6 @@
 	lockSystem(Alloc) {
 
   bootstrapLoader = new(Alloc, "bootstrap loader") JnjvmBootstrapLoader(Alloc, this, Comp);
-	bootstrapLoader->isolate = this;
   
   upcalls = new(allocator, "Classpath") Classpath(bootstrapLoader, dlLoad);
 

Modified: vmkit/branches/multi-vm/lib/J3/VMCore/JnjvmClassLoader.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/multi-vm/lib/J3/VMCore/JnjvmClassLoader.cpp?rev=121253&r1=121252&r2=121253&view=diff
==============================================================================
--- vmkit/branches/multi-vm/lib/J3/VMCore/JnjvmClassLoader.cpp (original)
+++ vmkit/branches/multi-vm/lib/J3/VMCore/JnjvmClassLoader.cpp Wed Dec  8 07:35:39 2010
@@ -73,7 +73,6 @@
 JnjvmClassLoader::JnjvmClassLoader(mvm::BumpPtrAllocator& Alloc,
                                    JavaObject* loader,
                                    VMClassLoader* vmdata,
-                                   Jnjvm* I,
 																	 Jnjvm* v) : allocator(Alloc) {
   llvm_gcroot(loader, 0);
   llvm_gcroot(vmdata, 0);
@@ -90,7 +89,6 @@
 
   vmdata->JCL = this;
   javaLoader = loader;
-  isolate = I;
 
   JavaMethod* meth = vm->upcalls->loadInClassLoader;
   loadClassMethod = 
@@ -684,7 +682,7 @@
     if (!vmdata) {
       vmdata = VMClassLoader::allocate(vm);
       mvm::BumpPtrAllocator* A = new mvm::BumpPtrAllocator();
-      JCL = new(*A, "Class loader") JnjvmClassLoader(*A, jloader, vmdata, vm, vm);
+      JCL = new(*A, "Class loader") JnjvmClassLoader(*A, jloader, vmdata, vm);
       upcalls->vmdataClassLoader->setInstanceObjectField(jloader, (JavaObject*)vmdata);
     }
     JavaObject::release(jloader);
@@ -707,11 +705,7 @@
 
 JnjvmClassLoader::~JnjvmClassLoader() {
 
-  if (isolate) {
-    isolate->vmkit->removeMethodInfos(TheCompiler);
-  } else {
-		mvm::Thread::get()->vmkit->removeMethodInfos(TheCompiler);
-	}
+	mvm::Thread::get()->vmkit->removeMethodInfos(TheCompiler);
 
   if (classes) {
     classes->~ClassMap();

Modified: vmkit/branches/multi-vm/lib/J3/VMCore/JnjvmClassLoader.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/multi-vm/lib/J3/VMCore/JnjvmClassLoader.h?rev=121253&r1=121252&r2=121253&view=diff
==============================================================================
--- vmkit/branches/multi-vm/lib/J3/VMCore/JnjvmClassLoader.h (original)
+++ vmkit/branches/multi-vm/lib/J3/VMCore/JnjvmClassLoader.h Wed Dec  8 07:35:39 2010
@@ -52,12 +52,6 @@
 /// table for non-isolate environments.
 ///
 class JnjvmClassLoader : public mvm::PermanentObject {
-private:
-
-  /// isolate - Which isolate defined me? Null for the bootstrap class loader.
-  ///
-  Jnjvm* isolate;
-
 public:
   /// vm - my vm
   ///
@@ -82,7 +76,7 @@
   /// JnjvmClassLoader - Allocate a user-defined class loader. Called on
   /// first use of a Java class loader.
   ///
-  JnjvmClassLoader(mvm::BumpPtrAllocator& Alloc, JavaObject* loader, VMClassLoader* vmdata, Jnjvm* isolate, Jnjvm* vm);
+  JnjvmClassLoader(mvm::BumpPtrAllocator& Alloc, JavaObject* loader, VMClassLoader* vmdata, Jnjvm* vm);
 
   /// lookupComponentName - Try to find the component name of the given array
   /// name. If the component name is not in the table of UTF8s and holder
@@ -283,21 +277,21 @@
   /// insertAllMethodsInVM - Insert all methods defined by this class loader
   /// in the VM.
   ///
-  void insertAllMethodsInVM(Jnjvm* vm);
+  void insertAllMethodsInVM();
 
   /// loadLibFromJar - Try to load the shared library compiled by vmjc with
   /// this jar file.
   ///
-  void loadLibFromJar(Jnjvm* vm, const char* name, const char* file);
+  void loadLibFromJar(const char* name, const char* file);
 
   /// loadLibFromFile - Try to load the shared library compiled by vmjc with
   /// this class file.
   ///
-  void loadLibFromFile(Jnjvm* vm, const char* name);
+  void loadLibFromFile(const char* name);
   
   /// loadClassFromSelf - Load the main class if we are an executable.
   ///
-  Class* loadClassFromSelf(Jnjvm* vm, const char* name);
+  Class* loadClassFromSelf(const char* name);
 
   friend class Class;
 };





More information about the vmkit-commits mailing list