[vmkit-commits] [vmkit] r120612 - in /vmkit/branches/multi-vm: include/mvm/GC.h lib/Mvm/GCMmap2/MvmGC.h lib/Mvm/MMTk/MvmGC.h

Gael Thomas gael.thomas at lip6.fr
Wed Dec 1 14:08:52 PST 2010


Author: gthomas
Date: Wed Dec  1 16:08:52 2010
New Revision: 120612

URL: http://llvm.org/viewvc/llvm-project?rev=120612&view=rev
Log:
move common part of GCVirtualTable in CommonVirtualTable

Modified:
    vmkit/branches/multi-vm/include/mvm/GC.h
    vmkit/branches/multi-vm/lib/Mvm/GCMmap2/MvmGC.h
    vmkit/branches/multi-vm/lib/Mvm/MMTk/MvmGC.h

Modified: vmkit/branches/multi-vm/include/mvm/GC.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/multi-vm/include/mvm/GC.h?rev=120612&r1=120611&r2=120612&view=diff
==============================================================================
--- vmkit/branches/multi-vm/include/mvm/GC.h (original)
+++ vmkit/branches/multi-vm/include/mvm/GC.h Wed Dec  1 16:08:52 2010
@@ -40,6 +40,23 @@
 
 	class CommonVirtualTable {
 	public:
+		uintptr_t destructor;
+		uintptr_t operatorDelete;
+		uintptr_t tracer;
+
+		uintptr_t* getFunctions() {
+			return &destructor;
+		}
+
+		CommonVirtualTable(uintptr_t d, uintptr_t o, uintptr_t t) {
+			destructor = d;
+			operatorDelete = o;
+			tracer = t;
+		}
+
+		CommonVirtualTable() {}
+
+		static void emptyTracer(void*) {}
 	};
 
 } // namespace mvm

Modified: vmkit/branches/multi-vm/lib/Mvm/GCMmap2/MvmGC.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/multi-vm/lib/Mvm/GCMmap2/MvmGC.h?rev=120612&r1=120611&r2=120612&view=diff
==============================================================================
--- vmkit/branches/multi-vm/lib/Mvm/GCMmap2/MvmGC.h (original)
+++ vmkit/branches/multi-vm/lib/Mvm/GCMmap2/MvmGC.h Wed Dec  1 16:08:52 2010
@@ -19,10 +19,6 @@
 namespace mvm {
 class GCVirtualTable : public CommonVirtualTable {
 public:
-  uintptr_t destructor;
-  uintptr_t operatorDelete;
-  uintptr_t tracer;
-  
   static uint32_t numberOfBaseFunctions() {
     return 3;
   }
@@ -31,19 +27,8 @@
     return 0;
   }
 
-  uintptr_t* getFunctions() {
-    return &destructor;
-  }
-
-  GCVirtualTable(uintptr_t d, uintptr_t o, uintptr_t t) {
-    destructor = d;
-    operatorDelete = o;
-    tracer = t;
-  }
-
+  GCVirtualTable(uintptr_t d, uintptr_t o, uintptr_t t) : CommonVirtualTable(d, o, t) {}
   GCVirtualTable() {}
-
-  static void emptyTracer(void*) {}
 };
 
 class Thread;

Modified: vmkit/branches/multi-vm/lib/Mvm/MMTk/MvmGC.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/multi-vm/lib/Mvm/MMTk/MvmGC.h?rev=120612&r1=120611&r2=120612&view=diff
==============================================================================
--- vmkit/branches/multi-vm/lib/Mvm/MMTk/MvmGC.h (original)
+++ vmkit/branches/multi-vm/lib/Mvm/MMTk/MvmGC.h Wed Dec  1 16:08:52 2010
@@ -19,9 +19,6 @@
 
 class GCVirtualTable : public CommonVirtualTable {
 public:
-  uintptr_t destructor;
-  uintptr_t operatorDelete;
-  uintptr_t tracer;
   uintptr_t specializedTracers[1];
   
   static uint32_t numberOfBaseFunctions() {
@@ -32,19 +29,8 @@
     return 1;
   }
 
-  uintptr_t* getFunctions() {
-    return &destructor;
-  }
-
-  GCVirtualTable(uintptr_t d, uintptr_t o, uintptr_t t) {
-    destructor = d;
-    operatorDelete = o;
-    tracer = t;
-  }
-
+  GCVirtualTable(uintptr_t d, uintptr_t o, uintptr_t t) : CommonVirtualTable(d, o, t) {}
   GCVirtualTable() {}
-
-  static void emptyTracer(void*) {}
 };
 
 extern "C" void* gcmallocUnresolved(uint32_t sz, VirtualTable* VT);





More information about the vmkit-commits mailing list