[vmkit-commits] [vmkit] r61897 - /vmkit/trunk/lib/JnJVM/VMCore/JavaUpcalls.cpp
Nicolas Geoffray
nicolas.geoffray at lip6.fr
Wed Jan 7 15:17:50 PST 2009
Author: geoffray
Date: Wed Jan 7 17:17:50 2009
New Revision: 61897
URL: http://llvm.org/viewvc/llvm-project?rev=61897&view=rev
Log:
Implementation AccessibleObject functions since they are buggy in classpath
0.97.2.
Modified:
vmkit/trunk/lib/JnJVM/VMCore/JavaUpcalls.cpp
Modified: vmkit/trunk/lib/JnJVM/VMCore/JavaUpcalls.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/JavaUpcalls.cpp?rev=61897&r1=61896&r2=61897&view=diff
==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/JavaUpcalls.cpp (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/JavaUpcalls.cpp Wed Jan 7 17:17:50 2009
@@ -300,6 +300,16 @@
return res;
}
+extern "C" JavaObject* nativeGetAnnotation(JavaObject* obj) {
+ return 0;
+}
+
+extern "C" JavaObject* nativeGetDeclaredAnnotations() {
+ Jnjvm* vm = JavaThread::get()->getJVM();
+ UserClassArray* array = vm->upcalls->constructorArrayAnnotation;
+ return array->doNew(0, vm);
+}
+
extern "C" void nativePropertiesPostInit(JavaObject* prop);
@@ -681,5 +691,21 @@
"(Ljava/util/Properties;)V", ACC_STATIC);
postProperties->setCompiledPtr((void*)(intptr_t)nativePropertiesPostInit,
"nativePropertiesPostInit");
+
+ // Also implement these twos, implementation in GNU Classpath 0.97.2 is buggy.
+ JavaMethod* getAnnotation =
+ UPCALL_METHOD(loader, "java/lang/reflect/AccessibleObject", "getAnnotation",
+ "(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;",
+ ACC_VIRTUAL);
+ getAnnotation->setCompiledPtr((void*)(intptr_t)nativeGetAnnotation,
+ "nativeGetAnnotation");
+
+ JavaMethod* getAnnotations =
+ UPCALL_METHOD(loader, "java/lang/reflect/AccessibleObject",
+ "getDeclaredAnnotations",
+ "()[Ljava/lang/annotation/Annotation;",
+ ACC_VIRTUAL);
+ getAnnotations->setCompiledPtr((void*)(intptr_t)nativeGetDeclaredAnnotations,
+ "nativeGetDeclaredAnnotations");
}
More information about the vmkit-commits
mailing list