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

Nicolas Geoffray nicolas.geoffray at lip6.fr
Tue Jan 6 13:22:23 PST 2009


Author: geoffray
Date: Tue Jan  6 15:22:22 2009
New Revision: 61823

URL: http://llvm.org/viewvc/llvm-project?rev=61823&view=rev
Log:
Add the bootstrap strings to the virtual machine when the vm is created.


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

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

==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/Jnjvm.cpp (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/Jnjvm.cpp Tue Jan  6 15:22:22 2009
@@ -1051,7 +1051,12 @@
   upcalls = bootstrapLoader->upcalls;
 
   throwable = upcalls->newThrowable;
- 
+  
+  for (std::vector<JavaString*>::iterator i = loader->strings.begin(),
+       e = loader->strings.end(); i != e; ++i) {
+    hashStr.insert(*i);
+  }
+
 #ifdef ISOLATE
   IsolateLock.lock();
   for (uint32 i = 0; i < NR_ISOLATES; ++i) {

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

==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/LockedMap.cpp (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/LockedMap.cpp Tue Jan  6 15:22:22 2009
@@ -170,3 +170,7 @@
 void UTF8Map::insert(const UTF8* val) {
   map.insert(std::make_pair(readerHasher(val->elements, val->size), val));
 }
+
+void StringMap::insert(JavaString* str) {
+  map.insert(std::make_pair(str->value, str));
+}

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

==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/LockedMap.h (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/LockedMap.h Tue Jan  6 15:22:22 2009
@@ -144,6 +144,10 @@
 
 class StringMap :
   public LockedMap<const UTF8*, JavaString*, ltutf8, Jnjvm*> {
+
+public:
+  void insert(JavaString* str);
+
 };
 
 class TypeMap : public mvm::PermanentObject {





More information about the vmkit-commits mailing list