[vmkit-commits] [vmkit] r57293 - in /vmkit/trunk/lib/JnJVM: Classpath/ VMCore/

Nicolas Geoffray nicolas.geoffray at lip6.fr
Wed Oct 8 05:42:34 PDT 2008


Author: geoffray
Date: Wed Oct  8 07:42:32 2008
New Revision: 57293

URL: http://llvm.org/viewvc/llvm-project?rev=57293&view=rev
Log:
Fix naming of macros to compile either a regular isolate
environment or a sharing isolate environment.


Modified:
    vmkit/trunk/lib/JnJVM/Classpath/ClasspathConstructor.cpp.inc
    vmkit/trunk/lib/JnJVM/Classpath/ClasspathMethod.cpp.inc
    vmkit/trunk/lib/JnJVM/Classpath/ClasspathVMField.cpp.inc
    vmkit/trunk/lib/JnJVM/Classpath/ClasspathVMRuntime.cpp.inc
    vmkit/trunk/lib/JnJVM/Classpath/ClasspathVMStackWalker.cpp.inc
    vmkit/trunk/lib/JnJVM/Classpath/ClasspathVMThrowable.cpp.inc
    vmkit/trunk/lib/JnJVM/VMCore/JavaArray.h
    vmkit/trunk/lib/JnJVM/VMCore/JavaBacktrace.cpp
    vmkit/trunk/lib/JnJVM/VMCore/JavaCache.cpp
    vmkit/trunk/lib/JnJVM/VMCore/JavaCache.h
    vmkit/trunk/lib/JnJVM/VMCore/JavaClass.cpp
    vmkit/trunk/lib/JnJVM/VMCore/JavaClass.h
    vmkit/trunk/lib/JnJVM/VMCore/JavaConstantPool.cpp
    vmkit/trunk/lib/JnJVM/VMCore/JavaInitialise.cpp
    vmkit/trunk/lib/JnJVM/VMCore/JavaJIT.cpp
    vmkit/trunk/lib/JnJVM/VMCore/JavaJIT.h
    vmkit/trunk/lib/JnJVM/VMCore/JavaJITOpcodes.cpp
    vmkit/trunk/lib/JnJVM/VMCore/JavaRuntimeJIT.cpp
    vmkit/trunk/lib/JnJVM/VMCore/JavaString.cpp
    vmkit/trunk/lib/JnJVM/VMCore/JavaUpcalls.cpp
    vmkit/trunk/lib/JnJVM/VMCore/Jni.cpp
    vmkit/trunk/lib/JnJVM/VMCore/Jnjvm.cpp
    vmkit/trunk/lib/JnJVM/VMCore/Jnjvm.h
    vmkit/trunk/lib/JnJVM/VMCore/JnjvmClassLoader.cpp
    vmkit/trunk/lib/JnJVM/VMCore/JnjvmClassLoader.h
    vmkit/trunk/lib/JnJVM/VMCore/JnjvmConfig.h
    vmkit/trunk/lib/JnJVM/VMCore/JnjvmModule.cpp
    vmkit/trunk/lib/JnJVM/VMCore/JnjvmModule.h
    vmkit/trunk/lib/JnJVM/VMCore/JnjvmModuleProvider.cpp
    vmkit/trunk/lib/JnJVM/VMCore/LowerConstantCalls.cpp
    vmkit/trunk/lib/JnJVM/VMCore/VirtualTables.cpp

Modified: vmkit/trunk/lib/JnJVM/Classpath/ClasspathConstructor.cpp.inc
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/Classpath/ClasspathConstructor.cpp.inc?rev=57293&r1=57292&r2=57293&view=diff

