[vmkit-commits] [vmkit] r57682 - in /vmkit/trunk/lib/JnJVM/VMCore: JavaString.cpp Jnjvm.cpp Jnjvm.h

Nicolas Geoffray nicolas.geoffray at lip6.fr
Fri Oct 17 08:58:25 PDT 2008


Author: geoffray
Date: Fri Oct 17 10:58:25 2008
New Revision: 57682

URL: http://llvm.org/viewvc/llvm-project?rev=57682&view=rev
Log:
Inline the string map in the Jnjvm object.


Modified:
    vmkit/trunk/lib/JnJVM/VMCore/JavaString.cpp
    vmkit/trunk/lib/JnJVM/VMCore/Jnjvm.cpp
    vmkit/trunk/lib/JnJVM/VMCore/Jnjvm.h

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

==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/JavaString.cpp (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/JavaString.cpp Fri Oct 17 10:58:25 2008
@@ -52,5 +52,5 @@
 void JavaString::stringDestructor(JavaString* str) {
   Jnjvm* vm = JavaThread::get()->isolate;
   assert(vm && "No vm when destroying a string");
-  if (str->value) vm->hashStr->remove(str->value, str);
+  if (str->value) vm->hashStr.remove(str->value, str);
 }

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

==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/Jnjvm.cpp (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/Jnjvm.cpp Fri Oct 17 10:58:25 2008
@@ -320,7 +320,7 @@
 }
 
 JavaString* Jnjvm::internalUTF8ToStr(const UTF8* utf8) {
-  JavaString* res = hashStr->lookup(utf8);
+  JavaString* res = hashStr.lookup(utf8);
   if (!res) {
     uint32 size = utf8->size;
     UTF8* tmp = (UTF8*)upcalls->ArrayOfChar->doNew(size, this);
@@ -331,13 +331,13 @@
     }
   
     const UTF8* newUTF8 = (const UTF8*)tmp;
-    res = hashStr->lookupOrCreate(newUTF8, this, JavaString::stringDup);
+    res = hashStr.lookupOrCreate(newUTF8, this, JavaString::stringDup);
   }
   return res;
 }
 
 JavaString* Jnjvm::UTF8ToStr(const UTF8* utf8) { 
-  JavaString* res = hashStr->lookupOrCreate(utf8, this, JavaString::stringDup);
+  JavaString* res = hashStr.lookupOrCreate(utf8, this, JavaString::stringDup);
   return res;
 }
 
@@ -368,17 +368,6 @@
   return delegatee;
 }
 
-Jnjvm::~Jnjvm() {
-  if (hashStr) {
-    hashStr->~StringMap();
-    allocator.Deallocate(hashStr);
-  }
-}
-
-Jnjvm::Jnjvm() {
-  hashStr = 0;
-}
-
 #define PATH_MANIFEST "META-INF/MANIFEST.MF"
 #define MAIN_CLASS "Main-Class: "
 #define PREMAIN_CLASS "Premain-Class: "
@@ -880,7 +869,6 @@
   
   upcalls->initialiseClasspath(bootstrapLoader);
  
-  hashStr = new(allocator) StringMap();
 }
 
 const UTF8* Jnjvm::asciizToInternalUTF8(const char* asciiz) {

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

==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/Jnjvm.h (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/Jnjvm.h Fri Oct 17 10:58:25 2008
@@ -23,6 +23,7 @@
 
 #include "JavaTypes.h"
 #include "JnjvmConfig.h"
+#include "LockedMap.h"
 
 namespace jnjvm {
 
@@ -36,7 +37,6 @@
 class JavaThread;
 class JnjvmBootstrapLoader;
 class JnjvmClassLoader;
-class StringMap;
 class UserClass;
 class UserClassArray;
 class UserClassPrimitive;
@@ -256,7 +256,7 @@
 
   /// hashStr - Hash map of java/lang/String objects allocated by this JVM.
   ///
-  StringMap* hashStr;
+  StringMap hashStr;
   
 public:
   /// Exceptions - These are the only exceptions VMKit will make.
@@ -311,11 +311,11 @@
 
   /// ~Jnjvm - Destroy the JVM.
   ///
-  ~Jnjvm();
+  ~Jnjvm() {}
 
   /// Jnjvm - Allocate a default JVM, for VT initialization.
   ///
-  Jnjvm();
+  Jnjvm() {}
 
   /// addProperty - Adds a new property in the postProperties map.
   ///





More information about the vmkit-commits mailing list