[vmkit-commits] [vmkit] r120563 - in /vmkit/branches/multi-vm: include/mvm/Object.h include/mvm/PrintBuffer.h include/mvm/UTF8.h lib/Mvm/Runtime/Object.cpp lib/Mvm/Runtime/PrintBuffer.cpp lib/Mvm/Runtime/UTF8.cpp tools/vmkit/CommandLine.cpp tools/vmkit/Launcher.cpp

Gael Thomas gael.thomas at lip6.fr
Wed Dec 1 00:18:50 PST 2010


Author: gthomas
Date: Wed Dec  1 02:18:50 2010
New Revision: 120563

URL: http://llvm.org/viewvc/llvm-project?rev=120563&view=rev
Log:
remove old object definition (put it in PrintBuffer.h). Put all related PrintBuffer functions in PrintBuffer.cpp. UTF8 does not define a tracer anymore.

Added:
    vmkit/branches/multi-vm/lib/Mvm/Runtime/PrintBuffer.cpp
      - copied, changed from r120463, vmkit/branches/multi-vm/lib/Mvm/Runtime/Object.cpp
Removed:
    vmkit/branches/multi-vm/lib/Mvm/Runtime/Object.cpp
Modified:
    vmkit/branches/multi-vm/include/mvm/Object.h
    vmkit/branches/multi-vm/include/mvm/PrintBuffer.h
    vmkit/branches/multi-vm/include/mvm/UTF8.h
    vmkit/branches/multi-vm/lib/Mvm/Runtime/UTF8.cpp
    vmkit/branches/multi-vm/tools/vmkit/CommandLine.cpp
    vmkit/branches/multi-vm/tools/vmkit/Launcher.cpp

Modified: vmkit/branches/multi-vm/include/mvm/Object.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/multi-vm/include/mvm/Object.h?rev=120563&r1=120562&r2=120563&view=diff
==============================================================================
--- vmkit/branches/multi-vm/include/mvm/Object.h (original)
+++ vmkit/branches/multi-vm/include/mvm/Object.h Wed Dec  1 02:18:50 2010
@@ -16,41 +16,6 @@
 namespace mvm {
 
 
-#define VT_DESTRUCTOR_OFFSET 0
-#define VT_OPERATOR_DELETE_OFFSET 1
-#define VT_TRACER_OFFSET 2
-#define VT_PRINT_OFFSET 3
-#define VT_HASHCODE_OFFSET 4
-#define VT_NB_FUNCS 5
-#define VT_SIZE 5 * sizeof(void*)
-
-
-class PrintBuffer;
-
-/// Object - Root of all objects. Define default implementations of virtual
-/// methods and some commodity functions.
-///
-class Object : public gc {
-public:
-	static void     default_tracer(gc *o, uintptr_t closure) {}
-	static intptr_t default_hashCode(const gc *o)            { return (intptr_t)o; }
-	static void     default_print(const gc *o, PrintBuffer *buf);
-
-  /// tracer - Default implementation of tracer. Does nothing.
-  ///
-  virtual void tracer(uintptr_t closure) { default_tracer(this, closure); }
-
-  /// print - Default implementation of print.
-  ///
-  virtual void      print(PrintBuffer *buf) const { default_print(this, buf); }
-
-  /// hashCode - Default implementation of hashCode. Returns the address
-  /// of this object.
-  ///
-  virtual intptr_t  hashCode() const { return default_hashCode(this);}
-  
-};
-
 } // end namespace mvm
 
 #endif // MVM_OBJECT_H

