[vmkit-commits] [vmkit] r135869 - in /vmkit/trunk/lib/J3: Classpath/ClasspathReflect.cpp Classpath/ClasspathReflect.h VMCore/JavaArray.cpp VMCore/JavaArray.h VMCore/JavaClass.cpp VMCore/JavaClass.h
Nicolas Geoffray
nicolas.geoffray at lip6.fr
Sun Jul 24 05:57:25 PDT 2011
Author: geoffray
Date: Sun Jul 24 07:57:25 2011
New Revision: 135869
URL: http://llvm.org/viewvc/llvm-project?rev=135869&view=rev
Log:
Move code around (.h ->.cpp) to remove ld errors when compiling with -g and -pg.
Added:
vmkit/trunk/lib/J3/Classpath/ClasspathReflect.cpp
Modified:
vmkit/trunk/lib/J3/Classpath/ClasspathReflect.h
vmkit/trunk/lib/J3/VMCore/JavaArray.cpp
vmkit/trunk/lib/J3/VMCore/JavaArray.h
vmkit/trunk/lib/J3/VMCore/JavaClass.cpp
vmkit/trunk/lib/J3/VMCore/JavaClass.h
Added: vmkit/trunk/lib/J3/Classpath/ClasspathReflect.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/J3/Classpath/ClasspathReflect.cpp?rev=135869&view=auto
==============================================================================
--- vmkit/trunk/lib/J3/Classpath/ClasspathReflect.cpp (added)
+++ vmkit/trunk/lib/J3/Classpath/ClasspathReflect.cpp Sun Jul 24 07:57:25 2011
@@ -0,0 +1,30 @@
+//===- ClasspathReflect.cpp - Internal representation of core system classes -//
+//
+// The VMKit project
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#include "ClasspathReflect.h"
+#include "JavaClass.h"
+#include "JavaObject.h"
+#include "JavaThread.h"
+
+namespace j3 {
+
+JavaMethod* JavaObjectConstructor::getInternalMethod(JavaObjectConstructor* self) {
+ llvm_gcroot(self, 0);
+ UserCommonClass* cls = JavaObjectClass::getClass(self->declaringClass);
+ return &(cls->asClass()->virtualMethods[self->slot]);
+}
+
+
+JavaMethod* JavaObjectMethod::getInternalMethod(JavaObjectMethod* self) {
+ llvm_gcroot(self, 0);
+ UserCommonClass* cls = JavaObjectClass::getClass(self->declaringClass);
+ return &(cls->asClass()->virtualMethods[self->slot]);
+}
+
+}
Modified: vmkit/trunk/lib/J3/Classpath/ClasspathReflect.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/J3/Classpath/ClasspathReflect.h?rev=135869&r1=135868&r2=135869&view=diff
==============================================================================
--- vmkit/trunk/lib/J3/Classpath/ClasspathReflect.h (original)
+++ vmkit/trunk/lib/J3/Classpath/ClasspathReflect.h Sun Jul 24 07:57:25 2011
@@ -104,11 +104,7 @@
mvm::Collector::markAndTrace(obj, &obj->declaringClass, closure);
}
- static JavaMethod* getInternalMethod(JavaObjectMethod* self) {
- llvm_gcroot(self, 0);
- UserCommonClass* cls = JavaObjectClass::getClass(self->declaringClass);
- return &(cls->asClass()->virtualMethods[self->slot]);
- }
+ static JavaMethod* getInternalMethod(JavaObjectMethod* self);
static UserClass* getClass(JavaObjectMethod* self) {
llvm_gcroot(self, 0);
@@ -129,11 +125,7 @@
mvm::Collector::markAndTrace(obj, &obj->declaringClass, closure);
}
- static JavaMethod* getInternalMethod(JavaObjectConstructor* self) {
- llvm_gcroot(self, 0);
- UserCommonClass* cls = JavaObjectClass::getClass(self->declaringClass);
- return &(cls->asClass()->virtualMethods[self->slot]);
- }
+ static JavaMethod* getInternalMethod(JavaObjectConstructor* self);
static UserClass* getClass(JavaObjectConstructor* self) {
llvm_gcroot(self, 0);
Modified: vmkit/trunk/lib/J3/VMCore/JavaArray.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/J3/VMCore/JavaArray.cpp?rev=135869&r1=135868&r2=135869&view=diff
==============================================================================
--- vmkit/trunk/lib/J3/VMCore/JavaArray.cpp (original)
+++ vmkit/trunk/lib/J3/VMCore/JavaArray.cpp Sun Jul 24 07:57:25 2011
@@ -34,3 +34,11 @@
const unsigned int JavaArray::T_SHORT = 9;
const unsigned int JavaArray::T_INT = 10;
const unsigned int JavaArray::T_LONG = 11;
+
+void ArrayObject::setElement(ArrayObject* self, JavaObject* value, uint32_t i) {
+ llvm_gcroot(self, 0);
+ llvm_gcroot(value, 0);
+ if (value != NULL) assert(value->getVirtualTable());
+ mvm::Collector::objectReferenceArrayWriteBarrier(
+ (gc*)self, (gc**)&(self->elements[i]), (gc*)value);
+}
Modified: vmkit/trunk/lib/J3/VMCore/JavaArray.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/J3/VMCore/JavaArray.h?rev=135869&r1=135868&r2=135869&view=diff
==============================================================================
--- vmkit/trunk/lib/J3/VMCore/JavaArray.h (original)
+++ vmkit/trunk/lib/J3/VMCore/JavaArray.h Sun Jul 24 07:57:25 2011
@@ -95,13 +95,7 @@
return self->elements[i];
}
- static void setElement(ArrayObject* self, JavaObject* value, uint32_t i) {
- llvm_gcroot(self, 0);
- llvm_gcroot(value, 0);
- if (value != NULL) assert(value->getVirtualTable());
- mvm::Collector::objectReferenceArrayWriteBarrier(
- (gc*)self, (gc**)&(self->elements[i]), (gc*)value);
- }
+ static void setElement(ArrayObject* self, JavaObject* value, uint32_t i);
static JavaObject** getElements(ArrayObject* self) {
llvm_gcroot(self, 0);
Modified: vmkit/trunk/lib/J3/VMCore/JavaClass.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/J3/VMCore/JavaClass.cpp?rev=135869&r1=135868&r2=135869&view=diff
==============================================================================
--- vmkit/trunk/lib/J3/VMCore/JavaClass.cpp (original)
+++ vmkit/trunk/lib/J3/VMCore/JavaClass.cpp Sun Jul 24 07:57:25 2011
@@ -1790,3 +1790,11 @@
JavaObject** ptr = (JavaObject**)((uint64)obj + ptrOffset);
mvm::Collector::objectReferenceWriteBarrier((gc*)obj, (gc**)ptr, (gc*)val);
}
+
+void JavaField::setStaticObjectField(JavaObject* val) {
+ llvm_gcroot(val, 0);
+ if (val != NULL) assert(val->getVirtualTable());
+ assert(classDef->isResolved());
+ JavaObject** ptr = (JavaObject**)((uint64)classDef->getStaticInstance() + ptrOffset);
+ mvm::Collector::objectReferenceNonHeapWriteBarrier((gc**)ptr, (gc*)val);
+}
Modified: vmkit/trunk/lib/J3/VMCore/JavaClass.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/J3/VMCore/JavaClass.h?rev=135869&r1=135868&r2=135869&view=diff
==============================================================================
--- vmkit/trunk/lib/J3/VMCore/JavaClass.h (original)
+++ vmkit/trunk/lib/J3/VMCore/JavaClass.h Sun Jul 24 07:57:25 2011
@@ -1246,13 +1246,7 @@
return ((JavaObject**)ptr)[0];
}
- void setStaticObjectField(JavaObject* val) {
- llvm_gcroot(val, 0);
- if (val != NULL) assert(val->getVirtualTable());
- assert(classDef->isResolved());
- JavaObject** ptr = (JavaObject**)((uint64)classDef->getStaticInstance() + ptrOffset);
- mvm::Collector::objectReferenceNonHeapWriteBarrier((gc**)ptr, (gc*)val);
- }
+ void setStaticObjectField(JavaObject* val);
JavaObject* getInstanceObjectField(JavaObject* obj) {
llvm_gcroot(obj, 0);
More information about the vmkit-commits
mailing list