fix build against latest JRE 1.6.0_22

This commit accomodates a new field in java.lang.Thread and implements
JVM_FindClassFromBootLoader.
This commit is contained in:
Joel Dice 2010-11-05 15:34:28 -06:00
parent d0a6096eb0
commit df299f3564

View File

@ -298,14 +298,18 @@ class MyClasspath : public Classpath {
if (parent) { if (parent) {
group = threadGroup(t, parent->javaThread); group = threadGroup(t, parent->javaThread);
} else { } else {
group = makeThreadGroup group = allocate(t, FixedSizeOfThreadGroup, true);
(t, 0, 0, MaxPriority, false, false, false, 0, 0, 0, 0, 0); setObjectClass(t, group, type(t, Machine::ThreadGroupType));
threadGroupMaxPriority(t, group) = MaxPriority;
} }
return vm::makeThread object thread = allocate(t, FixedSizeOfThread, true);
(t, 0, NormalPriority, 0, 0, false, false, false, 0, group, setObjectClass(t, thread, type(t, Machine::ThreadType));
root(t, Machine::BootLoader), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, false, 0, 0, threadPriority(t, thread) = NormalPriority;
0, 0, false); threadGroup(t, thread) = group;
threadContextClassLoader(t, thread) = root(t, Machine::BootLoader);
return thread;
} }
virtual void virtual void
@ -1869,6 +1873,12 @@ JVM_FindClassFromClassLoader(Thread* t, const char* name, jboolean init,
return makeLocalReference(t, getJClass(t, c)); return makeLocalReference(t, getJClass(t, c));
} }
extern "C" JNIEXPORT jclass JNICALL
JVM_FindClassFromBootLoader(Thread* t, const char* name, jboolean throwError)
{
return JVM_FindClassFromClassLoader(t, name, false, 0, throwError);
}
extern "C" JNIEXPORT jclass JNICALL extern "C" JNIEXPORT jclass JNICALL
JVM_FindClassFromClass(Thread*, const char*, jboolean, JVM_FindClassFromClass(Thread*, const char*, jboolean,
jclass) { abort(); } jclass) { abort(); }