[vmkit-commits] [vmkit] r145900 - in /vmkit/trunk: lib/j3/Compiler/JavaAOTCompiler.cpp mmtk/mmtk-j3/MMTkObject.h
Will Dietz
wdietz2 at illinois.edu
Mon Dec 5 18:24:22 PST 2011
Author: wdietz2
Date: Mon Dec 5 20:24:21 2011
New Revision: 145900
URL: http://llvm.org/viewvc/llvm-project?rev=145900&view=rev
Log:
Fix String field layout for OpenJDK in AOT and MMTK.
Modified:
vmkit/trunk/lib/j3/Compiler/JavaAOTCompiler.cpp
vmkit/trunk/mmtk/mmtk-j3/MMTkObject.h
Modified: vmkit/trunk/lib/j3/Compiler/JavaAOTCompiler.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/j3/Compiler/JavaAOTCompiler.cpp?rev=145900&r1=145899&r2=145900&view=diff
==============================================================================
--- vmkit/trunk/lib/j3/Compiler/JavaAOTCompiler.cpp (original)
+++ vmkit/trunk/lib/j3/Compiler/JavaAOTCompiler.cpp Mon Dec 5 20:24:21 2011
@@ -787,12 +787,23 @@
Array = ConstantExpr::getBitCast(varGV, JavaIntrinsics.JavaObjectType);
Elmts.push_back(Array);
+#ifndef USE_OPENJDK
+ // Classpath fields
Elmts.push_back(ConstantInt::get(Type::getInt32Ty(getLLVMContext()),
str->count));
Elmts.push_back(ConstantInt::get(Type::getInt32Ty(getLLVMContext()),
str->cachedHashCode));
Elmts.push_back(ConstantInt::get(Type::getInt32Ty(getLLVMContext()),
str->offset));
+#else
+ // OpenJDK fields
+ Elmts.push_back(ConstantInt::get(Type::getInt32Ty(getLLVMContext()),
+ str->offset));
+ Elmts.push_back(ConstantInt::get(Type::getInt32Ty(getLLVMContext()),
+ str->count));
+ Elmts.push_back(ConstantInt::get(Type::getInt32Ty(getLLVMContext()),
+ str->cachedHashCode));
+#endif
return ConstantStruct::get(STy, Elmts);
}
Modified: vmkit/trunk/mmtk/mmtk-j3/MMTkObject.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/mmtk/mmtk-j3/MMTkObject.h?rev=145900&r1=145899&r2=145900&view=diff
==============================================================================
--- vmkit/trunk/mmtk/mmtk-j3/MMTkObject.h (original)
+++ vmkit/trunk/mmtk/mmtk-j3/MMTkObject.h Mon Dec 5 20:24:21 2011
@@ -43,9 +43,17 @@
struct MMTkString : public MMTkObject {
MMTkArray* value;
+#ifndef USE_OPENJDK
+ // Classpath fields
int32_t count;
int32_t cachedHashCode;
int32_t offset;
+#else
+ // OpenJDK fields
+ int32_t offset;
+ int32_t count;
+ int32_t cachedHashCode;
+#endif
};
struct MMTkLock : public MMTkObject {
More information about the vmkit-commits
mailing list