more GC stress fixes

This commit is contained in:
Joel Dice 2007-07-17 07:22:29 -06:00
parent e3e9981031
commit b848c09a34
3 changed files with 5 additions and 3 deletions

View File

@ -16,7 +16,7 @@ src = src
classpath = classpath classpath = classpath
test = test test = test
input = $(cls)/Exceptions.class input = $(cls)/Threads.class
cxx = g++ cxx = g++
cc = gcc cc = gcc

View File

@ -17,7 +17,7 @@ const unsigned MinimumGen2SizeInBytes = 128 * 1024;
const unsigned Top = ~static_cast<unsigned>(0); const unsigned Top = ~static_cast<unsigned>(0);
const bool Verbose = false; const bool Verbose = true;
const bool Debug = false; const bool Debug = false;
class Context; class Context;

View File

@ -910,6 +910,8 @@ parseMethodTable(Thread* t, Stream& s, object class_, object pool)
object method = arrayBody(t, methodTable, i); object method = arrayBody(t, methodTable, i);
if (methodFlags(t, method) & ACC_NATIVE) { if (methodFlags(t, method) & ACC_NATIVE) {
PROTECT(t, method);
object overloaded = hashMapFind object overloaded = hashMapFind
(t, nativeMap, method, methodHash, methodEqual); (t, nativeMap, method, methodHash, methodEqual);
@ -932,7 +934,7 @@ parseMethodTable(Thread* t, Stream& s, object class_, object pool)
// generate class vtable // generate class vtable
unsigned i = 0; unsigned i = 0;
object vtable = makeArray(t, virtualCount, false); object vtable = makeArray(t, virtualCount, true);
if (classFlags(t, class_) & ACC_INTERFACE) { if (classFlags(t, class_) & ACC_INTERFACE) {
PROTECT(t, vtable); PROTECT(t, vtable);