[vmkit-commits] [vmkit] r58188 - in /vmkit/trunk/lib/JnJVM: Classpath/Classpath.cpp Classpath/ClasspathVMRuntime.cpp VMCore/JavaClass.cpp VMCore/JavaInitialise.cpp VMCore/JavaJIT.cpp VMCore/Jni.cpp VMCore/Jnjvm.cpp VMCore/Jnjvm.h VMCore/JnjvmClassLoader.cpp VMCore/JnjvmClassLoader.h VMCore/JnjvmModule.cpp

Nicolas Geoffray nicolas.geoffray at lip6.fr
Sun Oct 26 10:13:01 PDT 2008


Author: geoffray
Date: Sun Oct 26 12:12:59 2008
New Revision: 58188

URL: http://llvm.org/viewvc/llvm-project?rev=58188&view=rev
Log:
Move internal UTF8s used by JnJVM to the BootstrapClassLoader.


Modified:
    vmkit/trunk/lib/JnJVM/Classpath/Classpath.cpp
    vmkit/trunk/lib/JnJVM/Classpath/ClasspathVMRuntime.cpp
    vmkit/trunk/lib/JnJVM/VMCore/JavaClass.cpp
    vmkit/trunk/lib/JnJVM/VMCore/JavaInitialise.cpp
    vmkit/trunk/lib/JnJVM/VMCore/JavaJIT.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/JnjvmModule.cpp

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

==============================================================================
--- vmkit/trunk/lib/JnJVM/Classpath/Classpath.cpp (original)
+++ vmkit/trunk/lib/JnJVM/Classpath/Classpath.cpp Sun Oct 26 12:12:59 2008
@@ -32,7 +32,8 @@
   verifyNull(Cl);
   Jnjvm* vm = JavaThread::get()->isolate;
   UserCommonClass* cl = NativeUtil::resolvedImplClass(vm, Cl, true);
