[vmkit-commits] [vmkit] r180323 - Documenting changes in code.

Peter Senna Tschudin peter.senna at gmail.com
Thu Apr 25 09:56:36 PDT 2013


Author: peter.senna
Date: Thu Apr 25 11:55:04 2013
New Revision: 180323

URL: http://llvm.org/viewvc/llvm-project?rev=180323&view=rev
Log:
Documenting changes in code.
(cherry picked from commit 2ac6b379b88ce4ac40aa8765a4da622b8b08c83b)

Modified:
    vmkit/trunk/mmtk/mmtk-alloc/Selected.cpp
    vmkit/trunk/tests/debug.txt
    vmkit/trunk/tests/minimal.xargs

Modified: vmkit/trunk/mmtk/mmtk-alloc/Selected.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/mmtk/mmtk-alloc/Selected.cpp?rev=180323&r1=180322&r2=180323&view=diff
==============================================================================
--- vmkit/trunk/mmtk/mmtk-alloc/Selected.cpp (original)
+++ vmkit/trunk/mmtk/mmtk-alloc/Selected.cpp Thu Apr 25 11:55:04 2013
@@ -55,40 +55,13 @@ extern "C" void JnJVM_org_j3_bindings_Bi
   
 extern "C" void JnJVM_org_j3_bindings_Bindings_nonHeapWriteBarrier__Lorg_vmmagic_unboxed_Address_2Lorg_vmmagic_unboxed_ObjectReference_2(gc** ptr, gc* value) ALWAYS_INLINE;
 
-extern "C" void* JnJVM_org_j3_bindings_Bindings_prealloc__I(int sz) ALWAYS_INLINE;
+extern "C" void* JnJVM_org_j3_bindings_Bindings_gcmalloc__ILorg_vmmagic_unboxed_ObjectReference_2(
+    int sz, void* VT) ALWAYS_INLINE;
 
-extern "C" void* JnJVM_org_j3_bindings_Bindings_postalloc__Lorg_vmmagic_unboxed_ObjectReference_2Lorg_vmmagic_unboxed_ObjectReference_2I(
-		void* object, void* type, int sz) ALWAYS_INLINE;
-
-extern "C" void* prealloc(uint32_t size) {
-	gc* res = 0;
-  gcHeader* head = 0;
-  size = llvm::RoundUpToAlignment(size, sizeof(void*));
-  head = (gcHeader*) JnJVM_org_j3_bindings_Bindings_prealloc__I(size);
-  res = head->toReference();
-  return res;
-}
-
-extern "C" void postalloc(gc* obj, void* type, uint32_t size) {
-	vmkit::Thread::get()->MyVM->setType(obj->toHeader(), type);
-	JnJVM_org_j3_bindings_Bindings_postalloc__Lorg_vmmagic_unboxed_ObjectReference_2Lorg_vmmagic_unboxed_ObjectReference_2I(obj, type, size);
-}
-
-extern "C" void* gcmalloc(uint32_t sz, void* type) {
-  gc* res = 0;
-  llvm_gcroot(res, 0);
+extern "C" void* gcmalloc(uint32_t sz, void* VT) {
 	sz += gcHeader::hiddenHeaderSize();
-	res = (gc*) prealloc(sz);
-	postalloc(res, type, sz);
-	return res;
-}
-
-extern "C" void* gcmallocUnresolved(uint32_t sz, void* type) {
-  gc* res = 0;
-  llvm_gcroot(res, 0);
-  res = (gc*)gcmalloc(sz, type);
-	vmkit::Thread::get()->MyVM->addFinalizationCandidate(res);
-  return res;
+  sz = llvm::RoundUpToAlignment(sz, sizeof(void*));
+  return ((gcHeader*)JnJVM_org_j3_bindings_Bindings_gcmalloc__ILorg_vmmagic_unboxed_ObjectReference_2(sz, VT))->toReference();
 }
 
 extern "C" void addFinalizationCandidate(gc* obj) __attribute__((always_inline));
@@ -98,6 +71,13 @@ extern "C" void addFinalizationCandidate
   vmkit::Thread::get()->MyVM->addFinalizationCandidate(obj);
 }
 
