Merge remote branch 'origin/master' into r0.5

This commit is contained in:
Joel Dice
2011-01-25 17:30:21 -07:00
20 changed files with 191 additions and 18 deletions

View File

@ -405,6 +405,41 @@ writeBootImage2(Thread* t, FILE* out, BootImage* image, uint8_t* code,
set(t, type(t, Machine::JdoubleType), ClassName, name);
}
// resolve primitive array classes in case they are needed at
// runtime:
{ resolveSystemClass
(t, root(t, Machine::BootLoader), makeByteArray(t, "[B"), true);
if (t->exception) return;
resolveSystemClass
(t, root(t, Machine::BootLoader), makeByteArray(t, "[Z"), true);
if (t->exception) return;
resolveSystemClass
(t, root(t, Machine::BootLoader), makeByteArray(t, "[S"), true);
if (t->exception) return;
resolveSystemClass
(t, root(t, Machine::BootLoader), makeByteArray(t, "[C"), true);
if (t->exception) return;
resolveSystemClass
(t, root(t, Machine::BootLoader), makeByteArray(t, "[I"), true);
if (t->exception) return;
resolveSystemClass
(t, root(t, Machine::BootLoader), makeByteArray(t, "[J"), true);
if (t->exception) return;
resolveSystemClass
(t, root(t, Machine::BootLoader), makeByteArray(t, "[F"), true);
if (t->exception) return;
resolveSystemClass
(t, root(t, Machine::BootLoader), makeByteArray(t, "[D"), true);
if (t->exception) return;
}
collect(t, Heap::MajorCollection);
uintptr_t* heap = static_cast<uintptr_t*>