[vmkit-commits] [vmkit] r54682 - in /vmkit/trunk/lib/JnJVM/VMCore: JavaArray.h JavaClass.cpp JavaClass.h JavaJIT.cpp JnjvmModule.cpp JnjvmModule.h LockedMap.h
Nicolas Geoffray
nicolas.geoffray at lip6.fr
Tue Aug 12 06:21:55 PDT 2008
Author: geoffray
Date: Tue Aug 12 08:21:50 2008
New Revision: 54682
URL: http://llvm.org/viewvc/llvm-project?rev=54682&view=rev
Log:
Fix compilation for isolate build.
Modified:
vmkit/trunk/lib/JnJVM/VMCore/JavaArray.h
vmkit/trunk/lib/JnJVM/VMCore/JavaClass.cpp
vmkit/trunk/lib/JnJVM/VMCore/JavaClass.h
vmkit/trunk/lib/JnJVM/VMCore/JavaJIT.cpp
vmkit/trunk/lib/JnJVM/VMCore/JnjvmModule.cpp
vmkit/trunk/lib/JnJVM/VMCore/JnjvmModule.h
vmkit/trunk/lib/JnJVM/VMCore/LockedMap.h
Modified: vmkit/trunk/lib/JnJVM/VMCore/JavaArray.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/JavaArray.h?rev=54682&r1=54681&r2=54682&view=diff
==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/JavaArray.h (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/JavaArray.h Tue Aug 12 08:21:50 2008
@@ -167,11 +167,22 @@
bool equals(const UTF8* other) const {
return this == other;
}
+
+ bool lessThan(const UTF8* other) const {
+ return this < other;
+ }
#else
bool equals(const UTF8* other) const {
if (size != other->size) return false;
else return !memcmp(elements, other->elements, size * sizeof(uint16));
}
+
+ bool lessThan(const UTF8* other) const {
+ if (size < other->size) return true;
+ else if (size > other->size) return false;
+ else return memcmp((const char*)elements, (const char*)other->elements,
+ size * sizeof(uint16)) < 0;
+ }
#endif
/// print - Prints the UTF8 for debugging purposes.
Modified: vmkit/trunk/lib/JnJVM/VMCore/JavaClass.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/JavaClass.cpp?rev=54682&r1=54681&r2=54682&view=diff
==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/JavaClass.cpp (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/JavaClass.cpp Tue Aug 12 08:21:50 2008
@@ -24,6 +24,7 @@
#include "JavaTypes.h"
#include "Jnjvm.h"
#include "JnjvmModuleProvider.h"
+#include "LockedMap.h"
#include "Reader.h"
using namespace jnjvm;
@@ -80,6 +81,13 @@
return 0;
}
+bool CommonClass::FieldCmp::operator<(const CommonClass::FieldCmp &cmp) const {
+ if (name->lessThan(cmp.name)) return true;
+ else if (cmp.name->lessThan(name)) return false;
+ else return type->lessThan(cmp.type);
+}
+
+
CommonClass::~CommonClass() {
free(display);
free(virtualVT);
@@ -552,10 +560,11 @@
(JavaObject*)JavaThread::get()->isolate->allocateObject(staticSize,
staticVT);
val->initialise(this);
- for (std::vector<JavaField*>::iterator i = this->staticFields.begin(),
+ for (field_iterator i = this->staticFields.begin(),
e = this->staticFields.end(); i!= e; ++i) {
- (*i)->initField(val);
+ JavaField* cur = i->second;
+ cur->initField(val);
}
Jnjvm* vm = JavaThread::get()->isolate;
Modified: vmkit/trunk/lib/JnJVM/VMCore/JavaClass.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/JavaClass.h?rev=54682&r1=54681&r2=54682&view=diff
==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/JavaClass.h (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/JavaClass.h Tue Aug 12 08:21:50 2008
@@ -136,11 +136,7 @@
FieldCmp(const UTF8* n, const UTF8* t) : name(n), type(t) {}
- inline bool operator<(const FieldCmp &cmp) const {
- if (name < cmp.name) return true;
- else if (name > cmp.name) return false;
- else return type < cmp.type;
- }
+ inline bool operator<(const FieldCmp &cmp) const;
};
public:
Modified: vmkit/trunk/lib/JnJVM/VMCore/JavaJIT.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/JavaJIT.cpp?rev=54682&r1=54681&r2=54682&view=diff
==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/JavaJIT.cpp (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/JavaJIT.cpp Tue Aug 12 08:21:50 2008
@@ -1105,9 +1105,9 @@
#else
val = (void*)utf8;
gv =
- new GlobalVariable(JnjvmModule::ArrayUInt16Type, false,
+ new GlobalVariable(JnjvmModule::JavaArrayUInt16Type, false,
GlobalValue::ExternalLinkage,
- UTF8NullConstant, "",
+ JnjvmModule::UTF8NullConstant, "",
module);
#endif
Modified: vmkit/trunk/lib/JnJVM/VMCore/JnjvmModule.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/JnjvmModule.cpp?rev=54682&r1=54681&r2=54682&view=diff
==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/JnjvmModule.cpp (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/JnjvmModule.cpp Tue Aug 12 08:21:50 2008
@@ -131,11 +131,11 @@
Value* LLVMCommonClassInfo::getVar(JavaJIT* jit) {
if (!varGV) {
#ifdef MULTIPLE_VM
- if (jit->compilingClass->isolate->module == Jnjvm::bootstrapVM->module &&
- isArray && classDef->isolate != Jnjvm::bootstrapVM) {
+ if (jit->compilingClass->isolate->TheModule == Jnjvm::bootstrapVM->TheModule &&
+ classDef->isArray && classDef->isolate != Jnjvm::bootstrapVM) {
// We know the array class can belong to bootstrap
- CommonClass* cl = Jnjvm::bootstrapVM->constructArray(this->name, 0);
- return getVar(cl, jit);
+ CommonClass* cl = Jnjvm::bootstrapVM->constructArray(classDef->name, 0);
+ return cl->isolate->TheModule->getClassInfo(cl)->getVar(jit);
}
#endif
@@ -166,8 +166,8 @@
}
return new LoadInst(delegateeGV, "", jit->currentBlock);
#else
- Value* ld = llvmVar(jit);
- return llvm::CallInst::Create(JnjvmModule::getClassDelegateeLLVM, ld, "",
+ Value* ld = getVar(jit);
+ return llvm::CallInst::Create(JnjvmModule::GetClassDelegateeFunction, ld, "",
jit->currentBlock);
#endif
}
@@ -472,8 +472,7 @@
return new LoadInst(staticVarGV, "", jit->currentBlock);
#else
- Value* var = getVar(jit->compilingClass->isolate->module);
- Value* ld = new LoadInst(var, "", jit->currentBlock);
+ Value* ld = getVar(jit);
ld = jit->invoke(JnjvmModule::InitialisationCheckFunction, ld, "",
jit->currentBlock);
return jit->invoke(JnjvmModule::GetStaticInstanceFunction, ld,
Modified: vmkit/trunk/lib/JnJVM/VMCore/JnjvmModule.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/JnjvmModule.h?rev=54682&r1=54681&r2=54682&view=diff
==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/JnjvmModule.h (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/JnjvmModule.h Tue Aug 12 08:21:50 2008
@@ -73,8 +73,11 @@
LLVMCommonClassInfo(CommonClass* cl, JnjvmModule* M) :
classDef(cl),
module(M),
- varGV(0),
- delegateeGV(0) {}
+ varGV(0)
+#ifndef MULTIPLE_VM
+ ,delegateeGV(0)
+#endif
+ {}
};
class LLVMClassInfo : public LLVMCommonClassInfo {
Modified: vmkit/trunk/lib/JnJVM/VMCore/LockedMap.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/LockedMap.h?rev=54682&r1=54681&r2=54682&view=diff
==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/LockedMap.h (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/LockedMap.h Tue Aug 12 08:21:50 2008
@@ -33,20 +33,10 @@
struct ltutf8
{
-#ifdef MULTIPLE_VM
bool operator()(const UTF8* s1, const UTF8* s2) const
{
- if (s1->size < s2->size) return true;
- else if (s1->size > s2->size) return false;
- else return memcmp((const char*)s1->elements, (const char*)s2->elements,
- s1->size * sizeof(uint16)) < 0;
+ return s1->lessThan(s2);
}
-#else
- bool operator()(const UTF8* s1, const UTF8* s2) const
- {
- return s1 < s2;
- }
-#endif
};
template<class Key, class Container, class Compare>
More information about the vmkit-commits
mailing list