+extern "C" void* gcmallocUnresolved(uint32_t sz, VirtualTable* VT) {
+  gc* res = 0;
+  llvm_gcroot(res, 0);
+  res = (gc*)gcmalloc(sz, VT);
+  if (VT->hasDestructor()) addFinalizationCandidate(res);
+  return res;
+}
 
 extern "C" void arrayWriteBarrier(void* ref, void** ptr, void* value) {
   JnJVM_org_j3_bindings_Bindings_arrayWriteBarrier__Lorg_vmmagic_unboxed_ObjectReference_2Lorg_vmmagic_unboxed_Address_2Lorg_vmmagic_unboxed_ObjectReference_2(
@@ -134,10 +114,10 @@ void Collector::scanObject(void** ptr, w
   if ((*ptr) != NULL) {
     assert(((gc*)(*ptr))->getVirtualTable());
   }
-#if RESET_STALE_REFERENCES
+
   // Allow the VM to reset references if needed
   vmkit::Thread::get()->MyVM->resetReferenceIfStale(NULL, ptr);
-#endif
+
   JnJVM_org_j3_bindings_Bindings_reportDelayedRootEdge__Lorg_mmtk_plan_TraceLocal_2Lorg_vmmagic_unboxed_Address_2(closure, ptr);
 }
  
@@ -147,10 +127,10 @@ void Collector::markAndTrace(void* sourc
     assert(((gc*)(*ptr_))->getVirtualTable());
   }
   if ((*(void**)ptr) != NULL) assert(((gc*)(*(void**)ptr))->getVirtualTable());
-#if RESET_STALE_REFERENCES
+
   // Allow the VM to reset references if needed
   vmkit::Thread::get()->MyVM->resetReferenceIfStale(source, ptr_);
-#endif
+
   JnJVM_org_j3_bindings_Bindings_processEdge__Lorg_mmtk_plan_TransitiveClosure_2Lorg_vmmagic_unboxed_ObjectReference_2Lorg_vmmagic_unboxed_Address_2(closure, source, ptr);
 }
   
@@ -159,10 +139,10 @@ void Collector::markAndTraceRoot(void* s
   if ((*ptr_) != NULL) {
     assert(((gc*)(*ptr_))->getVirtualTable());
   }
-#if RESET_STALE_REFERENCES
+
   // Allow the VM to reset references if needed
   vmkit::Thread::get()->MyVM->resetReferenceIfStale(source, ptr_);
-#endif
+
   JnJVM_org_j3_bindings_Bindings_processRootEdge__Lorg_mmtk_plan_TraceLocal_2Lorg_vmmagic_unboxed_Address_2Z(closure, ptr, true);
 }
 

Modified: vmkit/trunk/tests/debug.txt
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/tests/debug.txt?rev=180323&r1=180322&r2=180323&view=diff
==============================================================================
--- vmkit/trunk/tests/debug.txt (original)
+++ vmkit/trunk/tests/debug.txt Thu Apr 25 11:55:04 2013
@@ -1,12 +1,25 @@
-/home/koutheir/PhD/VMKit/vmkit_stale_ref/Debug+Asserts/bin/j3 -jar framework.jar -xargs /home/koutheir/PhD/VMKit/vmkit_stale_ref/tests/minimal.xargs
-
 framework call j3.J3Mgr resetReferencesToBundle ijvm.tests.AImpl
 
 framework call j3.J3Mgr resetReferencesToBundle ijvm.tests.Runner
 
 framework meminfo -gc
 
-bundles
+enter framework
+
+stop 13
+uninstall 13
+install file:///home/koutheir/PhD/VMKit/vmkit_stale_ref/tests/plugins/ijvm.tests.AImpl_1.0.0.jar
 start 18
 
-framework call j3.J3Mgr dumpClassLoaderBundles
+stop 18
+uninstall 18
+install file:///home/koutheir/PhD/VMKit/vmkit_stale_ref/tests/plugins/ijvm.tests.AImpl_1.0.0.jar
+start 19
+
+stop 19
+uninstall 19
+install file:///home/koutheir/PhD/VMKit/vmkit_stale_ref/tests/plugins/ijvm.tests.AImpl_1.0.0.jar
+start 20
+
+
+/home/koutheir/PhD/VMKit/vmkit_stale_ref/Debug+Asserts/bin/j3 -jar framework.jar -xargs /home/koutheir/PhD/VMKit/vmkit_stale_ref/tests/minimal.xargs

Modified: vmkit/trunk/tests/minimal.xargs
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/tests/minimal.xargs?rev=180323&r1=180322&r2=180323&view=diff
==============================================================================
--- vmkit/trunk/tests/minimal.xargs (original)
+++ vmkit/trunk/tests/minimal.xargs Thu Apr 25 11:55:04 2013
@@ -31,5 +31,3 @@
 -istart  file:///home/koutheir/PhD/VMKit/vmkit_stale_ref/tests/plugins/ijvm.tests.DImpl_1.0.0.jar
 
 -install file:///home/koutheir/PhD/VMKit/vmkit_stale_ref/tests/plugins/ijvm.tests.Runner_1.0.0.jar
-
--install file:///home/koutheir/PhD/VMKit/vmkit_stale_ref/tests/plugins/ijvm.tests.BundleMgmtStress_1.0.0.jar





More information about the vmkit-commits mailing list