[vmkit-commits] [vmkit] r59630 - /vmkit/trunk/lib/JnJVM/VMCore/JavaClass.h
Nicolas Geoffray
nicolas.geoffray at lip6.fr
Wed Nov 19 04:58:49 PST 2008
Author: geoffray
Date: Wed Nov 19 06:58:49 2008
New Revision: 59630
URL: http://llvm.org/viewvc/llvm-project?rev=59630&view=rev
Log:
Only base classes have different static instances in an ISOLATE
environment.
Modified:
vmkit/trunk/lib/JnJVM/VMCore/JavaClass.h
Modified: vmkit/trunk/lib/JnJVM/VMCore/JavaClass.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/JavaClass.h?rev=59630&r1=59629&r2=59630&view=diff
==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/JavaClass.h (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/JavaClass.h Wed Nov 19 06:58:49 2008
@@ -527,7 +527,13 @@
}
void setInitializationState(JavaState st) {
- getCurrentTaskClassMirror().status = st;
+ if (classLoader == classLoader->bootstrapLoader) {
+ getCurrentTaskClassMirror().status = st;
+ } else {
+ for (uint32 i = 0; i < NR_ISOLATES; ++i) {
+ IsolateInfo[i].status = st;
+ }
+ }
}
JavaObject* getDelegatee() {
@@ -679,7 +685,13 @@
}
void setStaticInstance(JavaObject* val) {
- getCurrentTaskClassMirror().staticInstance = val;
+ if (classLoader == classLoader->bootstrapLoader) {
+ getCurrentTaskClassMirror().staticInstance = val;
+ } else {
+ for (uint32 i = 0; i < NR_ISOLATES; ++i) {
+ IsolateInfo[i].staticInstance = val;
+ }
+ }
}
#endif
More information about the vmkit-commits
mailing list