Modified: vmkit/branches/multi-vm/include/mvm/PrintBuffer.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/multi-vm/include/mvm/PrintBuffer.h?rev=120563&r1=120562&r2=120563&view=diff
==============================================================================
--- vmkit/branches/multi-vm/include/mvm/PrintBuffer.h (original)
+++ vmkit/branches/multi-vm/include/mvm/PrintBuffer.h Wed Dec  1 02:18:50 2010
@@ -19,6 +19,41 @@
 
 namespace mvm {
 
+// #define VT_DESTRUCTOR_OFFSET 0
+// #define VT_OPERATOR_DELETE_OFFSET 1
+// #define VT_TRACER_OFFSET 2
+// #define VT_PRINT_OFFSET 3
+// #define VT_HASHCODE_OFFSET 4
+// #define VT_NB_FUNCS 5
+// #define VT_SIZE 5 * sizeof(void*)
+
+class PrintBuffer;
+
+/// OldObject - Root of all objects. Define default implementations of virtual
+/// methods and some commodity functions.
+/// ************           Technically this class is not used anywhere, to be removed?           ************
+///
+class OldObject : public gc {
+public:
+	static void     default_tracer(gc *o, uintptr_t closure) {}
+	static intptr_t default_hashCode(const gc *o)            { return (intptr_t)o; }
+	static void     default_print(const gc *o, PrintBuffer *buf);
+
+  /// tracer - Default implementation of tracer. Does nothing.
+  ///
+  virtual void tracer(uintptr_t closure) { default_tracer(this, closure); }
+
+  /// print - Default implementation of print.
+  ///
+  virtual void      print(PrintBuffer *buf) const { default_print(this, buf); }
+
+  /// hashCode - Default implementation of hashCode. Returns the address
+  /// of this object.
+  ///
+  virtual intptr_t  hashCode() const { return default_hashCode(this);}
+  
+};
+
 /// PrintBuffer - This class is a buffered string.
 ///
 class PrintBuffer {
@@ -48,16 +83,15 @@
 		init();
 	}
 
-	template <class T>
-	PrintBuffer(const T *obj) {
+	PrintBuffer(const OldObject *obj) {
+		llvm_gcroot(obj, 0);
 		init();
 		writeObj(obj);
 	}
 
-	PrintBuffer(const Object *obj) {
-		llvm_gcroot(obj, 0);
+	PrintBuffer(const UTF8 *utf8) {
 		init();
-		writeObj(obj);
+		writeUTF8(utf8);
 	}
 
 	virtual ~PrintBuffer() {
@@ -156,17 +190,9 @@
     return this;
   }
 
-  /// writeObj - Writes anything (except an object) to the buffer.
-  ///
-	template <class T>
-  inline PrintBuffer *writeObj(const T *obj) {
-		obj->print(this);
-		return this;
-	}
-
   /// writeObj - Writes a gc Object to the buffer.
   ///
-  inline PrintBuffer *writeObj(const Object *obj) {
+  inline PrintBuffer *writeObj(const OldObject *obj) {
 		llvm_gcroot(obj, 0);
 		obj->print(this);
 		return this;

Modified: vmkit/branches/multi-vm/include/mvm/UTF8.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/multi-vm/include/mvm/UTF8.h?rev=120563&r1=120562&r2=120563&view=diff
==============================================================================
--- vmkit/branches/multi-vm/include/mvm/UTF8.h (original)
+++ vmkit/branches/multi-vm/include/mvm/UTF8.h Wed Dec  1 02:18:50 2010
@@ -56,8 +56,6 @@
                        size * sizeof(uint16)) < 0;
   }
 
-	void print(PrintBuffer *pb) const;
-
 	static uint32_t readerHasher(const uint16* buf, sint32 size);
 	
 	uint32_t hash() const {
@@ -99,48 +97,6 @@
   void insert(const UTF8* val);
 };
 
-class UTF8Builder {
-	uint16 *buf;
-	uint32  cur;
-	uint32  size;
-
-public:
-	UTF8Builder(size_t size) {
-		size = (size < 4) ? 4 : size;
-		this->buf = new uint16[size];
-		this->size = size;
-	}
-
-	UTF8Builder *append(const UTF8 *utf8, uint32 start=0, uint32 length=0xffffffff) {
-		length = length == 0xffffffff ? utf8->size : length;
-		uint32 req = cur + length;
-
-		if(req > size) {
-			uint32 newSize = size<<1;
-			while(req < newSize)
-				newSize <<= 1;
-			uint16 *newBuf = new uint16[newSize];
-			memcpy(newBuf, buf, cur<<1);
-			delete []buf;
-			buf = newBuf;
-			size = newSize;
-		}
-
-		memcpy(buf + cur, &utf8->elements + start, length<<1);
-		cur = req;
-
-		return this;
-	}
-
-	const UTF8 *toUTF8(UTF8Map *map) {
-		return map->lookupOrCreateReader(buf, size);
-	}
-
-	~UTF8Builder() {
-		delete [] buf;
-	}
-};
-
 } // end namespace mvm
 
 #endif

Removed: vmkit/branches/multi-vm/lib/Mvm/Runtime/Object.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/multi-vm/lib/Mvm/Runtime/Object.cpp?rev=120562&view=auto
==============================================================================
--- vmkit/branches/multi-vm/lib/Mvm/Runtime/Object.cpp (original)
+++ vmkit/branches/multi-vm/lib/Mvm/Runtime/Object.cpp (removed)
@@ -1,56 +0,0 @@
-//===--------- Object.cc - Common objects for vmlets ----------------------===//
-//
-//                     The Micro Virtual Machine
-//
-// This file is distributed under the University of Illinois Open Source 
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-#include <cstdio>
-#include <cstdlib>
-
-#include "MvmGC.h"
-#include "mvm/Object.h"
-#include "mvm/PrintBuffer.h"
-
-using namespace mvm;
-
-extern "C" void printFloat(float f) {
-  fprintf(stderr, "%f\n", f);
-}
-
-extern "C" void printDouble(double d) {
-  fprintf(stderr, "%f\n", d);
-}
-
-extern "C" void printLong(sint64 l) {
-  fprintf(stderr, "%lld\n", (long long int)l);
-}
-
-extern "C" void printInt(sint32 i) {
-  fprintf(stderr, "%d\n", i);
-}
-
-extern "C" void printObject(void* ptr) {
-  fprintf(stderr, "%p\n", ptr);
-}
-
-extern "C" void write_ptr(PrintBuffer* buf, void* obj) {
-  buf->writePtr(obj);
-}
-
-extern "C" void write_int(PrintBuffer* buf, int a) {
-  buf->writeS4(a);
-}
-
-extern "C" void write_str(PrintBuffer* buf, char* a) {
-  buf->write(a);
-}
-
-void Object::default_print(const gc *o, PrintBuffer *buf) {
-	llvm_gcroot(o, 0);
-  buf->write("<Object@");
-  buf->writePtr((void*)o);
-  buf->write(">");
-}

Copied: vmkit/branches/multi-vm/lib/Mvm/Runtime/PrintBuffer.cpp (from r120463, vmkit/branches/multi-vm/lib/Mvm/Runtime/Object.cpp)
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/multi-vm/lib/Mvm/Runtime/PrintBuffer.cpp?p2=vmkit/branches/multi-vm/lib/Mvm/Runtime/PrintBuffer.cpp&p1=vmkit/branches/multi-vm/lib/Mvm/Runtime/Object.cpp&r1=120463&r2=120563&rev=120563&view=diff
==============================================================================
--- vmkit/branches/multi-vm/lib/Mvm/Runtime/Object.cpp (original)
+++ vmkit/branches/multi-vm/lib/Mvm/Runtime/PrintBuffer.cpp Wed Dec  1 02:18:50 2010
@@ -48,9 +48,57 @@
   buf->write(a);
 }
 
-void Object::default_print(const gc *o, PrintBuffer *buf) {
+void OldObject::default_print(const gc *o, PrintBuffer *buf) {
 	llvm_gcroot(o, 0);
-  buf->write("<Object@");
+  buf->write("<OldObject@");
   buf->writePtr((void*)o);
   buf->write(">");
 }
+
+
+#if 0
+// old stuff
+
+class UTF8Builder {
+	uint16 *buf;
+	uint32  cur;
+	uint32  size;
+
+public:
+	UTF8Builder(size_t size) {
+		size = (size < 4) ? 4 : size;
+		this->buf = new uint16[size];
+		this->size = size;
+	}
+
+	UTF8Builder *append(const UTF8 *utf8, uint32 start=0, uint32 length=0xffffffff) {
+		length = length == 0xffffffff ? utf8->size : length;
+		uint32 req = cur + length;
+
+		if(req > size) {
+			uint32 newSize = size<<1;
+			while(req < newSize)
+				newSize <<= 1;
+			uint16 *newBuf = new uint16[newSize];
+			memcpy(newBuf, buf, cur<<1);
+			delete []buf;
+			buf = newBuf;
+			size = newSize;
+		}
+
+		memcpy(buf + cur, &utf8->elements + start, length<<1);
+		cur = req;
+
+		return this;
+	}
+
+	const UTF8 *toUTF8(UTF8Map *map) {
+		return map->lookupOrCreateReader(buf, size);
+	}
+
+	~UTF8Builder() {
+		delete [] buf;
+	}
+};
+
+#endif

Modified: vmkit/branches/multi-vm/lib/Mvm/Runtime/UTF8.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/multi-vm/lib/Mvm/Runtime/UTF8.cpp?rev=120563&r1=120562&r2=120563&view=diff
==============================================================================
--- vmkit/branches/multi-vm/lib/Mvm/Runtime/UTF8.cpp (original)
+++ vmkit/branches/multi-vm/lib/Mvm/Runtime/UTF8.cpp Wed Dec  1 02:18:50 2010
@@ -1,14 +1,8 @@
 #include "mvm/Allocator.h"
 #include "mvm/UTF8.h"
-#include "mvm/PrintBuffer.h"
 
 using namespace mvm;
 
-void UTF8::print(PrintBuffer *pb) const {
-	pb->writeUTF8(this);
-}
-
-
 const UTF8* UTF8::extract(UTF8Map* map, uint32 start, uint32 end) const {
   uint32 len = end - start;
   ThreadAllocator allocator;

Modified: vmkit/branches/multi-vm/tools/vmkit/CommandLine.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/multi-vm/tools/vmkit/CommandLine.cpp?rev=120563&r1=120562&r2=120563&view=diff
==============================================================================
--- vmkit/branches/multi-vm/tools/vmkit/CommandLine.cpp (original)
+++ vmkit/branches/multi-vm/tools/vmkit/CommandLine.cpp Wed Dec  1 02:18:50 2010
@@ -6,7 +6,7 @@
 // License. See LICENSE.TXT for details.
 //
 //===----------------------------------------------------------------------===//
-
+#if 0
 
 #include <assert.h>
 #include <dlfcn.h>
@@ -172,3 +172,5 @@
     }
   }
 }
+
+#endif

Modified: vmkit/branches/multi-vm/tools/vmkit/Launcher.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/multi-vm/tools/vmkit/Launcher.cpp?rev=120563&r1=120562&r2=120563&view=diff
==============================================================================
--- vmkit/branches/multi-vm/tools/vmkit/Launcher.cpp (original)
+++ vmkit/branches/multi-vm/tools/vmkit/Launcher.cpp Wed Dec  1 02:18:50 2010
@@ -11,7 +11,7 @@
 #include "llvm/LinkAllVMCore.h"
 #include "llvm/PassManager.h"
 #include "llvm/CodeGen/LinkAllCodegenComponents.h"
-#include "llvm/Support/CommandLine.h"
+//#include "llvm/Support/CommandLine.h"
 #include "llvm/Support/ManagedStatic.h"
 #include "llvm/Support/PassNameParser.h"
 #include "llvm/Support/PluginLoader.h"
@@ -29,7 +29,7 @@
 #include "../../lib/J3/VMCore/JnjvmClassLoader.h"
 #include "../../lib/J3/VMCore/Jnjvm.h"
 
-#include "CommandLine.h"
+//#include "CommandLine.h"
 
 using namespace j3;
 using namespace llvm;





More information about the vmkit-commits mailing list