-  if (cl->lookupMethodDontThrow(Jnjvm::clinitName, Jnjvm::clinitType, true,
+  if (cl->lookupMethodDontThrow(vm->bootstrapLoader->clinitName,
+                                vm->bootstrapLoader->clinitType, true,
                                 false, 0))
     return true;
   

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

==============================================================================
--- vmkit/trunk/lib/JnJVM/Classpath/ClasspathVMRuntime.cpp (original)
+++ vmkit/trunk/lib/JnJVM/Classpath/ClasspathVMRuntime.cpp Sun Oct 26 12:12:59 2008
@@ -44,17 +44,18 @@
   const UTF8* utf8Lib = strLib->value;
   uint32 stLib = strLib->offset;
   sint32 lgLib = strLib->count;
-  sint32 lgPre = vm->prelib->size;
-  sint32 lgPost = vm->postlib->size;
+  sint32 lgPre = vm->bootstrapLoader->prelib->size;
+  sint32 lgPost = vm->bootstrapLoader->postlib->size;
   
   uint32 size = (uint32)(lgPre + lgLib + lgPost);
   ArrayUInt16* array = (ArrayUInt16*)vm->upcalls->ArrayOfChar->doNew(size, vm);
   uint16* elements = array->elements;
 
-  memmove(elements, vm->prelib->elements, lgPre * sizeof(uint16));
+  memmove(elements, vm->bootstrapLoader->prelib->elements,
+          lgPre * sizeof(uint16));
   memmove(&(elements[lgPre]), &(utf8Lib->elements[stLib]), 
           lgLib * sizeof(uint16));
-  memmove(&(elements[lgPre + lgLib]), vm->postlib->elements,
+  memmove(&(elements[lgPre + lgLib]), vm->bootstrapLoader->postlib->elements,
            lgPost * sizeof(uint16));
   
   return (jobject)(vm->UTF8ToStr((const UTF8*)array));

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

==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/JavaClass.cpp (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/JavaClass.cpp Sun Oct 26 12:12:59 2008
@@ -897,7 +897,8 @@
   for (uint32 i = 0; i < nbVirtualMethods; ++i) {
     JavaMethod* meth = &virtualMethods[i];
     bool pub = isPublic(meth->access);
-    if (meth->name->equals(Jnjvm::initName) && (!publicOnly || pub)) {
+    if (meth->name->equals(classLoader->bootstrapLoader->initName) && 
+        (!publicOnly || pub)) {
       res.push_back(meth);
     }
   }
@@ -908,7 +909,8 @@
   for (uint32 i = 0; i < nbVirtualMethods; ++i) {
     JavaMethod* meth = &virtualMethods[i];
     bool pub = isPublic(meth->access);
-    if (!(meth->name->equals(Jnjvm::initName)) && (!publicOnly || pub)) {
+    if (!(meth->name->equals(classLoader->bootstrapLoader->initName)) && 
+        (!publicOnly || pub)) {
       res.push_back(meth);
     }
   }
@@ -916,7 +918,8 @@
   for (uint32 i = 0; i < nbStaticMethods; ++i) {
     JavaMethod* meth = &staticMethods[i];
     bool pub = isPublic(meth->access);
-    if (!(meth->name->equals(Jnjvm::clinitName)) && (!publicOnly || pub)) {
+    if (!(meth->name->equals(classLoader->bootstrapLoader->clinitName)) && 
+        (!publicOnly || pub)) {
       res.push_back(meth);
     }
   }

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

==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/JavaInitialise.cpp (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/JavaInitialise.cpp Sun Oct 26 12:12:59 2008
@@ -183,23 +183,23 @@
   Attribut::innerClassesAttribut = JCL->asciizConstructUTF8("InnerClasses");
   Attribut::sourceFileAttribut = JCL->asciizConstructUTF8("SourceFile");
   
-  Jnjvm::initName = JCL->asciizConstructUTF8("<init>");
-  Jnjvm::clinitName = JCL->asciizConstructUTF8("<clinit>");
-  Jnjvm::clinitType = JCL->asciizConstructUTF8("()V");
-  Jnjvm::runName = JCL->asciizConstructUTF8("run");
-  Jnjvm::prelib = JCL->asciizConstructUTF8("lib");
+  JCL->initName = JCL->asciizConstructUTF8("<init>");
+  JCL->clinitName = JCL->asciizConstructUTF8("<clinit>");
+  JCL->clinitType = JCL->asciizConstructUTF8("()V");
+  JCL->runName = JCL->asciizConstructUTF8("run");
+  JCL->prelib = JCL->asciizConstructUTF8("lib");
 #if defined(__MACH__)
-  Jnjvm::postlib = JCL->asciizConstructUTF8(".dylib");
+  JCL->postlib = JCL->asciizConstructUTF8(".dylib");
 #else 
-  Jnjvm::postlib = JCL->asciizConstructUTF8(".so");
+  JCL->postlib = JCL->asciizConstructUTF8(".so");
 #endif
-  Jnjvm::mathName = JCL->asciizConstructUTF8("java/lang/Math");
-  Jnjvm::stackWalkerName = JCL->asciizConstructUTF8("gnu/classpath/VMStackWalker");
-  Jnjvm::NoClassDefFoundError = 
+  JCL->mathName = JCL->asciizConstructUTF8("java/lang/Math");
+  JCL->stackWalkerName = JCL->asciizConstructUTF8("gnu/classpath/VMStackWalker");
+  JCL->NoClassDefFoundError = 
     JCL->asciizConstructUTF8("java/lang/NoClassDefFoundError");
 
 #define DEF_UTF8(var) \
-  Jnjvm::var = JCL->asciizConstructUTF8(#var)
+  JCL->var = JCL->asciizConstructUTF8(#var)
   
   DEF_UTF8(abs);
   DEF_UTF8(sqrt);

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

==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/JavaJIT.cpp (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/JavaJIT.cpp Sun Oct 26 12:12:59 2008
@@ -1430,7 +1430,8 @@
 
 Instruction* JavaJIT::lowerMathOps(const UTF8* name, 
                                    std::vector<Value*>& args) {
-  if (name->equals(Jnjvm::abs)) {
+  JnjvmBootstrapLoader* loader = compilingClass->classLoader->bootstrapLoader;
+  if (name->equals(loader->abs)) {
     const Type* Ty = args[0]->getType();
     if (Ty == Type::Int32Ty) {
       Constant* const_int32_9 = module->constantZero;
@@ -1464,71 +1465,71 @@
       return llvm::CallInst::Create(module->func_llvm_fabs_f64, args[0],
                                     "tmp1", currentBlock);
     }
-  } else if (name->equals(Jnjvm::sqrt)) {
+  } else if (name->equals(loader->sqrt)) {
     return llvm::CallInst::Create(module->func_llvm_sqrt_f64, args[0],
                                   "tmp1", currentBlock);
-  } else if (name->equals(Jnjvm::sin)) {
+  } else if (name->equals(loader->sin)) {
     return llvm::CallInst::Create(module->func_llvm_sin_f64, args[0], 
                                   "tmp1", currentBlock);
-  } else if (name->equals(Jnjvm::cos)) {
+  } else if (name->equals(loader->cos)) {
     return llvm::CallInst::Create(module->func_llvm_cos_f64, args[0], 
                                   "tmp1", currentBlock);
-  } else if (name->equals(Jnjvm::tan)) {
+  } else if (name->equals(loader->tan)) {
     return llvm::CallInst::Create(module->func_llvm_tan_f64, args[0], 
                                   "tmp1", currentBlock);
-  } else if (name->equals(Jnjvm::asin)) {
+  } else if (name->equals(loader->asin)) {
     return llvm::CallInst::Create(module->func_llvm_asin_f64, args[0], 
                                   "tmp1", currentBlock);
-  } else if (name->equals(Jnjvm::acos)) {
+  } else if (name->equals(loader->acos)) {
     return llvm::CallInst::Create(module->func_llvm_acos_f64, args[0], 
                                   "tmp1", currentBlock);
-  } else if (name->equals(Jnjvm::atan)) {
+  } else if (name->equals(loader->atan)) {
     return llvm::CallInst::Create(module->func_llvm_atan_f64, args[0],
                                   "tmp1", currentBlock);
-  } else if (name->equals(Jnjvm::atan2)) {
+  } else if (name->equals(loader->atan2)) {
     return llvm::CallInst::Create(module->func_llvm_atan2_f64, 
                                   args.begin(), args.end(), "tmp1",
                                   currentBlock);
-  } else if (name->equals(Jnjvm::exp)) {
+  } else if (name->equals(loader->exp)) {
     return llvm::CallInst::Create(module->func_llvm_exp_f64, args[0],
                                   "tmp1", currentBlock);
-  } else if (name->equals(Jnjvm::log)) {
+  } else if (name->equals(loader->log)) {
     return llvm::CallInst::Create(module->func_llvm_log_f64, args[0],
                                   "tmp1", currentBlock);
-  } else if (name->equals(Jnjvm::pow)) {
+  } else if (name->equals(loader->pow)) {
     return llvm::CallInst::Create(module->func_llvm_pow_f64, args.begin(),
                                   args.end(), "tmp1", currentBlock);
-  } else if (name->equals(Jnjvm::ceil)) {
+  } else if (name->equals(loader->ceil)) {
     return llvm::CallInst::Create(module->func_llvm_ceil_f64, args[0], "tmp1",
                                   currentBlock);
-  } else if (name->equals(Jnjvm::floor)) {
+  } else if (name->equals(loader->floor)) {
     return llvm::CallInst::Create(module->func_llvm_floor_f64, args[0],
                                   "tmp1", currentBlock);
-  } else if (name->equals(Jnjvm::rint)) {
+  } else if (name->equals(loader->rint)) {
     return llvm::CallInst::Create(module->func_llvm_rint_f64, args[0],
                                   "tmp1", currentBlock);
-  } else if (name->equals(Jnjvm::cbrt)) {
+  } else if (name->equals(loader->cbrt)) {
     return llvm::CallInst::Create(module->func_llvm_cbrt_f64, args[0], "tmp1",
                                   currentBlock);
-  } else if (name->equals(Jnjvm::cosh)) {
+  } else if (name->equals(loader->cosh)) {
     return llvm::CallInst::Create(module->func_llvm_cosh_f64, args[0], "tmp1",
                                   currentBlock);
-  } else if (name->equals(Jnjvm::expm1)) {
+  } else if (name->equals(loader->expm1)) {
     return llvm::CallInst::Create(module->func_llvm_expm1_f64, args[0],
                                   "tmp1", currentBlock);
-  } else if (name->equals(Jnjvm::hypot)) {
+  } else if (name->equals(loader->hypot)) {
     return llvm::CallInst::Create(module->func_llvm_hypot_f64, args[0],
                                   "tmp1", currentBlock);
-  } else if (name->equals(Jnjvm::log10)) {
+  } else if (name->equals(loader->log10)) {
     return llvm::CallInst::Create(module->func_llvm_log10_f64, args[0],
                                   "tmp1", currentBlock);
-  } else if (name->equals(Jnjvm::log1p)) {
+  } else if (name->equals(loader->log1p)) {
     return llvm::CallInst::Create(module->func_llvm_log1p_f64, args[0],
                                   "tmp1", currentBlock);
-  } else if (name->equals(Jnjvm::sinh)) {
+  } else if (name->equals(loader->sinh)) {
     return llvm::CallInst::Create(module->func_llvm_sinh_f64, args[0],
                                   "tmp1", currentBlock);
-  } else if (name->equals(Jnjvm::tanh)) {
+  } else if (name->equals(loader->tanh)) {
     return llvm::CallInst::Create(module->func_llvm_tanh_f64, args[0],
                                   "tmp1", currentBlock);
   }
@@ -1567,7 +1568,7 @@
   makeArgs(it, index, args, signature->args.size() + 1);
   JITVerifyNull(args[0]); 
 
-  if (cl->equals(Jnjvm::mathName)) {
+  if (cl->equals(compilingClass->classLoader->bootstrapLoader->mathName)) {
     val = lowerMathOps(name, args);
   }
 
@@ -1636,11 +1637,12 @@
   makeArgs(it, index, args, signature->args.size());
   ctpInfo->markAsStaticCall(index);
 
-  if (cl->equals(Jnjvm::mathName)) {
+  JnjvmBootstrapLoader* loader = compilingClass->classLoader->bootstrapLoader;
+  if (cl->equals(loader->mathName)) {
     val = lowerMathOps(name, args);
   }
 
-  if (cl->equals(Jnjvm::stackWalkerName)) {
+  if (cl->equals(loader->stackWalkerName)) {
     callsStackWalker = true;
   }
 

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

==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/Jni.cpp (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/Jni.cpp Sun Oct 26 12:12:59 2008
@@ -158,7 +158,7 @@
   UserCommonClass* cl = NativeUtil::resolvedImplClass(vm, clazz, true);
   if (cl->isArray()) assert(0 && "implement me");
   JavaObject* res = ((UserClass*)cl)->doNew(vm);
-  JavaMethod* init = cl->lookupMethod(Jnjvm::initName, 
+  JavaMethod* init = cl->lookupMethod(vm->bootstrapLoader->initName, 
               cl->classLoader->asciizConstructUTF8("(Ljava/lang/String;)V"),
               false, true, 0);
   init->invokeIntSpecial(vm, (UserClass*)cl, res, vm->asciizToStr(msg));

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

==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/Jnjvm.cpp (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/Jnjvm.cpp Sun Oct 26 12:12:59 2008
@@ -40,45 +40,6 @@
 
 using namespace jnjvm;
 
-#define DEF_UTF8(var) \
-  const UTF8* Jnjvm::var = 0
-  
-  DEF_UTF8(NoClassDefFoundError);
-  DEF_UTF8(initName);
-  DEF_UTF8(clinitName);
-  DEF_UTF8(clinitType);
-  DEF_UTF8(runName);
-  DEF_UTF8(prelib);
-  DEF_UTF8(postlib);
-  DEF_UTF8(mathName);
-  DEF_UTF8(stackWalkerName);
-  DEF_UTF8(abs);
-  DEF_UTF8(sqrt);
-  DEF_UTF8(sin);
-  DEF_UTF8(cos);
-  DEF_UTF8(tan);
-  DEF_UTF8(asin);
-  DEF_UTF8(acos);
-  DEF_UTF8(atan);
-  DEF_UTF8(atan2);
-  DEF_UTF8(exp);
-  DEF_UTF8(log);
-  DEF_UTF8(pow);
-  DEF_UTF8(ceil);
-  DEF_UTF8(floor);
-  DEF_UTF8(rint);
-  DEF_UTF8(cbrt);
-  DEF_UTF8(cosh);
-  DEF_UTF8(expm1);
-  DEF_UTF8(hypot);
-  DEF_UTF8(log10);
-  DEF_UTF8(log1p);
-  DEF_UTF8(sinh);
-  DEF_UTF8(tanh);
-  DEF_UTF8(finalize);
-
-#undef DEF_UTF8
-
 const char* Jnjvm::dirSeparator = "/";
 const char* Jnjvm::envSeparator = ":";
 const unsigned int Jnjvm::Magic = 0xcafebabe;
@@ -113,9 +74,9 @@
       cl->resolveStaticClass();
       
       status = inClinit;
-      JavaMethod* meth = lookupMethodDontThrow(Jnjvm::clinitName,
-                                               Jnjvm::clinitType, true,
-                                               false, 0);
+      JavaMethod* meth = lookupMethodDontThrow(vm->bootstrapLoader->clinitName,
+                                               vm->bootstrapLoader->clinitType,
+                                               true, false, 0);
       
       PRINT_DEBUG(JNJVM_LOAD, 0, COLOR_NORMAL, "; ", 0);
       PRINT_DEBUG(JNJVM_LOAD, 0, LIGHT_GREEN, "clinit ", 0);

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

==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/Jnjvm.h (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/Jnjvm.h Sun Oct 26 12:12:59 2008
@@ -173,41 +173,6 @@
   /// Magic - The magic number at the beginning of each .class file. 0xcafebabe.
   ///
   static const unsigned int Magic;
-  
-  /// Lists of UTF8s used internaly in VMKit.
-  static const UTF8* NoClassDefFoundError;
-  static const UTF8* initName;
-  static const UTF8* clinitName;
-  static const UTF8* clinitType; 
-  static const UTF8* runName; 
-  static const UTF8* prelib; 
-  static const UTF8* postlib; 
-  static const UTF8* mathName;
-  static const UTF8* stackWalkerName;
-  static const UTF8* abs;
-  static const UTF8* sqrt;
-  static const UTF8* sin;
-  static const UTF8* cos;
-  static const UTF8* tan;
-  static const UTF8* asin;
-  static const UTF8* acos;
-  static const UTF8* atan;
-  static const UTF8* atan2;
-  static const UTF8* exp;
-  static const UTF8* log;
-  static const UTF8* pow;
-  static const UTF8* ceil;
-  static const UTF8* floor;
-  static const UTF8* rint;
-  static const UTF8* cbrt;
-  static const UTF8* cosh;
-  static const UTF8* expm1;
-  static const UTF8* hypot;
-  static const UTF8* log10;
-  static const UTF8* log1p;
-  static const UTF8* sinh;
-  static const UTF8* tanh;
-  static const UTF8* finalize;
  
   /// bootstraLoader - Bootstrap loader for base classes of this virtual
   /// machine.

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

==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/JnjvmClassLoader.cpp (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/JnjvmClassLoader.cpp Sun Oct 26 12:12:59 2008
@@ -166,7 +166,7 @@
 
   if (!cl && doThrow) {
     Jnjvm* vm = JavaThread::get()->isolate;
-    if (!(name->equals(Jnjvm::NoClassDefFoundError))) {
+    if (!(name->equals(bootstrapLoader->NoClassDefFoundError))) {
       vm->unknownError("Unable to load NoClassDefFoundError");
     }
     vm->noClassDefFoundError("unable to load %s", name->printString());

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

==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/JnjvmClassLoader.h (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/JnjvmClassLoader.h Sun Oct 26 12:12:59 2008
@@ -291,6 +291,43 @@
 
   ISOLATE_STATIC UserClass** InterfacesArray;
   ISOLATE_STATIC UserClass* SuperArray;
+
+
+  /// Lists of UTF8s used internaly in VMKit.
+  const UTF8* NoClassDefFoundError;
+  const UTF8* initName;
+  const UTF8* clinitName;
+  const UTF8* clinitType; 
+  const UTF8* runName; 
+  const UTF8* prelib; 
+  const UTF8* postlib; 
+  const UTF8* mathName;
+  const UTF8* stackWalkerName;
+  const UTF8* abs;
+  const UTF8* sqrt;
+  const UTF8* sin;
+  const UTF8* cos;
+  const UTF8* tan;
+  const UTF8* asin;
+  const UTF8* acos;
+  const UTF8* atan;
+  const UTF8* atan2;
+  const UTF8* exp;
+  const UTF8* log;
+  const UTF8* pow;
+  const UTF8* ceil;
+  const UTF8* floor;
+  const UTF8* rint;
+  const UTF8* cbrt;
+  const UTF8* cosh;
+  const UTF8* expm1;
+  const UTF8* hypot;
+  const UTF8* log10;
+  const UTF8* log1p;
+  const UTF8* sinh;
+  const UTF8* tanh;
+  const UTF8* finalize;
+
 };
 
 } // end namespace jnjvm

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

==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/JnjvmModule.cpp (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/JnjvmModule.cpp Sun Oct 26 12:12:59 2008
@@ -232,7 +232,7 @@
   } else {
     JavaMethod& meth = cl->virtualMethods[index];
     VirtualTable* VT = 0;
-    if (meth.name->equals(Jnjvm::finalize)) {
+    if (meth.name->equals(cl->classLoader->bootstrapLoader->finalize)) {
       VT = allocateVT(cl, ++index);
 #ifndef ISOLATE_SHARING
       meth.offset = 0;





More information about the vmkit-commits mailing list