mirror of
https://github.com/corda/corda.git
synced 2025-01-21 03:55:00 +00:00
Merge branch 'jdk7' of oss.readytalk.com:/var/local/git/avian into jdk7
This commit is contained in:
commit
8742ae1bde
2
makefile
2
makefile
@ -484,6 +484,7 @@ ifneq ($(platform),darwin)
|
||||
ifeq ($(arch),i386)
|
||||
# this is necessary to support __sync_bool_compare_and_swap:
|
||||
cflags += -march=i586
|
||||
lflags += -march=i586
|
||||
endif
|
||||
endif
|
||||
|
||||
@ -1098,6 +1099,7 @@ $(openjdk-jar-dep):
|
||||
$(jar) xf "$$($(native-path) "$(openjdk)/jre/lib/rt.jar")" && \
|
||||
$(jar) xf "$$($(native-path) "$(openjdk)/jre/lib/jsse.jar")" && \
|
||||
$(jar) xf "$$($(native-path) "$(openjdk)/jre/lib/jce.jar")" && \
|
||||
$(jar) xf "$$($(native-path) "$(openjdk)/jre/lib/charsets.jar")" && \
|
||||
$(jar) xf "$$($(native-path) "$(openjdk)/jre/lib/ext/sunjce_provider.jar")" && \
|
||||
$(jar) xf "$$($(native-path) "$(openjdk)/jre/lib/resources.jar")")
|
||||
@touch $(@)
|
||||
|
@ -25,7 +25,7 @@ using namespace vm;
|
||||
|
||||
namespace {
|
||||
|
||||
const unsigned HeapCapacity = 256 * 1024 * 1024;
|
||||
const unsigned HeapCapacity = 512 * 1024 * 1024;
|
||||
|
||||
const unsigned TargetFixieSizeInBytes = 8 + (TargetBytesPerWord * 2);
|
||||
const unsigned TargetFixieSizeInWords = ceiling
|
||||
@ -1287,6 +1287,9 @@ writeBootImage2(Thread* t, FILE* bootimageOutput, FILE* codeOutput,
|
||||
BootImage* image, uint8_t* code, const char* className,
|
||||
const char* methodName, const char* methodSpec)
|
||||
{
|
||||
setRoot(t, Machine::OutOfMemoryError,
|
||||
make(t, type(t, Machine::OutOfMemoryErrorType)));
|
||||
|
||||
Zone zone(t->m->system, t->m->heap, 64 * 1024);
|
||||
|
||||
object classPoolMap;
|
||||
@ -1664,14 +1667,18 @@ main(int ac, const char** av)
|
||||
// in a branch instruction for the target architecture (~32MB on
|
||||
// PowerPC and ARM). When that limitation is removed, we'll be able
|
||||
// to specify a capacity as large as we like here:
|
||||
#if (defined ARCH_x86_64) || (defined ARCH_x86_32)
|
||||
const unsigned CodeCapacity = 128 * 1024 * 1024;
|
||||
#else
|
||||
const unsigned CodeCapacity = 30 * 1024 * 1024;
|
||||
#endif
|
||||
|
||||
uint8_t* code = static_cast<uint8_t*>(h->allocate(CodeCapacity));
|
||||
BootImage image;
|
||||
p->initialize(&image, code, CodeCapacity);
|
||||
|
||||
Machine* m = new (h->allocate(sizeof(Machine))) Machine
|
||||
(s, h, f, 0, p, c, 0, 0, 0, 0);
|
||||
(s, h, f, 0, p, c, 0, 0, 0, 0, 128 * 1024);
|
||||
Thread* t = p->makeThread(m, 0, 0);
|
||||
|
||||
enter(t, Thread::ActiveState);
|
||||
|
@ -2416,6 +2416,38 @@ isInitializing(Thread* t, object c)
|
||||
return false;
|
||||
}
|
||||
|
||||
object
|
||||
findInTable(Thread* t, object table, object name, object spec,
|
||||
object& (*getName)(Thread*, object),
|
||||
object& (*getSpec)(Thread*, object))
|
||||
{
|
||||
if (table) {
|
||||
for (unsigned i = 0; i < arrayLength(t, table); ++i) {
|
||||
object o = arrayBody(t, table, i);
|
||||
if (vm::strcmp(&byteArrayBody(t, getName(t, o), 0),
|
||||
&byteArrayBody(t, name, 0)) == 0 and
|
||||
vm::strcmp(&byteArrayBody(t, getSpec(t, o), 0),
|
||||
&byteArrayBody(t, spec, 0)) == 0)
|
||||
{
|
||||
return o;
|
||||
}
|
||||
}
|
||||
|
||||
// fprintf(stderr, "%s %s not in\n",
|
||||
// &byteArrayBody(t, name, 0),
|
||||
// &byteArrayBody(t, spec, 0));
|
||||
|
||||
// for (unsigned i = 0; i < arrayLength(t, table); ++i) {
|
||||
// object o = arrayBody(t, table, i);
|
||||
// fprintf(stderr, "\t%s %s\n",
|
||||
// &byteArrayBody(t, getName(t, o), 0),
|
||||
// &byteArrayBody(t, getSpec(t, o), 0));
|
||||
// }
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
} // namespace
|
||||
|
||||
namespace vm {
|
||||
@ -3884,35 +3916,17 @@ makeObjectArray(Thread* t, object elementClass, unsigned count)
|
||||
}
|
||||
|
||||
object
|
||||
findInTable(Thread* t, object table, object name, object spec,
|
||||
object& (*getName)(Thread*, object),
|
||||
object& (*getSpec)(Thread*, object))
|
||||
findFieldInClass(Thread* t, object class_, object name, object spec)
|
||||
{
|
||||
if (table) {
|
||||
for (unsigned i = 0; i < arrayLength(t, table); ++i) {
|
||||
object o = arrayBody(t, table, i);
|
||||
if (vm::strcmp(&byteArrayBody(t, getName(t, o), 0),
|
||||
&byteArrayBody(t, name, 0)) == 0 and
|
||||
vm::strcmp(&byteArrayBody(t, getSpec(t, o), 0),
|
||||
&byteArrayBody(t, spec, 0)) == 0)
|
||||
{
|
||||
return o;
|
||||
}
|
||||
}
|
||||
return findInTable
|
||||
(t, classFieldTable(t, class_), name, spec, fieldName, fieldSpec);
|
||||
}
|
||||
|
||||
// fprintf(stderr, "%s %s not in\n",
|
||||
// &byteArrayBody(t, name, 0),
|
||||
// &byteArrayBody(t, spec, 0));
|
||||
|
||||
// for (unsigned i = 0; i < arrayLength(t, table); ++i) {
|
||||
// object o = arrayBody(t, table, i);
|
||||
// fprintf(stderr, "\t%s %s\n",
|
||||
// &byteArrayBody(t, getName(t, o), 0),
|
||||
// &byteArrayBody(t, getSpec(t, o), 0));
|
||||
// }
|
||||
}
|
||||
|
||||
return 0;
|
||||
object
|
||||
findMethodInClass(Thread* t, object class_, object name, object spec)
|
||||
{
|
||||
return findInTable
|
||||
(t, classMethodTable(t, class_), name, spec, methodName, methodSpec);
|
||||
}
|
||||
|
||||
object
|
||||
|
@ -2595,16 +2595,7 @@ makeObjectArray(Thread* t, unsigned count)
|
||||
}
|
||||
|
||||
object
|
||||
findInTable(Thread* t, object table, object name, object spec,
|
||||
object& (*getName)(Thread*, object),
|
||||
object& (*getSpec)(Thread*, object));
|
||||
|
||||
inline object
|
||||
findFieldInClass(Thread* t, object class_, object name, object spec)
|
||||
{
|
||||
return findInTable
|
||||
(t, classFieldTable(t, class_), name, spec, fieldName, fieldSpec);
|
||||
}
|
||||
findFieldInClass(Thread* t, object class_, object name, object spec);
|
||||
|
||||
inline object
|
||||
findFieldInClass2(Thread* t, object class_, const char* name, const char* spec)
|
||||
@ -2616,12 +2607,8 @@ findFieldInClass2(Thread* t, object class_, const char* name, const char* spec)
|
||||
return findFieldInClass(t, class_, n, s);
|
||||
}
|
||||
|
||||
inline object
|
||||
findMethodInClass(Thread* t, object class_, object name, object spec)
|
||||
{
|
||||
return findInTable
|
||||
(t, classMethodTable(t, class_), name, spec, methodName, methodSpec);
|
||||
}
|
||||
object
|
||||
findMethodInClass(Thread* t, object class_, object name, object spec);
|
||||
|
||||
inline object
|
||||
makeThrowable
|
||||
|
Loading…
Reference in New Issue
Block a user