[vmkit-commits] [vmkit] r59826 - in /vmkit/trunk/lib/JnJVM/VMCore: JavaClass.h JavaRuntimeJIT.cpp Jnjvm.cpp JnjvmClassLoader.h
Nicolas Geoffray
nicolas.geoffray at lip6.fr
Fri Nov 21 08:45:46 PST 2008
Author: geoffray
Date: Fri Nov 21 10:45:43 2008
New Revision: 59826
URL: http://llvm.org/viewvc/llvm-project?rev=59826&view=rev
Log:
Small initialization fixes for the SERVICE environment.
Modified:
vmkit/trunk/lib/JnJVM/VMCore/JavaClass.h
vmkit/trunk/lib/JnJVM/VMCore/JavaRuntimeJIT.cpp
vmkit/trunk/lib/JnJVM/VMCore/Jnjvm.cpp
vmkit/trunk/lib/JnJVM/VMCore/JnjvmClassLoader.h
Modified: vmkit/trunk/lib/JnJVM/VMCore/JavaClass.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/JavaClass.h?rev=59826&r1=59825&r2=59826&view=diff
==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/JavaClass.h (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/JavaClass.h Fri Nov 21 10:45:43 2008
@@ -527,13 +527,7 @@
}
void setInitializationState(JavaState st) {
- if (classLoader == classLoader->bootstrapLoader) {
- getCurrentTaskClassMirror().status = st;
- } else {
- for (uint32 i = 0; i < NR_ISOLATES; ++i) {
- IsolateInfo[i].status = st;
- }
- }
+ getCurrentTaskClassMirror().status = st;
}
JavaObject* getDelegatee() {
@@ -685,13 +679,7 @@
}
void setStaticInstance(JavaObject* val) {
- if (classLoader == classLoader->bootstrapLoader) {
- getCurrentTaskClassMirror().staticInstance = val;
- } else {
- for (uint32 i = 0; i < NR_ISOLATES; ++i) {
- IsolateInfo[i].staticInstance = val;
- }
- }
+ getCurrentTaskClassMirror().staticInstance = val;
}
#endif
Modified: vmkit/trunk/lib/JnJVM/VMCore/JavaRuntimeJIT.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/JavaRuntimeJIT.cpp?rev=59826&r1=59825&r2=59826&view=diff
==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/JavaRuntimeJIT.cpp (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/JavaRuntimeJIT.cpp Fri Nov 21 10:45:43 2008
@@ -36,8 +36,10 @@
uint32 index = enveloppe->index;
ctpInfo->resolveMethod(index, cl, utf8, sign);
+#ifndef SERVICE
assert(obj->classOf->isInitializing() &&
"Class not ready in a virtual lookup.");
+#endif
enveloppe->cacheLock.lock();
CacheNode* rcache = 0;
@@ -58,7 +60,7 @@
UserClass* methodCl = 0;
JavaMethod* dmeth = ocl->lookupMethod(utf8, sign->keyName, false, true,
&methodCl);
-#ifndef ISOLATE_SHARING
+#if !defined(ISOLATE_SHARING) && !defined(SERVICE)
assert(dmeth->classDef->isInitializing() &&
"Class not ready in a virtual lookup.");
#endif
@@ -228,7 +230,7 @@
caller->getConstantPool()->ctpRes[index] = (void*)dmeth->offset;
}
-#ifndef ISOLATE_SHARING
+#if !defined(ISOLATE_SHARING) && !defined(SERVICE)
assert(dmeth->classDef->isInitializing() &&
"Class not ready in a virtual lookup.");
#endif
Modified: vmkit/trunk/lib/JnJVM/VMCore/Jnjvm.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/Jnjvm.cpp?rev=59826&r1=59825&r2=59826&view=diff
==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/Jnjvm.cpp (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/Jnjvm.cpp Fri Nov 21 10:45:43 2008
@@ -168,7 +168,13 @@
throw exc;
}
}
-
+
+#ifdef SERVICE
+ JavaObject* exc = 0;
+ if (classLoader == classLoader->bootstrapLoader ||
+ classLoader->isolate == vm) {
+#endif
+
// 8. Next, execute either the class variable initializers and static
// initializers of the class or the field initializers of the interface,
// in textual order, as though they were a single block, except that
@@ -203,6 +209,9 @@
JavaThread::clearException();
}
}
+#ifdef SERVICE
+ }
+#endif
// 9. If the execution of the initializers completes normally, then lock
// this Class object, label it fully initialized, notify all waiting
Modified: vmkit/trunk/lib/JnJVM/VMCore/JnjvmClassLoader.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/JnjvmClassLoader.h?rev=59826&r1=59825&r2=59826&view=diff
==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/JnjvmClassLoader.h (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/JnjvmClassLoader.h Fri Nov 21 10:45:43 2008
@@ -53,6 +53,7 @@
class JnjvmClassLoader : public mvm::CompilationUnit {
friend class JavaJIT;
friend class Jnjvm;
+ friend class UserCommonClass;
private:
More information about the vmkit-commits
mailing list