[vmkit-commits] [vmkit] r73696 - in /vmkit/trunk/lib/JnJVM/VMCore: Reader.cpp VirtualTables.cpp

Nicolas Geoffray nicolas.geoffray at lip6.fr
Thu Jun 18 06:55:41 PDT 2009


Author: geoffray
Date: Thu Jun 18 08:55:33 2009
New Revision: 73696

URL: http://llvm.org/viewvc/llvm-project?rev=73696&view=rev
Log:
Allocate arrays representing files with the GC instead of the bump pointer
allocator. This enables deletion of unused files.


Modified:
    vmkit/trunk/lib/JnJVM/VMCore/Reader.cpp
    vmkit/trunk/lib/JnJVM/VMCore/VirtualTables.cpp

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

==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/Reader.cpp (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/Reader.cpp Thu Jun 18 08:55:33 2009
@@ -33,7 +33,7 @@
     long nbb = ftell(fp);
     fseek(fp, 0, SeekSet);
     UserClassArray* array = loader->upcalls->ArrayOfByte;
-    res = (ArrayUInt8*)array->doNew((sint32)nbb, loader->allocator);
+    res = (ArrayUInt8*)array->doNew((sint32)nbb, 0);
     fread(res->elements, nbb, 1, fp);
     fclose(fp);
   }

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

==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/VirtualTables.cpp (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/VirtualTables.cpp Thu Jun 18 08:55:33 2009
@@ -29,6 +29,7 @@
 #include "Jnjvm.h"
 #include "JnjvmClassLoader.h"
 #include "LockedMap.h"
+#include "Zip.h"
 
 using namespace jnjvm;
 
@@ -244,6 +245,11 @@
   TRACE_DELEGATEE(upcalls->OfLong);
   TRACE_DELEGATEE(upcalls->OfDouble);
 #undef TRACE_DELEGATEE
+  
+  for (std::vector<ZipArchive*>::iterator i = bootArchives.begin(),
+       e = bootArchives.end(); i!= e; ++i) {
+    (*i)->bytes->markAndTrace();
+  }
 }
 
 //===----------------------------------------------------------------------===//





More information about the vmkit-commits mailing list