mirror of
https://github.com/corda/corda.git
synced 2025-03-17 17:45:17 +00:00
fix GNU Classpath build
This commit is contained in:
parent
0c85fc7527
commit
2b4361c060
7
makefile
7
makefile
@ -54,7 +54,7 @@ ifdef gnu
|
||||
gnu-object-dep = $(build)/gnu-object.dep
|
||||
gnu-cflags = -DBOOT_BUILTINS=\"javaio,javalang,javalangreflect,javamath,javanet,javanio,javautil\" -DAVIAN_GNU
|
||||
gnu-lflags = -lgmp
|
||||
gnu-objects := $(shell find $(build)/gnu-objects -name "*.o")
|
||||
gnu-objects = $(shell find $(build)/gnu-objects -name "*.o")
|
||||
endif
|
||||
|
||||
root := $(shell (cd .. && pwd))
|
||||
@ -446,7 +446,6 @@ gnu-overrides = \
|
||||
avian/*.class \
|
||||
avian/resource/*.class \
|
||||
java/lang/Class.class \
|
||||
java/lang/Class\$$*.class \
|
||||
java/lang/Enum.class \
|
||||
java/lang/InheritableThreadLocal.class \
|
||||
java/lang/Object.class \
|
||||
@ -469,7 +468,9 @@ gnu-overrides = \
|
||||
java/lang/reflect/AccessibleObject.class \
|
||||
java/lang/reflect/Constructor.class \
|
||||
java/lang/reflect/Field.class \
|
||||
java/lang/reflect/Method.class
|
||||
java/lang/reflect/Method.class \
|
||||
java/lang/reflect/Proxy.class \
|
||||
java/lang/reflect/Proxy\$$*.class
|
||||
|
||||
test-sources = $(wildcard $(test)/*.java)
|
||||
test-classes = $(call java-classes,$(test-sources),$(test),$(test-build))
|
||||
|
@ -351,7 +351,7 @@ Avian_java_lang_VMClassLoader_getPrimitiveClass
|
||||
}
|
||||
|
||||
extern "C" JNIEXPORT int64_t JNICALL
|
||||
Avian_java_lang_ClassLoader_defineClass
|
||||
Avian_avian_SystemClassLoader_defineClass
|
||||
(Thread*, object, uintptr_t*);
|
||||
|
||||
extern "C" JNIEXPORT int64_t JNICALL
|
||||
@ -367,7 +367,7 @@ Avian_java_lang_VMClassLoader_defineClass
|
||||
// fprintf(stderr, "define class %s in %p\n", n,
|
||||
// reinterpret_cast<void*>(arguments[0]));
|
||||
|
||||
return Avian_java_lang_ClassLoader_defineClass(t, 0, args);
|
||||
return Avian_avian_SystemClassLoader_defineClass(t, 0, args);
|
||||
}
|
||||
|
||||
extern "C" JNIEXPORT int64_t JNICALL
|
||||
|
@ -173,7 +173,9 @@ turnOffTheLights(Thread* t)
|
||||
|
||||
void (*function)(Thread*, object);
|
||||
memcpy(&function, &finalizerFinalize(t, f), BytesPerWord);
|
||||
function(t, finalizerTarget(t, f));
|
||||
if (function) {
|
||||
function(t, finalizerTarget(t, f));
|
||||
}
|
||||
}
|
||||
|
||||
for (object* p = &(t->m->tenuredFinalizers); *p;) {
|
||||
@ -182,7 +184,9 @@ turnOffTheLights(Thread* t)
|
||||
|
||||
void (*function)(Thread*, object);
|
||||
memcpy(&function, &finalizerFinalize(t, f), BytesPerWord);
|
||||
function(t, finalizerTarget(t, f));
|
||||
if (function) {
|
||||
function(t, finalizerTarget(t, f));
|
||||
}
|
||||
}
|
||||
|
||||
Machine* m = t->m;
|
||||
@ -1848,8 +1852,9 @@ bootClass(Thread* t, Machine::Type type, int superType, uint32_t objectMask,
|
||||
super = (superType >= 0 ? arrayBody(t, t->m->types, superType) : 0);
|
||||
|
||||
object class_ = t->m->processor->makeClass
|
||||
(t, 0, BootstrapFlag, fixedSize, arrayElementSize, 0, mask, 0, 0, super, 0,
|
||||
0, 0, 0, 0, 0, t->m->loader, vtableLength);
|
||||
(t, 0, BootstrapFlag, fixedSize, arrayElementSize,
|
||||
arrayElementSize ? 1 : 0, mask, 0, 0, super, 0, 0, 0, 0, 0, 0,
|
||||
t->m->loader, vtableLength);
|
||||
|
||||
set(t, t->m->types, ArrayBody + (type * BytesPerWord), class_);
|
||||
}
|
||||
@ -1951,6 +1956,23 @@ boot(Thread* t)
|
||||
classVmFlags(t, arrayBody(t, m->types, Machine::JvoidType))
|
||||
|= PrimitiveFlag;
|
||||
|
||||
set(t, arrayBody(t, m->types, Machine::BooleanArrayType), ClassStaticTable,
|
||||
arrayBody(t, m->types, Machine::JbooleanType));
|
||||
set(t, arrayBody(t, m->types, Machine::ByteArrayType), ClassStaticTable,
|
||||
arrayBody(t, m->types, Machine::JbyteType));
|
||||
set(t, arrayBody(t, m->types, Machine::CharArrayType), ClassStaticTable,
|
||||
arrayBody(t, m->types, Machine::JcharType));
|
||||
set(t, arrayBody(t, m->types, Machine::ShortArrayType), ClassStaticTable,
|
||||
arrayBody(t, m->types, Machine::JshortType));
|
||||
set(t, arrayBody(t, m->types, Machine::IntArrayType), ClassStaticTable,
|
||||
arrayBody(t, m->types, Machine::JintType));
|
||||
set(t, arrayBody(t, m->types, Machine::LongArrayType), ClassStaticTable,
|
||||
arrayBody(t, m->types, Machine::JlongType));
|
||||
set(t, arrayBody(t, m->types, Machine::FloatArrayType), ClassStaticTable,
|
||||
arrayBody(t, m->types, Machine::JfloatType));
|
||||
set(t, arrayBody(t, m->types, Machine::DoubleArrayType), ClassStaticTable,
|
||||
arrayBody(t, m->types, Machine::JdoubleType));
|
||||
|
||||
m->classMap = makeHashMap(t, 0, 0);
|
||||
|
||||
m->bootstrapClassMap = makeHashMap(t, 0, 0);
|
||||
|
Loading…
x
Reference in New Issue
Block a user