==============================================================================
--- vmkit/trunk/lib/JnJVM/Classpath/ClasspathConstructor.cpp.inc (original)
+++ vmkit/trunk/lib/JnJVM/Classpath/ClasspathConstructor.cpp.inc Wed Oct  8 07:42:32 2008
@@ -34,7 +34,7 @@
 jobject cons) {
   Jnjvm* vm = JavaThread::get()->isolate;
   JavaMethod* meth = (JavaMethod*)(vm->upcalls->constructorSlot->getInt32Field((JavaObject*)cons));
-#ifdef MULTIPLE_VM
+#ifdef ISOLATE_SHARING
   jclass Cl = (jclass)vm->upcalls->constructorClass->getInt32Field((JavaObject*)cons);
   UserCommonClass* cl = NativeUtil::resolvedImplClass(Cl, false);
   JnjvmClassLoader* loader = cl->classLoader;
@@ -116,7 +116,7 @@
   Jnjvm* vm = JavaThread::get()->isolate;
   JavaMethod* meth = (JavaMethod*)vm->upcalls->constructorSlot->getInt32Field((JavaObject*)cons);
   UserClass* cl = 0;
-#ifdef MULTIPLE_VM
+#ifdef ISOLATE_SHARING
     jclass Cl = (jclass)vm->upcalls->methodClass->getInt32Field((JavaObject*)cons);
     cl = (UserClass*)NativeUtil::resolvedImplClass(Cl, false);
 #else

Modified: vmkit/trunk/lib/JnJVM/Classpath/ClasspathMethod.cpp.inc
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/Classpath/ClasspathMethod.cpp.inc?rev=57293&r1=57292&r2=57293&view=diff

==============================================================================
--- vmkit/trunk/lib/JnJVM/Classpath/ClasspathMethod.cpp.inc (original)
+++ vmkit/trunk/lib/JnJVM/Classpath/ClasspathMethod.cpp.inc Wed Oct  8 07:42:32 2008
@@ -43,7 +43,7 @@
  jobject Meth) {
   Jnjvm* vm = JavaThread::get()->isolate;
   JavaMethod* meth = (JavaMethod*)vm->upcalls->methodSlot->getInt32Field((JavaObject*)Meth);
-#ifdef MULTIPLE_VM
+#ifdef ISOLATE_SHARING
   jclass Cl = (jclass)vm->upcalls->methodClass->getInt32Field((JavaObject*)Meth);
   UserCommonClass* cl = NativeUtil::resolvedImplClass(Cl, false);
   JnjvmClassLoader* loader = cl->classLoader;
@@ -62,7 +62,7 @@
                                                                           jobject Meth) {
   Jnjvm* vm = JavaThread::get()->isolate;
   JavaMethod* meth = (JavaMethod*)vm->upcalls->methodSlot->getInt32Field((JavaObject*)Meth);
-#ifdef MULTIPLE_VM
+#ifdef ISOLATE_SHARING
   jclass Cl = (jclass)vm->upcalls->methodClass->getInt32Field((JavaObject*)Meth);
   UserCommonClass* cl = NativeUtil::resolvedImplClass(Cl, false);
   JnjvmClassLoader* loader = cl->classLoader;
@@ -97,7 +97,7 @@
       if (!(obj->classOf->isAssignableFrom(cl))) {
         vm->illegalArgumentExceptionForMethod(meth, cl, obj->classOf);
       }
-#ifdef MULTIPLE_VM
+#ifdef ISOLATE_SHARING
       if (isInterface(cl->classDef->access)) {
         cl = obj->classOf->lookupClassFromMethod(meth);
       } else {
@@ -214,7 +214,7 @@
   Jnjvm* vm = JavaThread::get()->isolate;
   JavaMethod* meth = (JavaMethod*)vm->upcalls->methodSlot->getInt32Field((JavaObject*)_meth);
   UserClass* cl = 0;
-#ifdef MULTIPLE_VM
+#ifdef ISOLATE_SHARING
   jclass Cl = (jclass)vm->upcalls->methodClass->getInt32Field((JavaObject*)_meth);
   cl = (UserClass*)NativeUtil::resolvedImplClass(Cl, false);
 #else

Modified: vmkit/trunk/lib/JnJVM/Classpath/ClasspathVMField.cpp.inc
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/Classpath/ClasspathVMField.cpp.inc?rev=57293&r1=57292&r2=57293&view=diff

==============================================================================
--- vmkit/trunk/lib/JnJVM/Classpath/ClasspathVMField.cpp.inc (original)
+++ vmkit/trunk/lib/JnJVM/Classpath/ClasspathVMField.cpp.inc Wed Oct  8 07:42:32 2008
@@ -21,7 +21,7 @@
 
 
 static UserClass* internalGetClass(Jnjvm* vm, JavaField* field, jobject Field) {
-#ifdef MULTIPLE_VM
+#ifdef ISOLATE_SHARING
   jclass Cl = (jclass)vm->upcalls->fieldClass->getInt32Field((JavaObject*)Field);
   UserClass* cl = (UserClass*)NativeUtil::resolvedImplClass(Cl, false);
   return cl;
@@ -47,13 +47,8 @@
 jobject obj) {
   Jnjvm* vm = JavaThread::get()->isolate;
   JavaField* field = (JavaField*)vm->upcalls->fieldSlot->getInt32Field((JavaObject*)obj);
-#ifdef MULTIPLE_VM
-  jclass Cl = (jclass)vm->upcalls->fieldClass->getInt32Field((JavaObject*)obj);
-  UserClass* fieldCl = (UserClass*)NativeUtil::resolvedImplClass(Cl, false);
+  UserClass* fieldCl = internalGetClass(vm, field, obj);
   JnjvmClassLoader* loader = fieldCl->classLoader;
-#else
-  JnjvmClassLoader* loader = field->classDef->classLoader;
-#endif
   UserCommonClass* cl = field->getSignature()->assocClass(loader);
   return (jclass)cl->getClassDelegatee(vm);
 }

Modified: vmkit/trunk/lib/JnJVM/Classpath/ClasspathVMRuntime.cpp.inc
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/Classpath/ClasspathVMRuntime.cpp.inc?rev=57293&r1=57292&r2=57293&view=diff

==============================================================================
--- vmkit/trunk/lib/JnJVM/Classpath/ClasspathVMRuntime.cpp.inc (original)
+++ vmkit/trunk/lib/JnJVM/Classpath/ClasspathVMRuntime.cpp.inc Wed Oct  8 07:42:32 2008
@@ -125,10 +125,10 @@
 jclass clazz,
 #endif
 jint par1) {
-#ifndef MULTIPLE_VM
+#if defined(ISOLATE) || defined(ISOLATE_SHARING)
+  // TODO: do a longjmp
   exit(par1);
 #else
-  // TODO: do a longjmp
   exit(par1);
 #endif
 }

Modified: vmkit/trunk/lib/JnJVM/Classpath/ClasspathVMStackWalker.cpp.inc
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/Classpath/ClasspathVMStackWalker.cpp.inc?rev=57293&r1=57292&r2=57293&view=diff

==============================================================================
--- vmkit/trunk/lib/JnJVM/Classpath/ClasspathVMStackWalker.cpp.inc (original)
+++ vmkit/trunk/lib/JnJVM/Classpath/ClasspathVMStackWalker.cpp.inc Wed Oct  8 07:42:32 2008
@@ -28,7 +28,7 @@
 
 extern "C" {
 
-#ifdef MULTIPLE_VM
+#ifdef ISOLATE_SHARING
 uint32 getPools(UserConstantPool** pools, uint32 size) {
   unsigned int* top;
   register unsigned int  **cur = ⊤
@@ -47,7 +47,7 @@
 }
 #endif
 
-#ifdef MULTIPLE_VM
+#ifdef ISOLATE_SHARING
 JavaObject* getClassInContext(Jnjvm* vm, Class* cl, UserConstantPool** ctps, uint32& ctpIndex) {
   for (; ctpIndex < 100; ++ctpIndex) {
     UserClass* newCl = ctps[ctpIndex]->getClass();
@@ -98,7 +98,7 @@
   Jnjvm* vm = JavaThread::get()->isolate;
   int* ips[100];
   int real_size = mvm::jit::getBacktrace((void**)(void*)ips, 100);
-#ifdef MULTIPLE_VM
+#ifdef ISOLATE_SHARING
   UserConstantPool* pools[100];
   getPools(pools, 100);
 #endif
@@ -109,7 +109,7 @@
 
   while (i < real_size) {
     JavaMethod* meth = JavaJIT::IPToJavaMethod(ips[i++]);
-#ifdef MULTIPLE_VM
+#ifdef ISOLATE_SHARING
     if (meth && meth->classDef == cl->classDef) {
 #else
     if (meth && meth->classDef == cl) {
@@ -119,7 +119,7 @@
     }   
   }
 
-#ifdef MULTIPLE_VM
+#ifdef ISOLATE_SHARING
   return (jobject)recGetClassContext(vm, ips, real_size, first, 0, pools, 0);
 #else
   return (jobject)recGetClassContext(vm, ips, real_size, first, 0);

Modified: vmkit/trunk/lib/JnJVM/Classpath/ClasspathVMThrowable.cpp.inc
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/Classpath/ClasspathVMThrowable.cpp.inc?rev=57293&r1=57292&r2=57293&view=diff

==============================================================================
--- vmkit/trunk/lib/JnJVM/Classpath/ClasspathVMThrowable.cpp.inc (original)
+++ vmkit/trunk/lib/JnJVM/Classpath/ClasspathVMThrowable.cpp.inc Wed Oct  8 07:42:32 2008
@@ -101,7 +101,7 @@
   
   while (stack[i] != 0) {
     JavaMethod* meth = JavaJIT::IPToJavaMethod(stack[i++]);
-#ifdef MULTIPLE_VM
+#ifdef ISOLATE_SHARING
     if (meth) {
 #else
     if (meth && !meth->classDef->subclassOf(vm->upcalls->newThrowable)) {

Modified: vmkit/trunk/lib/JnJVM/VMCore/JavaArray.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/JavaArray.h?rev=57293&r1=57292&r2=57293&view=diff

==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/JavaArray.h (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/JavaArray.h Wed Oct  8 07:42:32 2008
@@ -150,7 +150,7 @@
   /// equals - Returns whether two UTF8s are equals. When the JnJVM executes
   /// in single mode, equality is just a pointer comparison. When executing
   /// in multiple mode, we compare the contents of the UTF8s.
-#ifndef MULTIPLE_VM
+#if defined(ISOLATE) || defined(ISOLATE_SHARING)
   bool equals(const UTF8* other) const {
     return this == other;
   }

Modified: vmkit/trunk/lib/JnJVM/VMCore/JavaBacktrace.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/JavaBacktrace.cpp?rev=57293&r1=57292&r2=57293&view=diff

==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/JavaBacktrace.cpp (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/JavaBacktrace.cpp Wed Oct  8 07:42:32 2008
@@ -61,7 +61,7 @@
 
 
 
-#ifndef MULTIPLE_VM
+#ifndef ISOLATE_SHARING
 UserClass* JavaJIT::getCallingClass() {
   int* ips[10];
   int real_size = mvm::jit::getBacktrace((void**)(void*)ips, 10);

Modified: vmkit/trunk/lib/JnJVM/VMCore/JavaCache.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/JavaCache.cpp?rev=57293&r1=57292&r2=57293&view=diff

==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/JavaCache.cpp (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/JavaCache.cpp Wed Oct  8 07:42:32 2008
@@ -41,7 +41,7 @@
   lastCible = 0;
   methPtr = 0;
   next = 0;
-#ifdef MULTIPLE_VM
+#ifdef ISOLATE_SHARING
   definingCtp = 0;
 #endif
   enveloppe = E;

Modified: vmkit/trunk/lib/JnJVM/VMCore/JavaCache.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/JavaCache.h?rev=57293&r1=57292&r2=57293&view=diff

==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/JavaCache.h (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/JavaCache.h Wed Oct  8 07:42:32 2008
@@ -51,7 +51,7 @@
   /// enveloppe - The container to which this class belongs to.
   Enveloppe* enveloppe;
 
-#ifdef MULTIPLE_VM
+#ifdef ISOLATE_SHARING
   ///definingClass - The class that defined the method being called.
   ///
   UserConstantPool* definingCtp;

Modified: vmkit/trunk/lib/JnJVM/VMCore/JavaClass.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/JavaClass.cpp?rev=57293&r1=57292&r2=57293&view=diff

==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/JavaClass.cpp (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/JavaClass.cpp Wed Oct  8 07:42:32 2008
@@ -264,7 +264,7 @@
   this->array = isArray;
   this->primitive = false;
   this->JInfo = 0;
-#ifndef MULTIPLE_VM
+#if !defined(ISOLATE) && !defined(ISOLATE_SHARING)
   this->delegatee = 0;
 #endif
 }
@@ -286,7 +286,7 @@
   bytes = B;
   super = 0;
   ctpInfo = 0;
-#ifndef MULTIPLE_VM
+#if !defined(ISOLATE) && !defined(ISOLATE_SHARING)
   _staticInstance = 0;
 #endif
 }
@@ -757,7 +757,7 @@
   readAttributs(reader, attributs);
 }
 
-#ifndef MULTIPLE_VM
+#ifndef ISOLATE_SHARING
 void CommonClass::resolveClass() {
   if (status < resolved) {
     acquire();

Modified: vmkit/trunk/lib/JnJVM/VMCore/JavaClass.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/JavaClass.h?rev=57293&r1=57292&r2=57293&view=diff

==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/JavaClass.h (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/JavaClass.h Wed Oct  8 07:42:32 2008
@@ -122,7 +122,7 @@
 /// class loader finalizer method will be defined.
 ///
 class CommonClass : public mvm::Object {
-#ifdef MULTIPLE_VM
+#ifdef ISOLATE_SHARING
 friend class UserCommonClass;
 #endif
 private:
@@ -305,7 +305,7 @@
   ///
   JnjvmClassLoader* classLoader;
   
-#ifndef MULTIPLE_VM
+#if !defined(ISOLATE) && !defined(ISOLATE_SHARING)
   /// delegatee - The java/lang/Class object representing this class
   ///
   JavaObject* delegatee;
@@ -566,7 +566,7 @@
   ///
   std::vector<Attribut*> attributs;
  
-#ifndef MULTIPLE_VM
+#if !defined(ISOLATE) && !defined(ISOLATE_SHARING)
   /// innerClasses - The inner classes of this class.
   ///
   std::vector<Class*> innerClasses;
@@ -605,7 +605,7 @@
   }
 
 
-#ifndef MULTIPLE_VM
+#ifndef ISOLATE_SHARING
   /// doNew - Allocates a Java object whose class is this class.
   ///
   JavaObject* doNew(Jnjvm* vm);
@@ -634,7 +634,7 @@
   /// is inlined when the vm is in a single environment. In a multiple
   /// environment, the static instance is in a hashtable.
   ///
-#ifndef MULTIPLE_VM
+#if !defined(ISOLATE_SHARING) && !defined(ISOLATE)
   JavaObject* _staticInstance;
   
   JavaObject* getStaticInstance() {
@@ -687,7 +687,7 @@
   
   void resolveInnerOuterClasses();
 
-#ifndef MULTIPLE_VM
+#ifndef ISOLATE_SHARING
   Class* getOuterClass() {
     return outerClass;
   }
@@ -1034,7 +1034,7 @@
 } // end namespace jnjvm
 
 
-#ifdef MULTIPLE_VM
+#ifdef ISOLATE_SHARING
 #include "IsolateCommonClass.h"
 #endif
 

Modified: vmkit/trunk/lib/JnJVM/VMCore/JavaConstantPool.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/JavaConstantPool.cpp?rev=57293&r1=57292&r2=57293&view=diff

==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/JavaConstantPool.cpp (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/JavaConstantPool.cpp Wed Oct  8 07:42:32 2008
@@ -267,7 +267,7 @@
 
 CommonClass* JavaConstantPool::loadClass(uint32 index) {
   CommonClass* temp = isClassLoaded(index);
-#ifndef MULTIPLE_VM
+#ifndef ISOLATE_SHARING
   if (!temp) {
     JnjvmClassLoader* loader = classDef->classLoader;
     const UTF8* name = UTF8At(ctpDef[index]);
@@ -286,7 +286,7 @@
 
 CommonClass* JavaConstantPool::getMethodClassIfLoaded(uint32 index) {
   CommonClass* temp = isClassLoaded(index);
-#ifndef MULTIPLE_VM
+#ifndef ISOLATE_SHARING
   if (!temp) {
     JnjvmClassLoader* loader = classDef->classLoader;
     assert(loader && "Class has no loader?");
@@ -467,7 +467,7 @@
       if (!stat) {
         ctpRes[index] = (void*)field->ptrOffset;
       } 
-#ifndef MULTIPLE_VM
+#ifndef ISOLATE_SHARING
       else if (cl->isReady()) {
         JavaObject* S = field->classDef->getStaticInstance();
         ctpRes[index] = (void*)((uint64)S + field->ptrOffset);

Modified: vmkit/trunk/lib/JnJVM/VMCore/JavaInitialise.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/JavaInitialise.cpp?rev=57293&r1=57292&r2=57293&view=diff

==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/JavaInitialise.cpp (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/JavaInitialise.cpp Wed Oct  8 07:42:32 2008
@@ -33,7 +33,7 @@
 #include "ServiceDomain.h"
 #endif
 
-#ifdef MULTIPLE_VM
+#ifdef ISOLATE_SHARING
 #include "SharedMaps.h"
 #include "IsolateSharedLoader.h"
 #endif
@@ -53,16 +53,16 @@
   INIT(ClassMap);
   INIT(JnjvmBootstrapLoader);
   INIT(JnjvmClassLoader);
-#ifdef SERVICE_VM
-  INIT(ServiceDomain);
-#endif
-#ifdef MULTIPLE_VM
+#ifdef ISOLATE_SHARING
   INIT(JnjvmSharedLoader);
   INIT(SharedClassByteMap);
   INIT(UserClass);
   INIT(UserClassArray);
   INIT(UserConstantPool);
 #endif
+#ifdef SERVICE_VM
+  INIT(ServiceDomain);
+#endif
 #undef INIT
 
 #define INIT(X) { \
@@ -80,7 +80,7 @@
 
 void Jnjvm::initialiseStatics() {
 
-#ifdef MULTIPLE_VM
+#ifdef ISOLATE_SHARING
   if (!JnjvmSharedLoader::sharedLoader) {
     JnjvmSharedLoader::sharedLoader = JnjvmSharedLoader::createSharedLoader();
   }
@@ -123,7 +123,7 @@
     JCL->loadName(JCL->asciizConstructUTF8("java/lang/Object"), false,
                   false);
   
-#ifdef MULTIPLE_VM
+#ifdef ISOLATE_SHARING
   if (!ClassArray::SuperArray) {
     ClassArray::SuperArray = JCL->SuperArray->classDef;
     ClassArray::InterfacesArray.push_back((Class*)JCL->InterfacesArray[0]->classDef);
@@ -230,7 +230,7 @@
 }
 
 void mvm::VirtualMachine::initialiseJVM() {
-#ifndef MULTIPLE_VM
+#ifndef ISOLATE_SHARING
   if (!JnjvmClassLoader::bootstrapLoader) {
     initialiseVT();
     Jnjvm::initialiseStatics();

Modified: vmkit/trunk/lib/JnJVM/VMCore/JavaJIT.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/JavaJIT.cpp?rev=57293&r1=57292&r2=57293&view=diff

==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/JavaJIT.cpp (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/JavaJIT.cpp Wed Oct  8 07:42:32 2008
@@ -77,14 +77,14 @@
   Value* VT = CallInst::Create(JnjvmModule::GetVTFunction, args[0], "",
                                currentBlock);
   std::vector<Value*> indexes2; //[3];
-#ifdef MULTIPLE_VM
+#ifdef ISOLATE_SHARING
   std::vector<Value*> indexesCtp; //[3];
 #endif
   if (meth) {
     LLVMMethodInfo* LMI = module->getMethodInfo(meth);
     ConstantInt* Offset = LMI->getOffset();
     indexes2.push_back(Offset);
-#ifdef MULTIPLE_VM
+#ifdef ISOLATE_SHARING
     indexesCtp.push_back(ConstantInt::get(Type::Int32Ty,
                                           Offset->getZExtValue() * -1));
 #endif
@@ -93,7 +93,7 @@
     Value* val = getConstantPoolAt(index, JnjvmModule::VirtualLookupFunction,
                                    Type::Int32Ty, args[0], true);
     indexes2.push_back(val);
-#ifdef MULTIPLE_VM
+#ifdef ISOLATE_SHARING
     Value* mul = BinaryOperator::createMul(val, mvm::jit::constantMinusOne,
                                            "", currentBlock);
     indexesCtp.push_back(mul);
@@ -106,7 +106,7 @@
     
   Value* Func = new LoadInst(FuncPtr, "", currentBlock);
   Func = new BitCastInst(Func, LSI->getVirtualPtrType(), "", currentBlock);
-#ifdef MULTIPLE_VM
+#ifdef ISOLATE_SHARING
   Value* CTP = GetElementPtrInst::Create(VT, indexesCtp.begin(),
                                              indexesCtp.end(), "",
                                              currentBlock);
@@ -157,7 +157,7 @@
   endBlock = createBasicBlock("end block");
   returnType = funcType->getReturnType();
 
-#if defined(MULTIPLE_VM)
+#if defined(ISOLATE_SHARING)
   Value* lastArg = 0;
   for (Function::arg_iterator i = func->arg_begin(), e = func->arg_end();
        i != e; ++i) {
@@ -224,7 +224,7 @@
 
   uint32 index = 0;
   if (stat) {
-#ifdef MULTIPLE_VM
+#ifdef ISOLATE_SHARING
     Value* val = getClassCtp();
     Value* res = CallInst::Create(JnjvmModule::GetClassDelegateeFunction,
                                   val, "", currentBlock);
@@ -417,7 +417,7 @@
   currentBlock = EndUnlock;
 }
 
-#ifdef MULTIPLE_VM
+#ifdef ISOLATE_SHARING
 Value* JavaJIT::getStaticInstanceCtp() {
   Value* cl = getClassCtp();
   std::vector<Value*> indexes; //[3];
@@ -446,7 +446,7 @@
   if (isVirtual(compilingMethod->access)) {
     obj = llvmFunction->arg_begin();
   } else {
-#ifndef MULTIPLE_VM
+#ifndef ISOLATE_SHARING
     LLVMClassInfo* LCI = 
       (LLVMClassInfo*)module->getClassInfo(compilingClass);
     obj = LCI->getStaticVar(this);
@@ -472,7 +472,7 @@
   if (isVirtual(compilingMethod->access)) {
     obj = llvmFunction->arg_begin();
   } else {
-#ifndef MULTIPLE_VM
+#ifndef ISOLATE_SHARING
     LLVMClassInfo* LCI = 
       (LLVMClassInfo*)module->getClassInfo(compilingClass);
     obj = LCI->getStaticVar(this);
@@ -547,7 +547,7 @@
   
   uint32 index = 0;
   uint32 count = 0;
-#if defined(MULTIPLE_VM)
+#if defined(ISOLATE_SHARING)
   uint32 max = args.size() - 2;
 #else
   uint32 max = args.size();
@@ -590,7 +590,7 @@
     }
   }
 
-#if defined(MULTIPLE_VM)
+#if defined(ISOLATE_SHARING)
 #if !defined(SERVICE_VM)
   isolateLocal = args[args.size() - 2];
   ctpCache = args[args.size() - 1];
@@ -715,7 +715,7 @@
   
   uint32 index = 0;
   uint32 count = 0;
-#if defined(MULTIPLE_VM)
+#if defined(ISOLATE_SHARING)
   uint32 max = func->arg_size() - 2;
 #else
   uint32 max = func->arg_size();
@@ -757,7 +757,7 @@
     }
   }
 
-#if defined(MULTIPLE_VM)
+#if defined(ISOLATE_SHARING)
 #if !defined(SERVICE_VM)
   isolateLocal = i;
   i++;
@@ -923,7 +923,7 @@
     if (isVirtual(compilingMethod->access)) {
       argsSync.push_back(llvmFunction->arg_begin());
     } else {
-#ifndef MULTIPLE_VM
+#ifndef ISOLATE_SHARING
       LLVMClassInfo* LCI = (LLVMClassInfo*)module->getClassInfo(compilingClass);
       Value* arg = LCI->getStaticVar(this);
 #else
@@ -973,7 +973,7 @@
 
     ex->catche = reader.readU2();
 
-#ifndef MULTIPLE_VM
+#ifndef ISOLATE_SHARING
     if (ex->catche) {
       JavaObject* exc = 0;
       UserClass* cl = 0; 
@@ -1086,7 +1086,7 @@
     
     Value* cl = 0;
     currentBlock = cur->realTest;
-#ifdef MULTIPLE_VM
+#ifdef ISOLATE_SHARING
     // We're dealing with exceptions, don't catch the exception if the class can
     // not be found.
     if (cur->catche) cl = getResolvedClass(cur->catche, false, false);
@@ -1156,7 +1156,7 @@
   uint8 type = ctpInfo->typeAt(index);
   
   if (type == JavaConstantPool::ConstantString) {
-#ifdef MULTIPLE_VM
+#if defined(ISOLATE) || defined(ISOLATE_SHARING)
     // Lookup the constant pool cache
     Value* val = getConstantPoolAt(index, JnjvmModule::StringLookupFunction,
                                    JnjvmModule::JavaObjectType, 0, false);
@@ -1182,7 +1182,7 @@
     push(ConstantFP::get(Type::FloatTy, ctpInfo->FloatAt(index)),
          false);
   } else if (type == JavaConstantPool::ConstantClass) {
-#ifndef MULTIPLE_VM
+#if !defined(ISOLATE)
     if (ctpInfo->ctpRes[index]) {
       CommonClass* cl = (CommonClass*)(ctpInfo->ctpRes[index]);
       LLVMCommonClassInfo* LCI = module->getClassInfo(cl);
@@ -1193,7 +1193,7 @@
       Value* res = CallInst::Create(JnjvmModule::GetClassDelegateeFunction,
                                     val, "", currentBlock);
       push(res, false);
-#ifndef MULTIPLE_VM
+#if !defined(ISOLATE)
     }
 #endif
   } else {
@@ -1364,12 +1364,12 @@
 
 void JavaJIT::makeArgs(FunctionType::param_iterator it,
                        uint32 index, std::vector<Value*>& Args, uint32 nb) {
-#if defined(MULTIPLE_VM)
+#if defined(ISOLATE_SHARING)
   nb += 1;
 #endif
   Args.reserve(nb + 2);
   Value** args = (Value**)alloca(nb*sizeof(Value*));
-#if defined(MULTIPLE_VM)
+#if defined(ISOLATE_SHARING)
   args[nb - 1] = isolateLocal;
   sint32 start = nb - 2;
   it--;
@@ -1546,7 +1546,7 @@
 
 
   if (!val) {
-#if defined(MULTIPLE_VM)
+#if defined(ISOLATE_SHARING)
     const Type* Ty = JnjvmModule::ConstantPoolType;
     Constant* Nil = Constant::getNullValue(Ty);
     GlobalVariable* GV = new GlobalVariable(Ty, false,
@@ -1619,7 +1619,7 @@
       ctpInfo->infoOfStaticOrSpecialMethod(index, ACC_STATIC,
                                            signature, meth);
     
-#if defined(MULTIPLE_VM)
+#if defined(ISOLATE_SHARING)
     Value* newCtpCache = getConstantPoolAt(index,
                                            JnjvmModule::StaticCtpLookupFunction,
                                            JnjvmModule::ConstantPoolType, 0,
@@ -1651,9 +1651,8 @@
 
 // This makes unswitch loop very unhappy time-wise, but makes GVN happy
 // number-wise. IMO, it's better to have this than Unswitch.
-#if 1
   std::vector<Value*> Args;
-#ifdef MULTIPLE_VM
+#ifdef ISOLATE_SHARING
   Value* CTP = ctpCache;
   Args.push_back(mvm::jit::constantOne);
   Value* Cl = GetElementPtrInst::Create(CTP, Args.begin(), Args.end(), "",
@@ -1693,73 +1692,6 @@
   } 
   
   return res;
-#else
-
-#ifdef MULTIPLE_VM
-  Value* CTP = ctpCache;
-#else
-  JavaConstantPool* ctp = compilingClass->ctpInfo;
-  LLVMConstantPoolInfo* LCPI = module->getConstantPoolInfo(ctp);
-  Value* CTP = LCPI->getDelegatee(this);
-#endif 
-  std::vector<Value*> indexes; //[3];
-#ifndef MULTIPLE_VM
-  indexes.push_back(ConstantInt::get(Type::Int32Ty, index));
-#else
-  // Add one to the index because of the VT
-  indexes.push_back(ConstantInt::get(Type::Int32Ty, index + 1));
-#endif
-  Value* arg1 = GetElementPtrInst::Create(CTP, indexes.begin(),
-                                          indexes.end(), 
-                                          "", currentBlock);
-  arg1 = new LoadInst(arg1, "", false, currentBlock);
-  Value* test = new ICmpInst(ICmpInst::ICMP_EQ, arg1, mvm::jit::constantPtrNull,
-                             "", currentBlock);
- 
-  BasicBlock* trueCl = createBasicBlock("Ctp OK");
-  BasicBlock* falseCl = createBasicBlock("Ctp Not OK");
-  PHINode* node = llvm::PHINode::Create(mvm::jit::ptrType, "", trueCl);
-  node->addIncoming(arg1, currentBlock);
-  llvm::BranchInst::Create(falseCl, trueCl, test, currentBlock);
-  
-  currentBlock = falseCl;
-  std::vector<Value*> Args;
-#ifdef MULTIPLE_VM
-  std::vector<Value*> Args;
-  Args.push_back(mvm::jit::constantOne);
-  Value* v = GetElementPtrInst::Create(ctpCache, Args.begin(), Args.end(), "",
-                                       currentBlock);
-  v = new LoadInst(v, "", currentBlock);
-  v = new BitCastInst(v, JnjvmModule::JavaClassType, "", currentBlock);
-#else
-  LLVMClassInfo* LCI = (LLVMClassInfo*)module->getClassInfo(compilingClass);
-  Value* v = LCI->getVar(this);
-#endif
-  Args.push_back(v);
-  ConstantInt* CI = ConstantInt::get(Type::Int32Ty, index);
-  Args.push_back(CI);
-  
-  if (additionalArg)
-    Args.push_back(additionalArg);
-
-  Value* res = 0;
-  if (doThrow) {
-    res = invoke(resolver, Args, "", currentBlock);
-  } else {
-    res = CallInst::Create(resolver, Args.begin(), Args.end(), "",
-                           currentBlock);
-  }
-  node->addIncoming(res, currentBlock);
-
-  llvm::BranchInst::Create(trueCl, currentBlock);
-  currentBlock = trueCl;
-
-  if (returnType == Type::Int32Ty) {
-    return new PtrToIntInst(node, Type::Int32Ty, "", currentBlock);
-  } else {
-    return new BitCastInst(node, returnType, "", currentBlock);
-  } 
-#endif
 }
 
 Value* JavaJIT::getResolvedClass(uint16 index, bool clinit, bool doThrow) {
@@ -1790,7 +1722,7 @@
   } else {
     LLVMClassInfo* LCI = (LLVMClassInfo*)module->getClassInfo(cl);
     Size = LCI->getVirtualSize(this);
-#ifndef MULTIPLE_VM
+#ifndef ISOLATE_SHARING
     VT = LCI->getVirtualTable(this);
     Cl = LCI->getVar(this);
     if (!cl->isReady()) {
@@ -1862,7 +1794,7 @@
     const Type* type = 0;
     if (stat) {
 
-#ifndef MULTIPLE_VM
+#ifndef ISOLATE_SHARING
       if (field->classDef->isReady()) {
         object = LCI->getStaticVar(this);
         type = LCI->getStaticType();
@@ -2096,7 +2028,7 @@
   Value* zero = mvm::jit::constantZero;
   Value* one = mvm::jit::constantOne;
 
-#ifndef MULTIPLE_VM
+#ifndef ISOLATE_SHARING
   // ok now the cache
   Enveloppe* enveloppe = new Enveloppe(compilingClass->ctpInfo, index);
   compilingMethod->caches.push_back(enveloppe);
@@ -2139,7 +2071,7 @@
                         "", ifFalse);
   Value* meth = new BitCastInst(_meth, virtualPtrType, "", 
                                 currentBlock);
-#ifdef MULTIPLE_VM
+#ifdef ISOLATE_SHARING
   Value* cache2 = new LoadInst(cachePtr, "", currentBlock);
   Value* newCtpCache = CallInst::Create(JnjvmModule::GetCtpCacheNodeFunction,
                                         cache2, "", currentBlock);
@@ -2159,7 +2091,7 @@
   _meth = new LoadInst(methPtr, "", currentBlock);
   meth = new BitCastInst(_meth, virtualPtrType, "", currentBlock);
   
-#ifdef MULTIPLE_VM
+#ifdef ISOLATE_SHARING
   args.pop_back();
   cache = new LoadInst(cachePtr, "", currentBlock);
   newCtpCache = CallInst::Create(JnjvmModule::GetCtpCacheNodeFunction,

Modified: vmkit/trunk/lib/JnJVM/VMCore/JavaJIT.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/JavaJIT.h?rev=57293&r1=57292&r2=57293&view=diff

==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/JavaJIT.h (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/JavaJIT.h Wed Oct  8 07:42:32 2008
@@ -249,15 +249,14 @@
   uint16 maxLocals;
   uint32 codeLen;
 
-#if defined(MULTIPLE_VM) || defined(MULTIPLE_GC)
+#if defined(ISOLATE) || defined(MULTIPLE_GC)
   llvm::Value* isolateLocal;
-#endif
-
-#if defined(MULTIPLE_VM)
+#if defined(ISOLATE_SHARING)
   llvm::Value* ctpCache;
   llvm::Value* getStaticInstanceCtp();
   llvm::Value* getClassCtp();
 #endif
+#endif
 
   static const char* OpcodeNames[256];
 

Modified: vmkit/trunk/lib/JnJVM/VMCore/JavaJITOpcodes.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/JavaJITOpcodes.cpp?rev=57293&r1=57292&r2=57293&view=diff

==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/JavaJITOpcodes.cpp (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/JavaJITOpcodes.cpp Wed Oct  8 07:42:32 2008
@@ -1828,7 +1828,7 @@
       case NEWARRAY :
       case ANEWARRAY : {
         
-#ifndef MULTIPLE_VM
+#ifndef ISOLATE_SHARING
         UserClassArray* dcl = 0;
 #endif
         ConstantInt* sizeElement = 0;
@@ -1838,7 +1838,7 @@
         if (bytecodes[i] == NEWARRAY) {
           uint8 id = bytecodes[++i];
           uint8 charId = arrayType(id);
-#ifndef MULTIPLE_VM
+#ifndef ISOLATE_SHARING
           dcl = JavaThread::get()->isolate->arrayClasses[id - 4];
 #else
           std::vector<Value*> args;
@@ -1853,7 +1853,7 @@
           sizeElement = LAI.sizeInBytesConstant;
         } else {
           uint16 index = readU2(bytecodes, i);
-#ifndef MULTIPLE_VM
+#ifndef ISOLATE_SHARING
           const UTF8* className = 
             compilingClass->ctpInfo->resolveClassName(index);
         
@@ -1870,7 +1870,7 @@
           TheVT = JnjvmModule::ArrayObjectVirtualTableGV;
           sizeElement = mvm::jit::constantPtrSize;
         }
-#ifndef MULTIPLE_VM
+#ifndef ISOLATE_SHARING
         LLVMCommonClassInfo* LCI = module->getClassInfo(dcl);
         valCl = LCI->getVar(this);
 #endif   
@@ -1983,7 +1983,7 @@
 
       case CHECKCAST : {
         uint16 index = readU2(bytecodes, i);
-#ifndef MULTIPLE_VM
+#ifndef ISOLATE_SHARING
         CommonClass* dcl =
           compilingClass->ctpInfo->getMethodClassIfLoaded(index);
 #endif
@@ -2000,7 +2000,7 @@
         BranchInst::Create(ifTrue, ifFalse, cmp, currentBlock);
         currentBlock = ifFalse;
         Value* clVar = 0;
-#ifndef MULTIPLE_VM
+#ifndef ISOLATE_SHARING
         if (dcl) {
           LLVMCommonClassInfo* LCI = module->getClassInfo(dcl);
           clVar = LCI->getVar(this);
@@ -2038,7 +2038,7 @@
 
       case INSTANCEOF : {
         uint16 index = readU2(bytecodes, i);
-#ifndef MULTIPLE_VM
+#ifndef ISOLATE_SHARING
         CommonClass* dcl =
           compilingClass->ctpInfo->getMethodClassIfLoaded(index);
         
@@ -2100,7 +2100,7 @@
         uint8 dim = readU1(bytecodes, i);
         
         
-#ifdef MULTIPLE_VM
+#ifdef ISOLATE_SHARING
         Value* valCl = getResolvedClass(index, true);
 #else
         JnjvmClassLoader* JCL = compilingClass->classLoader;

Modified: vmkit/trunk/lib/JnJVM/VMCore/JavaRuntimeJIT.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/JavaRuntimeJIT.cpp?rev=57293&r1=57292&r2=57293&view=diff

==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/JavaRuntimeJIT.cpp (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/JavaRuntimeJIT.cpp Wed Oct  8 07:42:32 2008
@@ -61,7 +61,7 @@
     UserClass* methodCl = 0;
     JavaMethod* dmeth = ocl->lookupMethod(utf8, sign->keyName, false, true,
                                           methodCl);
-#ifndef MULTIPLE_VM
+#ifndef ISOLATE_SHARING
     assert(dmeth->classDef->isReady() &&
            "Class not ready in a virtual lookup.");
 #endif
@@ -73,7 +73,7 @@
     
     rcache->methPtr = dmeth->compiledPtr();
     rcache->lastCible = (UserClass*)ocl;
-#ifdef MULTIPLE_VM
+#ifdef ISOLATE_SHARING
     rcache->definingCtp = methodCl->getConstantPool();
 #endif
     
@@ -135,15 +135,18 @@
   return ptr;
 }
 
-#ifdef MULTIPLE_VM
+#ifdef ISOLATE
 extern "C" void* stringLookup(UserClass* cl, uint32 index) {
   UserConstantPool* ctpInfo = cl->getConstantPool();
   const UTF8* utf8 = ctpInfo->UTF8AtForString(index);
   JavaString* str = JavaThread::get()->isolate->UTF8ToStr(utf8);
+#ifdef ISOLATE_SHARING
   ctpInfo->ctpRes[index] = str;
+#endif
   return (void*)str;
 }
 
+#ifdef ISOLATE_SHARING
 extern "C" void* enveloppeLookup(UserClass* cl, uint32 index) {
   UserConstantPool* ctpInfo = cl->getConstantPool();
   Enveloppe* enveloppe = new Enveloppe(ctpInfo, index);
@@ -199,6 +202,8 @@
 
 #endif
 
+#endif
+
 #ifndef WITHOUT_VTABLE
 extern "C" void* vtableLookup(UserClass* caller, uint32 index, ...) {
   UserCommonClass* cl = 0;
@@ -223,7 +228,7 @@
     caller->getConstantPool()->ctpRes[index] = (void*)dmeth->offset;
   }
 
-#ifndef MULTIPLE_VM
+#ifndef ISOLATE_SHARING
   assert(dmeth->classDef->isReady() && "Class not ready in a virtual lookup.");
 #endif
 

Modified: vmkit/trunk/lib/JnJVM/VMCore/JavaString.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/JavaString.cpp?rev=57293&r1=57292&r2=57293&view=diff

==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/JavaString.cpp (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/JavaString.cpp Wed Oct  8 07:42:32 2008
@@ -19,7 +19,7 @@
 JavaString* JavaString::stringDup(const UTF8*& utf8, Jnjvm* vm) {
   UserClass* cl = vm->upcalls->newString;
   JavaString* res = (JavaString*)malloc(cl->getVirtualSize());
-#ifdef MULTIPLE_VM
+#ifdef ISOLATE_SHARING
   /// Do this for now, but we will have to change it to duplicate the UTF8.
   /// UTF8 that dont have a class are shared UTF8.
   if (!utf8->classOf) ((UTF8*)utf8)->classOf = vm->upcalls->ArrayOfChar;

Modified: vmkit/trunk/lib/JnJVM/VMCore/JavaUpcalls.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/JavaUpcalls.cpp?rev=57293&r1=57292&r2=57293&view=diff

==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/JavaUpcalls.cpp (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/JavaUpcalls.cpp Wed Oct  8 07:42:32 2008
@@ -36,7 +36,7 @@
 
 using namespace jnjvm;
 
-#ifndef MULTIPLE_VM
+#ifndef ISOLATE_SHARING
 Class*      Classpath::newThread;
 Class*      Classpath::newVMThread;
 JavaField*  Classpath::assocThread;

Modified: vmkit/trunk/lib/JnJVM/VMCore/Jni.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/Jni.cpp?rev=57293&r1=57292&r2=57293&view=diff

==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/Jni.cpp (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/Jni.cpp Wed Oct  8 07:42:32 2008
@@ -22,6 +22,23 @@
 
 
 using namespace jnjvm;
+  
+static UserClass* getClassFromStaticMethod(JavaMethod* meth, jclass clazz) {
+#ifdef ISOLATE_SHARING
+  return (UserClass*)NativeUtil::resolvedImplClass(clazz, true);
+#else
+  return meth->classDef;
+#endif
+}
+
+static UserClass* getClassFromVirtualMethod(JavaMethod* meth,
+                                            UserCommonClass* cl) {
+#ifdef ISOLATE_SHARING
+  return cl->lookupClassFromMethod(this);
+#else
+  return meth->classDef;
+#endif
+}
 
 extern "C" const struct JNIInvokeInterface_ JNI_JavaVMTable;
 extern "C" struct JNINativeInterface_ JNI_JNIEnvTable;
@@ -330,12 +347,7 @@
   JavaObject* self = (JavaObject*)obj;
   JavaMethod* meth = (JavaMethod*)methodID;
   Jnjvm* vm = JavaThread::get()->isolate;
-  UserClass* cl = 0;
-#ifdef MULTIPLE_VM
-  cl = self->classOf->lookupClassFromMethod(meth);
-#else
-  cl = meth->classDef;
-#endif
+  UserClass* cl = getClassFromVirtualMethod(meth, self->classOf);
   JavaObject* res = meth->invokeJavaObjectVirtualAP(vm, cl, self, ap);
   va_end(ap);
   return (jobject)res;
@@ -368,12 +380,7 @@
   JavaObject* self = (JavaObject*)_obj;
   JavaMethod* meth = (JavaMethod*)methodID;
   Jnjvm* vm = JavaThread::get()->isolate;
-  UserClass* cl = 0;
-#ifdef MULTIPLE_VM
-  cl = self->classOf->lookupClassFromMethod(meth);
-#else
-  cl = meth->classDef;
-#endif
+  UserClass* cl = getClassFromVirtualMethod(meth, self->classOf);
   uint32 res = meth->invokeIntVirtualAP(vm, cl, self, ap);
   va_end(ap);
   return res;
@@ -466,12 +473,7 @@
   JavaObject* obj = (JavaObject*)_obj;
   JavaMethod* meth = (JavaMethod*)methodID;
   Jnjvm* vm = JavaThread::get()->isolate;
-  UserClass* cl = 0;
-#ifdef MULTIPLE_VM
-  cl = obj->classOf->lookupClassFromMethod(meth);
-#else
-  cl = meth->classDef;
-#endif
+  UserClass* cl = getClassFromVirtualMethod(meth, obj->classOf);
   uint32 res = meth->invokeIntVirtualAP(vm, cl, obj, ap);
   va_end(ap);
   return res;
@@ -526,12 +528,7 @@
   JavaObject* obj = (JavaObject*)_obj;
   JavaMethod* meth = (JavaMethod*)methodID;
   Jnjvm* vm = JavaThread::get()->isolate;
-  UserClass* cl = 0;
-#ifdef MULTIPLE_VM
-  cl = obj->classOf->lookupClassFromMethod(meth);
-#else
-  cl = meth->classDef;
-#endif
+  UserClass* cl = getClassFromVirtualMethod(meth, obj->classOf);
   jfloat res = meth->invokeFloatVirtualAP(vm, cl, obj, ap);
   va_end(ap);
   return res;
@@ -565,12 +562,7 @@
   JavaObject* obj = (JavaObject*)_obj;
   JavaMethod* meth = (JavaMethod*)methodID;
   Jnjvm* vm = JavaThread::get()->isolate;
-  UserClass* cl = 0;
-#ifdef MULTIPLE_VM
-  cl = obj->classOf->lookupClassFromMethod(meth);
-#else
-  cl = meth->classDef;
-#endif
+  UserClass* cl = getClassFromVirtualMethod(meth, obj->classOf);
   jdouble res = meth->invokeDoubleVirtualAP(vm, cl, obj, ap);
   va_end(ap);
   return res;
@@ -588,12 +580,7 @@
   JavaObject* obj = (JavaObject*)_obj;
   JavaMethod* meth = (JavaMethod*)methodID;
   Jnjvm* vm = JavaThread::get()->isolate;
-  UserClass* cl = 0;
-#ifdef MULTIPLE_VM
-  cl = obj->classOf->lookupClassFromMethod(meth);
-#else
-  cl = meth->classDef;
-#endif
+  UserClass* cl = getClassFromVirtualMethod(meth, obj->classOf);
   return meth->invokeDoubleVirtualAP(vm, cl, obj, args);
 
   END_EXCEPTION
@@ -619,12 +606,7 @@
   JavaObject* obj = (JavaObject*)_obj;
   JavaMethod* meth = (JavaMethod*)methodID;
   Jnjvm* vm = JavaThread::get()->isolate;
-  UserClass* cl = 0;
-#ifdef MULTIPLE_VM
-  cl = obj->classOf->lookupClassFromMethod(meth);
-#else
-  cl = meth->classDef;
-#endif
+  UserClass* cl = getClassFromVirtualMethod(meth, obj->classOf);
   meth->invokeIntVirtualAP(vm, cl, obj, ap);
   va_end(ap);
 
@@ -640,12 +622,7 @@
   JavaObject* obj = (JavaObject*)_obj;
   JavaMethod* meth = (JavaMethod*)methodID;
   Jnjvm* vm = JavaThread::get()->isolate;
-  UserClass* cl = 0;
-#ifdef MULTIPLE_VM
-  cl = obj->classOf->lookupClassFromMethod(meth);
-#else
-  cl = meth->classDef;
-#endif
+  UserClass* cl = getClassFromVirtualMethod(meth, obj->classOf);
   meth->invokeIntVirtualAP(vm, cl, obj, args);
 
   END_EXCEPTION
@@ -866,12 +843,7 @@
   JavaObject* obj = (JavaObject*)_obj;
   JavaMethod* meth = (JavaMethod*)methodID;
   Jnjvm* vm = JavaThread::get()->isolate;
-  UserClass* cl = 0;
-#ifdef MULTIPLE_VM
-  cl = obj->classOf->lookupClassFromMethod(meth);
-#else
-  cl = meth->classDef;
-#endif
+  UserClass* cl = getClassFromVirtualMethod(meth, obj->classOf);
   meth->invokeIntSpecialAP(vm, cl, obj, ap);
   va_end(ap);
 
@@ -1186,12 +1158,7 @@
   va_start(ap, methodID);
   JavaMethod* meth = (JavaMethod*)methodID;
   Jnjvm* vm = JavaThread::get()->isolate;
-  UserClass* cl = 0;
-#ifdef MULTIPLE_VM
-  cl = (UserClass*)NativeUtil::resolvedImplClass(clazz, true);
-#else
-  cl = meth->classDef;
-#endif
+  UserClass* cl = getClassFromStaticMethod(meth, clazz);
   uint32 res = meth->invokeIntStaticAP(vm, cl, ap);
   va_end(ap);
   return res;
@@ -1367,12 +1334,7 @@
   va_start(ap, methodID);
   JavaMethod* meth = (JavaMethod*)methodID;
   Jnjvm* vm = JavaThread::get()->isolate;
-  UserClass* cl = 0;
-#ifdef MULTIPLE_VM
-  cl = (UserClass*)NativeUtil::resolvedImplClass(clazz, true);
-#else
-  cl = meth->classDef;
-#endif
+  UserClass* cl = getClassFromStaticMethod(meth, clazz);
   meth->invokeIntStaticAP(vm, cl, ap);
   va_end(ap);
 
@@ -1387,12 +1349,7 @@
   
   JavaMethod* meth = (JavaMethod*)methodID;
   Jnjvm* vm = JavaThread::get()->isolate;
-  UserClass* cl = 0;
-#ifdef MULTIPLE_VM
-  cl = (UserClass*)NativeUtil::resolvedImplClass(clazz, true);
-#else
-  cl = meth->classDef;
-#endif
+  UserClass* cl = getClassFromStaticMethod(meth, clazz);
   meth->invokeIntStaticAP(vm, cl, args);
 
   END_EXCEPTION

Modified: vmkit/trunk/lib/JnJVM/VMCore/Jnjvm.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/Jnjvm.cpp?rev=57293&r1=57292&r2=57293&view=diff

==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/Jnjvm.cpp (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/Jnjvm.cpp Wed Oct  8 07:42:32 2008
@@ -81,7 +81,7 @@
 const char* Jnjvm::envSeparator = ":";
 const unsigned int Jnjvm::Magic = 0xcafebabe;
 
-#ifndef MULTIPLE_VM
+#ifndef ISOLATE
 /// If we're not in a multi-vm environment, this can be made static.
 std::vector<void*> Jnjvm::nativeLibs;
 JnjvmBootstrapLoader* Jnjvm::bootstrapLoader;
@@ -852,13 +852,13 @@
   isolate->hashStr = new StringMap();
   isolate->globalRefsLock = mvm::Lock::allocNormal();
 
-#ifdef MULTIPLE_VM
+#ifdef ISOLATE_SHARING
   isolate->initialiseStatics();
 #endif
   
   isolate->upcalls = isolate->bootstrapLoader->upcalls;
 
-#ifdef MULTIPLE_VM
+#ifdef ISOLATE_SHARING
   isolate->throwable = isolate->upcalls->newThrowable;
 #endif
   isolate->arrayClasses[JavaArray::T_BOOLEAN - 4] = 

Modified: vmkit/trunk/lib/JnJVM/VMCore/Jnjvm.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/Jnjvm.h?rev=57293&r1=57292&r2=57293&view=diff

==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/Jnjvm.h (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/Jnjvm.h Wed Oct  8 07:42:32 2008
@@ -96,7 +96,7 @@
   Collector* GC;
 #endif
 
-#ifdef MULTIPLE_VM
+#ifdef ISOLATE_SHARING
   UserClass* throwable;
 #endif
   std::map<const char, UserClassArray*> arrayClasses;

Modified: vmkit/trunk/lib/JnJVM/VMCore/JnjvmClassLoader.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/JnjvmClassLoader.cpp?rev=57293&r1=57292&r2=57293&view=diff

==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/JnjvmClassLoader.cpp (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/JnjvmClassLoader.cpp Wed Oct  8 07:42:32 2008
@@ -27,7 +27,7 @@
 
 using namespace jnjvm;
 
-#ifndef MULTIPLE_VM
+#ifndef ISOLATE_SHARING
 JnjvmBootstrapLoader* JnjvmClassLoader::bootstrapLoader = 0;
 UserClass* JnjvmBootstrapLoader::SuperArray = 0;
 std::vector<UserClass*> JnjvmBootstrapLoader::InterfacesArray;
@@ -84,7 +84,7 @@
   javaLoader = loader;
   isolate = I;
 
-#ifdef MULTIPLE_VM
+#ifdef ISOLATE_SHARING
   JavaMethod* meth = bootstrapLoader->upcalls->loadInClassLoader;
   loader->classOf->lookupMethodDontThrow(meth->name, meth->type, false, true,
                                          loadClass);
@@ -146,7 +146,7 @@
     JavaString* str = isolate->UTF8ToStr(javaName);
     Classpath* upcalls = bootstrapLoader->upcalls;
     UserClass* forCtp = 0;
-#ifdef MULTIPLE_VM
+#ifdef ISOLATE_SHARING
     forCtp = loadClass;
 #else
     forCtp = upcalls->loadInClassLoader->classDef;

Modified: vmkit/trunk/lib/JnJVM/VMCore/JnjvmClassLoader.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/JnjvmClassLoader.h?rev=57293&r1=57292&r2=57293&view=diff

==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/JnjvmClassLoader.h (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/JnjvmClassLoader.h Wed Oct  8 07:42:32 2008
@@ -206,7 +206,7 @@
     isolate = 0;
   }
 
-#ifdef MULTIPLE_VM
+#ifdef ISOLATE_SHARING
   UserClass* loadClass;
 #endif
   

Modified: vmkit/trunk/lib/JnJVM/VMCore/JnjvmConfig.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/JnjvmConfig.h?rev=57293&r1=57292&r2=57293&view=diff

==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/JnjvmConfig.h (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/JnjvmConfig.h Wed Oct  8 07:42:32 2008
@@ -11,7 +11,7 @@
 #ifndef JNJVM_CONFIG_H
 #define JNJVM_CONFIG_H
 
-#ifdef MULTIPLE_VM
+#ifdef ISOLATE_SHARING
 #define ISOLATE_STATIC
 #else
 

Modified: vmkit/trunk/lib/JnJVM/VMCore/JnjvmModule.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/JnjvmModule.cpp?rev=57293&r1=57292&r2=57293&view=diff

==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/JnjvmModule.cpp (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/JnjvmModule.cpp Wed Oct  8 07:42:32 2008
@@ -108,8 +108,10 @@
 llvm::Function* JnjvmModule::MultiCallNewFunction = 0;
 llvm::Function* JnjvmModule::GetConstantPoolAtFunction = 0;
 
-#ifdef MULTIPLE_VM
+#ifdef ISOLATE
 llvm::Function* JnjvmModule::StringLookupFunction = 0;
+
+#ifdef ISOLATE_SHARING
 llvm::Function* JnjvmModule::GetCtpCacheNodeFunction = 0;
 llvm::Function* JnjvmModule::GetCtpClassFunction = 0;
 llvm::Function* JnjvmModule::EnveloppeLookupFunction = 0;
@@ -119,6 +121,9 @@
 llvm::Function* JnjvmModule::GetArrayClassFunction = 0;
 llvm::Function* JnjvmModule::SpecialCtpLookupFunction = 0;
 #endif
+
+#endif
+
 llvm::Function* JnjvmModule::GetClassDelegateeFunction = 0;
 llvm::Function* JnjvmModule::ArrayLengthFunction = 0;
 llvm::Function* JnjvmModule::GetVTFunction = 0;
@@ -174,7 +179,7 @@
 }
 
 Value* LLVMCommonClassInfo::getDelegatee(JavaJIT* jit) {
-#ifndef MULTIPLE_VM
+#ifndef ISOLATE
   if (!delegateeGV) {
     JavaObject* obj = classDef->getClassDelegatee(JavaThread::get()->isolate);
     Constant* cons = 
@@ -214,7 +219,7 @@
     VirtualTable* VT = 0;
     if (meth->name->equals(Jnjvm::finalize)) {
       VT = allocateVT(cl, ++meths);
-#ifndef MULTIPLE_VM
+#ifndef ISOLATE_SHARING
       meth->offset = 0;
       Function* func = cl->classLoader->TheModuleProvider->parseFunction(meth);
       if (!cl->super) meth->canBeInlined = true;
@@ -461,7 +466,7 @@
   return staticType;
 }
 
-#ifndef MULTIPLE_VM
+#ifndef ISOLATE
 Value* LLVMClassInfo::getStaticVar(JavaJIT* jit) {
   if (!staticVarGV) {
     getStaticType();
@@ -579,7 +584,7 @@
       llvmArgs.push_back(LAI.llvmType);
     }
 
-#if defined(MULTIPLE_VM)
+#if defined(ISOLATE_SHARING)
     llvmArgs.push_back(JnjvmModule::JnjvmType); // vm
     llvmArgs.push_back(JnjvmModule::ConstantPoolType); // cached constant pool
 #endif
@@ -603,7 +608,7 @@
       llvmArgs.push_back(LAI.llvmType);
     }
 
-#if defined(MULTIPLE_VM)
+#if defined(ISOLATE_SHARING)
     llvmArgs.push_back(JnjvmModule::JnjvmType); // vm
     llvmArgs.push_back(JnjvmModule::ConstantPoolType); // cached constant pool
 #endif
@@ -630,7 +635,7 @@
       llvmArgs.push_back(LAI.llvmType);
     }
 
-#if defined(MULTIPLE_VM)
+#if defined(ISOLATE_SHARING)
     llvmArgs.push_back(JnjvmModule::JnjvmType); // vm
     llvmArgs.push_back(JnjvmModule::ConstantPoolType); // cached constant pool
 #endif
@@ -656,11 +661,11 @@
   BasicBlock* currentBlock = BasicBlock::Create("enter", res);
   Function::arg_iterator i = res->arg_begin();
   Value *obj, *ptr, *func;
-#if defined(MULTIPLE_VM)
+#if defined(ISOLATE_SHARING)
   Value* vm = i;
 #endif
   ++i;
-#if defined(MULTIPLE_VM)
+#if defined(ISOLATE_SHARING)
   Value* ctp = i;
 #endif
   ++i;
@@ -689,7 +694,7 @@
     }
   }
 
-#if defined(MULTIPLE_VM)
+#if defined(ISOLATE_SHARING)
   Args.push_back(vm);
   Args.push_back(ctp);
 #endif
@@ -716,11 +721,11 @@
   BasicBlock* currentBlock = BasicBlock::Create("enter", res);
   Function::arg_iterator i = res->arg_begin();
   Value *obj, *ap, *func;
-#if defined(MULTIPLE_VM)
+#if defined(ISOLATE_SHARING)
   Value* vm = i;
 #endif
   ++i;
-#if defined(MULTIPLE_VM)
+#if defined(ISOLATE_SHARING)
   Value* ctp = i;
 #endif
   ++i;
@@ -739,7 +744,7 @@
     Args.push_back(new VAArgInst(ap, LAI.llvmType, "", currentBlock));
   }
 
-#if defined(MULTIPLE_VM)
+#if defined(ISOLATE_SHARING)
   Args.push_back(vm);
   Args.push_back(ctp);
 #endif
@@ -1021,8 +1026,9 @@
   ClearExceptionFunction = module->getFunction("JavaThreadClearException");
   
 
-#ifdef MULTIPLE_VM
+#ifdef ISOLATE
   StringLookupFunction = module->getFunction("stringLookup");
+#ifdef ISOLATE_SHARING
   EnveloppeLookupFunction = module->getFunction("enveloppeLookup");
   GetCtpCacheNodeFunction = module->getFunction("getCtpCacheNode");
   GetCtpClassFunction = module->getFunction("getCtpClass");
@@ -1033,6 +1039,7 @@
   SpecialCtpLookupFunction = module->getFunction("specialCtpLookup");
   GetArrayClassFunction = module->getFunction("getArrayClass");
 #endif
+#endif
   
 #ifdef SERVICE_VM
   AquireObjectInSharedDomainFunction = 

Modified: vmkit/trunk/lib/JnJVM/VMCore/JnjvmModule.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/JnjvmModule.h?rev=57293&r1=57292&r2=57293&view=diff

==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/JnjvmModule.h (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/JnjvmModule.h Wed Oct  8 07:42:32 2008
@@ -345,8 +345,9 @@
 #endif
   static llvm::Function* MultiCallNewFunction;
 
-#ifdef MULTIPLE_VM
+#ifdef ISOLATE
   static llvm::Function* StringLookupFunction;
+#ifdef ISOLATE_SHARING
   static llvm::Function* GetCtpCacheNodeFunction;
   static llvm::Function* GetCtpClassFunction;
   static llvm::Function* EnveloppeLookupFunction;
@@ -356,6 +357,7 @@
   static llvm::Function* SpecialCtpLookupFunction;
   static llvm::Function* GetArrayClassFunction;
 #endif
+#endif
 
   static llvm::Function* GetClassDelegateeFunction;
   static llvm::Function* ArrayLengthFunction;

Modified: vmkit/trunk/lib/JnJVM/VMCore/JnjvmModuleProvider.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/JnjvmModuleProvider.cpp?rev=57293&r1=57292&r2=57293&view=diff

==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/JnjvmModuleProvider.cpp (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/JnjvmModuleProvider.cpp Wed Oct  8 07:42:32 2008
@@ -40,7 +40,7 @@
   JavaMethod* meth = cl->lookupMethod(utf8, sign->keyName, isStatic, true,
                                       methodCl);
 
-#ifndef MULTIPLE_VM
+#ifndef ISOLATE_SHARING
   // A multi environment would have already initialized the class. Besides,
   // a callback does not involve UserClass, therefore we wouldn't know
   // which class to initialize.
@@ -97,7 +97,7 @@
     LLVMMethodInfo* LMI = ((JnjvmModule*)TheModule)->getMethodInfo(meth);
     uint64_t offset = LMI->getOffset()->getZExtValue();
     assert(meth->classDef->isResolved() && "Class not resolved");
-#ifndef MULTIPLE_VM
+#ifndef ISOLATE_SHARING
     assert(meth->classDef->isReady() && "Class not ready");
 #endif
     assert(meth->classDef->virtualVT && "Class has no VT");
@@ -105,7 +105,7 @@
         "The method's offset is greater than the virtual table size");
     ((void**)meth->classDef->virtualVT)[offset] = val;
   } else {
-#ifndef MULTIPLE_VM
+#ifndef ISOLATE_SHARING
     meth->classDef->initialiseClass(JavaThread::get()->isolate);
 #endif
   }

Modified: vmkit/trunk/lib/JnJVM/VMCore/LowerConstantCalls.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/LowerConstantCalls.cpp?rev=57293&r1=57292&r2=57293&view=diff

==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/LowerConstantCalls.cpp (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/LowerConstantCalls.cpp Wed Oct  8 07:42:32 2008
@@ -247,7 +247,7 @@
           }
           
           std::vector<Value*> indexes; //[3];
-#ifdef MULTIPLE_VM
+#ifdef ISOLATE_SHARING
           ConstantInt* Cons = dyn_cast<ConstantInt>(Index);
           assert(CI && "Wrong use of GetConstantPoolAt");
           uint64 val = Cons->getZExtValue();
@@ -318,7 +318,7 @@
         }
 #endif
 
-#ifdef MULTIPLE_VM
+#ifdef ISOLATE_SHARING
         else if (V == jnjvm::JnjvmModule::GetCtpClassFunction) {
           Changed = true;
           Value* val = Call.getArgument(0); 

Modified: vmkit/trunk/lib/JnJVM/VMCore/VirtualTables.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/VirtualTables.cpp?rev=57293&r1=57292&r2=57293&view=diff

==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/VirtualTables.cpp (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/VirtualTables.cpp Wed Oct  8 07:42:32 2008
@@ -21,7 +21,7 @@
 #ifdef SERVICE_VM
 #include "ServiceDomain.h"
 #endif
-#ifdef MULTIPLE_VM
+#ifdef CODE_SHARING
 #include "SharedMaps.h"
 #include "IsolateSharedLoader.h"
 #endif
@@ -40,7 +40,7 @@
   INIT(ClassMap);
   INIT(JnjvmBootstrapLoader);
   INIT(JnjvmClassLoader);
-#ifdef MULTIPLE_VM
+#if defined(ISOLATE_SHARING)
   INIT(JnjvmSharedLoader);
   INIT(SharedClassByteMap);
   INIT(UserClass);
@@ -69,7 +69,7 @@
 
 void CommonClass::TRACER {
   classLoader->MARK_AND_TRACE;
-#ifndef MULTIPLE_VM
+#if !defined(ISOLATE)
   delegatee->MARK_AND_TRACE;
 #endif
 }
@@ -77,7 +77,7 @@
 void Class::TRACER {
   CommonClass::PARENT_TRACER;
   bytes->MARK_AND_TRACE;
-#ifndef MULTIPLE_VM
+#if !defined(ISOLATE)
   _staticInstance->MARK_AND_TRACE;
 #endif
 }
@@ -111,7 +111,7 @@
   TRACE_VECTOR(JavaObject*, gc_allocator, globalRefs);
   bootstrapThread->MARK_AND_TRACE;
   bootstrapLoader->MARK_AND_TRACE;
-#ifdef MULTIPLE_VM
+#if defined(ISOLATE_SHARING)
   JnjvmSharedLoader::sharedLoader->MARK_AND_TRACE;
 #endif
 }
@@ -150,7 +150,7 @@
 #undef TRACE_DELEGATEE
 }
 
-#ifdef MULTIPLE_VM
+#if defined(ISOLATE_SHARING)
 void UserClass::TRACER {
   classLoader->MARK_AND_TRACE;
   delegatee->MARK_AND_TRACE;





More information about the vmkit-commits mailing list