fix various regressions due to 0.5 work

This commit is contained in:
Joel Dice 2011-02-11 21:13:11 -07:00
parent eae79fdb34
commit cb7dc1aeef
3 changed files with 15 additions and 6 deletions

View File

@ -616,11 +616,11 @@ checkFileAccess
return 0;
}
} else {
return booleanValue
return intValue
(t, t->m->processor->invoke
(t, nativeInterceptOriginal
(t, methodRuntimeDataNative(t, getMethodRuntimeData(t, method))),
reinterpret_cast<object>(arguments[0]), file, mask));
reinterpret_cast<object>(arguments[0]), file, mask)) != 0;
}
}
@ -3128,7 +3128,7 @@ jvmInvokeMethod(Thread* t, uintptr_t* arguments)
}
object result;
if (arguments) {
if (args) {
result = t->m->processor->invokeArray
(t, vmMethod, instance ? *instance : 0, *args);
} else {

View File

@ -3523,7 +3523,8 @@ postInitClass(Thread* t, object c)
object exception = t->exception;
t->exception = 0;
throwNew(t, Machine::ExceptionInInitializerErrorType, 0, 0, exception);
throwNew(t, Machine::ExceptionInInitializerErrorType,
static_cast<object>(0), 0, exception);
} else {
classVmFlags(t, c) &= ~(NeedInitFlag | InitFlag);
}

View File

@ -1971,6 +1971,8 @@ addThread(Thread* t, Thread* p)
p->peer = p->parent->child;
p->parent->child = p;
threadPeer(t, p->javaThread) = reinterpret_cast<jlong>(p);
}
inline void
@ -1985,6 +1987,8 @@ removeThread(Thread* t, Thread* p)
t->m->stateLock->notifyAll(t->systemThread);
p->parent->child = p->peer;
threadPeer(t, p->javaThread) = 0;
}
inline Thread*
@ -2592,6 +2596,8 @@ throw_(Thread* t, object e)
t->exception = e;
// printTrace(t, e);
popResources(t);
t->checkpoint->unwind();
@ -2600,9 +2606,11 @@ throw_(Thread* t, object e)
}
inline void NO_RETURN
throwNew(Thread* t, Machine::Type type)
throwNew
(Thread* t, Machine::Type type, object message = 0, object trace = 0,
object cause = 0)
{
throw_(t, makeThrowable(t, type));
throw_(t, makeThrowable(t, type, message, trace, cause));
}
inline void NO_RETURN