[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