Merge branch 'master' of oss.readytalk.com:/var/local/git/avian

This commit is contained in:
jet 2009-09-21 13:42:18 -06:00
commit ec2138d9ff
3 changed files with 8 additions and 11 deletions

View File

@ -45,8 +45,8 @@ public class Properties extends Hashtable {
return value; return value;
} }
public void setProperty(String key, String value) { public Object setProperty(String key, String value) {
put(key, value); return put(key, value);
} }
private static class Parser { private static class Parser {

View File

@ -731,7 +731,7 @@ Avian_java_lang_Runtime_exit
{ {
shutDown(t); shutDown(t);
t->m->system->exit(*arguments); t->m->system->exit(arguments[1]);
} }
extern "C" JNIEXPORT int64_t JNICALL extern "C" JNIEXPORT int64_t JNICALL

View File

@ -68,9 +68,8 @@ dispose(Thread* t, Thread* o, bool remove)
expect(t, find(t->m->rootThread, o)); expect(t, find(t->m->rootThread, o));
unsigned c = count(t->m->rootThread, o); unsigned c = count(t->m->rootThread, o);
Thread** threads = static_cast<Thread**> RUNTIME_ARRAY(Thread*, threads, c);
(allocate(t->m->system, c * sizeof(Thread*))); fill(t->m->rootThread, o, RUNTIME_ARRAY_BODY(threads));
fill(t->m->rootThread, o, threads);
#endif #endif
if (o->parent) { if (o->parent) {
@ -115,7 +114,7 @@ dispose(Thread* t, Thread* o, bool remove)
expect(t, not find(t->m->rootThread, o)); expect(t, not find(t->m->rootThread, o));
for (unsigned i = 0; i < c; ++i) { for (unsigned i = 0; i < c; ++i) {
expect(t, find(t->m->rootThread, threads[i])); expect(t, find(t->m->rootThread, RUNTIME_ARRAY_BODY(threads)[i]));
} }
#endif #endif
} }
@ -1541,6 +1540,7 @@ parseMethodTable(Thread* t, Stream& s, object class_, object pool)
} }
if (abstractVirtuals) { if (abstractVirtuals) {
PROTECT(t, vtable);
PROTECT(t, abstractVirtuals); PROTECT(t, abstractVirtuals);
unsigned oldLength = arrayLength(t, classMethodTable(t, class_)); unsigned oldLength = arrayLength(t, classMethodTable(t, class_));
@ -1714,6 +1714,7 @@ makeArrayClass(Thread* t, object loader, unsigned dimensions, object spec,
object object
makeArrayClass(Thread* t, object loader, object spec) makeArrayClass(Thread* t, object loader, object spec)
{ {
PROTECT(t, loader);
PROTECT(t, spec); PROTECT(t, spec);
const char* s = reinterpret_cast<const char*>(&byteArrayBody(t, spec, 0)); const char* s = reinterpret_cast<const char*>(&byteArrayBody(t, spec, 0));
@ -3698,8 +3699,6 @@ runJavaThread(Thread* t)
void void
runFinalizeThread(Thread* t) runFinalizeThread(Thread* t)
{ {
fprintf(stderr, "run finalize thread\n");
setDaemon(t, t->javaThread, true); setDaemon(t, t->javaThread, true);
object list = 0; object list = 0;
@ -3714,8 +3713,6 @@ runFinalizeThread(Thread* t)
} }
if (t->m->finalizeThread == 0) { if (t->m->finalizeThread == 0) {
fprintf(stderr, "exit finalize thread\n");
return; return;
} else { } else {
list = t->m->objectsToFinalize; list = t->m->objectsToFinalize;