[vmkit-commits] [vmkit] r85756 - /vmkit/trunk/lib/JnJVM/Classpath/ClasspathVMObject.inc
Nicolas Geoffray
nicolas.geoffray at lip6.fr
Sun Nov 1 14:17:54 PST 2009
Author: geoffray
Date: Sun Nov 1 16:17:54 2009
New Revision: 85756
URL: http://llvm.org/viewvc/llvm-project?rev=85756&view=rev
Log:
Copy the fields of the objets, not the VT and thin lock.
Modified:
vmkit/trunk/lib/JnJVM/Classpath/ClasspathVMObject.inc
Modified: vmkit/trunk/lib/JnJVM/Classpath/ClasspathVMObject.inc
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/Classpath/ClasspathVMObject.inc?rev=85756&r1=85755&r2=85756&view=diff
==============================================================================
--- vmkit/trunk/lib/JnJVM/Classpath/ClasspathVMObject.inc (original)
+++ vmkit/trunk/lib/JnJVM/Classpath/ClasspathVMObject.inc Sun Nov 1 16:17:54 2009
@@ -35,7 +35,7 @@
UserCommonClass* cl = src->getClass();
Jnjvm* vm = JavaThread::get()->getJVM();
- uint64 size = 0;
+ size_t size = 0;
if (cl->isArray()) {
UserClassArray* array = cl->asArrayClass();
UserCommonClass* base = array->baseClass();
@@ -50,8 +50,9 @@
}
res = (JavaObject*)
vm->gcAllocator.allocateManagedObject(size, src->getVirtualTable());
- memcpy(res, src, size);
- res->lock.initialise();
+ memcpy((void*)((uintptr_t)res + 2 * sizeof(void*)),
+ (void*)((uintptr_t)src + 2 * sizeof(void*)),
+ size - 2 * sizeof(void*));
END_NATIVE_EXCEPTION
More information about the vmkit-commits
mailing list