[vmkit-commits] [vmkit] r180300 - vmkit is using now GNU Classpath 0.99. However, annotations are not yet supported.
Peter Senna Tschudin
peter.senna at gmail.com
Thu Apr 25 09:51:51 PDT 2013
Author: peter.senna
Date: Thu Apr 25 11:50:21 2013
New Revision: 180300
URL: http://llvm.org/viewvc/llvm-project?rev=180300&view=rev
Log:
vmkit is using now GNU Classpath 0.99. However, annotations are not yet supported.
(cherry picked from commit 108b7061398f90dc9ab58f2cc8249becec195db0)
Modified:
vmkit/trunk/lib/j3/ClassLib/ClasspathConstructor.inc
vmkit/trunk/lib/j3/ClassLib/ClasspathField.inc
vmkit/trunk/lib/j3/ClassLib/ClasspathMethod.inc
vmkit/trunk/lib/j3/ClassLib/GNUClasspath/ClasspathReflect.cpp
vmkit/trunk/lib/j3/ClassLib/GNUClasspath/ClasspathReflect.h
vmkit/trunk/lib/j3/ClassLib/GNUClasspath/JavaUpcalls.cpp
Modified: vmkit/trunk/lib/j3/ClassLib/ClasspathConstructor.inc
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/j3/ClassLib/ClasspathConstructor.inc?rev=180300&r1=180299&r2=180300&view=diff
==============================================================================
--- vmkit/trunk/lib/j3/ClassLib/ClasspathConstructor.inc (original)
+++ vmkit/trunk/lib/j3/ClassLib/ClasspathConstructor.inc Thu Apr 25 11:50:21 2013
@@ -25,21 +25,7 @@ using namespace j3;
extern "C" {
-bool getClassAndMethodPointerByVMConstructor(JavaObjectVMConstructor* vmCons, UserCommonClass** cls, JavaMethod** m)
- __attribute__ ((noinline));
-
-bool getClassAndMethodPointerByVMConstructor(JavaObjectVMConstructor* vmCons, UserCommonClass** cls, JavaMethod** m) {
- JavaObject* res = 0;
- // Local object references
- llvm_gcroot(vmCons, 0);
- llvm_gcroot(res, 0);
- BEGIN_NATIVE_EXCEPTION(0)
- *cls = (UserCommonClass*)JavaObjectVMConstructor::getClass(vmCons);
- *m = JavaObjectVMConstructor::getInternalMethod(vmCons);
- END_NATIVE_EXCEPTION
- return true;
-}
JNIEXPORT jobject JNICALL Java_java_lang_reflect_VMConstructor_getParameterTypes(
#ifdef NATIVE_JNI
@@ -56,10 +42,10 @@ JavaObjectVMConstructor* cons) {
BEGIN_NATIVE_EXCEPTION(0)
// Store local reference
-
- if (getClassAndMethodPointerByVMConstructor(cons, &cls,&method)) {
- res = method->getParameterTypes(cls->classLoader);
- } // FIXME (INTI) : Throw an exception here
+ verifyNull(cons);
+ cls = (UserCommonClass*)JavaObjectVMConstructor::getClass(cons);
+ method = JavaObjectVMConstructor::getInternalMethod(cons);
+ res = method->getParameterTypes(cls->classLoader);
END_NATIVE_EXCEPTION
@@ -74,17 +60,15 @@ JavaObjectVMConstructor* cons) {
jint res = 0;
- UserCommonClass* cls = 0;
JavaMethod* method = 0;
// Local object references
llvm_gcroot(cons, 0);
BEGIN_NATIVE_EXCEPTION(0)
// Store local reference
-
- if (getClassAndMethodPointerByVMConstructor(cons, &cls,&method)) {
- res = method->access;
- } // FIXME (INTI) : Throw an exception here
+ verifyNull(cons);
+ method = JavaObjectVMConstructor::getInternalMethod(cons);
+ res = method->access;
END_NATIVE_EXCEPTION
@@ -177,9 +161,12 @@ JavaObjectVMConstructor* cons, ArrayObje
llvm_gcroot(args, 0);
BEGIN_NATIVE_EXCEPTION(0)
- if (getClassAndMethodPointerByVMConstructor(cons,&cls, &m)){
- res = proceedRealConstructor(args, cls, m);
- } // FIXME (INTI) : Throw an exception here
+ verifyNull(cons);
+
+ cls = (UserCommonClass*)JavaObjectVMConstructor::getClass(cons);
+ m = JavaObjectVMConstructor::getInternalMethod(cons);
+ res = proceedRealConstructor(args, cls, m);
+
END_NATIVE_EXCEPTION
return res;
}
@@ -199,11 +186,11 @@ JavaObjectVMConstructor* cons) {
BEGIN_NATIVE_EXCEPTION(0)
- verifyNull(cons);
- if (getClassAndMethodPointerByVMConstructor(cons, &cls, & m)) {
- JnjvmClassLoader* loader = cls->classLoader;
- res = (ArrayObject*)m->getExceptionTypes(loader);
- } // FIXME (INTI) : Throw an exception here
+ verifyNull(cons);
+ cls = (UserCommonClass*)JavaObjectVMConstructor::getClass(cons);
+ m = JavaObjectVMConstructor::getInternalMethod(cons);
+ JnjvmClassLoader* loader = cls->classLoader;
+ res = (ArrayObject*)m->getExceptionTypes(loader);
END_NATIVE_EXCEPTION
@@ -215,23 +202,21 @@ JNIEXPORT JavaObject* JNICALL Java_java_
#ifdef NATIVE_JNI
JNIEnv *env,
#endif
-JavaObjectVMConstructor* Meth) {
+JavaObjectVMConstructor* cons) {
JavaObject* result = 0;
JavaMethod* m = 0;
- UserCommonClass* cls = 0;
llvm_gcroot(result, 0);
- llvm_gcroot(Meth, 0);
+ llvm_gcroot(cons, 0);
BEGIN_NATIVE_EXCEPTION(0)
- verifyNull(Meth);
- if (getClassAndMethodPointerByVMConstructor(Meth, &cls, & m)) {
- Jnjvm* vm = JavaThread::get()->getJVM();
- result = vm->internalUTF8ToStr(m->type);
- } // FIXME (INTI) : Throw an exception here
+ verifyNull(cons);
+ m = JavaObjectVMConstructor::getInternalMethod(cons);
+ Jnjvm* vm = JavaThread::get()->getJVM();
+ result = vm->internalUTF8ToStr(m->type);
- END_NATIVE_EXCEPTION
+ END_NATIVE_EXCEPTION
return result;
}
Modified: vmkit/trunk/lib/j3/ClassLib/ClasspathField.inc
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/j3/ClassLib/ClasspathField.inc?rev=180300&r1=180299&r2=180300&view=diff
==============================================================================
--- vmkit/trunk/lib/j3/ClassLib/ClasspathField.inc (original)
+++ vmkit/trunk/lib/j3/ClassLib/ClasspathField.inc Thu Apr 25 11:50:21 2013
@@ -19,23 +19,6 @@ using namespace j3;
extern "C" {
-bool getClassAndFieldPointerByVMField(JavaObjectVMField* vmField, UserCommonClass** cls, JavaField** m)
- __attribute__ ((noinline));
-
-bool getClassAndFieldPointerByVMField(JavaObjectVMField* vmField, UserCommonClass** cls, JavaField** m) {
- JavaObject* res = 0;
- // Local object references
- llvm_gcroot(vmField, 0);
- llvm_gcroot(res, 0);
-
- BEGIN_NATIVE_EXCEPTION(0)
- // Store local reference
- *cls = (UserCommonClass*)JavaObjectVMField::getClass(vmField);
- *m = JavaObjectVMField::getInternalField(vmField);
- END_NATIVE_EXCEPTION
- return true;
-}
-
JNIEXPORT jint JNICALL Java_java_lang_reflect_VMField_getModifiersInternal(
#ifdef NATIVE_JNI
JNIEnv *env,
@@ -46,13 +29,11 @@ JavaObjectVMField* Field) {
llvm_gcroot(Field, 0);
BEGIN_NATIVE_EXCEPTION(0)
+ verifyNull(Field);
- UserCommonClass* cls = 0;
- JavaField* field = 0;//JavaObjectField::getInternalField(Field);
- if (getClassAndFieldPointerByVMField(Field, &cls, &field)) {
- res = field->access;
- } // FIXME : throw an exception in other case
+ JavaField* field = JavaObjectVMField::getInternalField(Field);
+ res = field->access;
END_NATIVE_EXCEPTION
@@ -71,16 +52,15 @@ JavaObjectVMField* Field) {
llvm_gcroot(res, 0);
BEGIN_NATIVE_EXCEPTION(0)
-
+ verifyNull(Field);
Jnjvm* vm = JavaThread::get()->getJVM();
- UserCommonClass* cls = 0;
- JavaField* field = 0;//JavaObjectField::getInternalField(Field);
- if (getClassAndFieldPointerByVMField(Field, &cls, &field)) {
+ UserCommonClass* cls = (UserCommonClass*)JavaObjectVMField::getClass(Field);
+ JavaField* field = JavaObjectVMField::getInternalField(Field);
+
JnjvmClassLoader* loader = cls->classLoader;
UserCommonClass* fieldCl = field->getSignature()->assocClass(loader);
res = fieldCl->getClassDelegatee(vm);
- } // FIXME : throw an exception in other case
END_NATIVE_EXCEPTION
@@ -99,15 +79,10 @@ JavaObjectVMField* Field, JavaObject* ob
llvm_gcroot(obj, 0);
BEGIN_NATIVE_EXCEPTION(0)
-
+ verifyNull(Field);
Jnjvm* vm = JavaThread::get()->getJVM();
- //UserClass* cl = JavaObjectField::getClass(Field);
- //JavaField* field = JavaObjectField::getInternalField(Field);
- UserCommonClass* cl = 0;
- JavaField* field = 0;//JavaObjectField::getInternalField(Field);
- if (!getClassAndFieldPointerByVMField(Field, &cl, &field)) {
- // FIXME : throw an exception in other case
- }
+ UserCommonClass* cl = (UserCommonClass*)JavaObjectVMField::getClass(Field);
+ JavaField* field = JavaObjectVMField::getInternalField(Field);
const Typedef* type = field->getSignature();
bool stat = isStatic(field->access);
@@ -169,16 +144,10 @@ JavaObjectVMField* Field, JavaObject* ob
llvm_gcroot(obj, 0);
BEGIN_NATIVE_EXCEPTION(0)
-
+ verifyNull(Field);
Jnjvm* vm = JavaThread::get()->getJVM();
- //UserClass* cl = JavaObjectField::getClass(Field);
- //JavaField* field = JavaObjectField::getInternalField(Field);
-
- UserCommonClass* cl = 0;
- JavaField* field = 0;//JavaObjectField::getInternalField(Field);
- if (!getClassAndFieldPointerByVMField(Field, &cl, &field)) {
- // FIXME : throw an exception in other case
- }
+ UserCommonClass* cl = (UserCommonClass*)JavaObjectVMField::getClass(Field);
+ JavaField* field = JavaObjectVMField::getInternalField(Field);
bool stat = isStatic(field->access);
if (stat) {
@@ -245,17 +214,10 @@ JavaObjectVMField* Field, JavaObject* ob
llvm_gcroot(obj, 0);
BEGIN_NATIVE_EXCEPTION(0)
-
+ verifyNull(Field);
Jnjvm* vm = JavaThread::get()->getJVM();
- //UserClass* cl = JavaObjectField::getClass(Field);
- //JavaField* field = JavaObjectField::getInternalField(Field);
-
- UserCommonClass* cl = 0;
- JavaField* field = 0;//JavaObjectField::getInternalField(Field);
- if (!getClassAndFieldPointerByVMField(Field, &cl, &field)) {
- // FIXME : throw an exception in other case
- }
-
+ UserCommonClass* cl = (UserCommonClass*)JavaObjectVMField::getClass(Field);
+ JavaField* field = JavaObjectVMField::getInternalField(Field);
bool stat = isStatic(field->access);
if (stat) {
@@ -297,17 +259,10 @@ JavaObjectVMField* Field, JavaObject* ob
llvm_gcroot(obj, 0);
BEGIN_NATIVE_EXCEPTION(0)
-
+ verifyNull(Field);
Jnjvm* vm = JavaThread::get()->getJVM();
- //UserClass* cl = JavaObjectField::getClass(Field);
- //JavaField* field = JavaObjectField::getInternalField(Field);
-
- UserCommonClass* cl = 0;
- JavaField* field = 0;//JavaObjectField::getInternalField(Field);
- if (!getClassAndFieldPointerByVMField(Field, &cl, &field)) {
- // FIXME : throw an exception in other case
- }
-
+ UserCommonClass* cl = (UserCommonClass*)JavaObjectVMField::getClass(Field);
+ JavaField* field = JavaObjectVMField::getInternalField(Field);
bool stat = isStatic(field->access);
if (stat) {
@@ -379,17 +334,10 @@ JavaObjectVMField* Field, JavaObject* ob
llvm_gcroot(obj, 0);
BEGIN_NATIVE_EXCEPTION(0)
-
+ verifyNull(Field);
Jnjvm* vm = JavaThread::get()->getJVM();
- //UserClass* cl = JavaObjectField::getClass(Field);
- //JavaField* field = JavaObjectField::getInternalField(Field);
-
- UserCommonClass* cl = 0;
- JavaField* field = 0;//JavaObjectField::getInternalField(Field);
- if (!getClassAndFieldPointerByVMField(Field, &cl, &field)) {
- // FIXME : throw an exception in other case
- }
-
+ UserCommonClass* cl = (UserCommonClass*)JavaObjectVMField::getClass(Field);
+ JavaField* field = JavaObjectVMField::getInternalField(Field);
bool stat = isStatic(field->access);
if (stat) {
@@ -430,17 +378,10 @@ JavaObjectVMField* Field, JavaObject* ob
llvm_gcroot(obj, 0);
BEGIN_NATIVE_EXCEPTION(0)
-
+ verifyNull(Field);
Jnjvm* vm = JavaThread::get()->getJVM();
- //UserClass* cl = JavaObjectField::getClass(Field);
- //JavaField* field = JavaObjectField::getInternalField(Field);
-
- UserCommonClass* cl = 0;
- JavaField* field = 0;//JavaObjectField::getInternalField(Field);
- if (!getClassAndFieldPointerByVMField(Field, &cl, &field)) {
- // FIXME : throw an exception in other case
- }
-
+ UserCommonClass* cl = (UserCommonClass*)JavaObjectVMField::getClass(Field);
+ JavaField* field = JavaObjectVMField::getInternalField(Field);
bool stat = isStatic(field->access);
if (stat) {
@@ -483,17 +424,10 @@ JavaObjectVMField* Field, JavaObject* ob
llvm_gcroot(obj, 0);
BEGIN_NATIVE_EXCEPTION(0)
-
+ verifyNull(Field);
Jnjvm* vm = JavaThread::get()->getJVM();
- //UserClass* cl = JavaObjectField::getClass(Field);
- //JavaField* field = JavaObjectField::getInternalField(Field);
-
- UserCommonClass* cl = 0;
- JavaField* field = 0;//JavaObjectField::getInternalField(Field);
- if (!getClassAndFieldPointerByVMField(Field, &cl, &field)) {
- // FIXME : throw an exception in other case
- }
-
+ UserCommonClass* cl = (UserCommonClass*)JavaObjectVMField::getClass(Field);
+ JavaField* field = JavaObjectVMField::getInternalField(Field);
bool stat = isStatic(field->access);
if (stat) {
@@ -540,17 +474,11 @@ JavaObjectVMField* Field, JavaObject* ob
llvm_gcroot(obj, 0);
BEGIN_NATIVE_EXCEPTION(0)
+ verifyNull(Field);
Jnjvm* vm = JavaThread::get()->getJVM();
- //UserClass* cl = JavaObjectField::getClass(Field);
- //JavaField* field = JavaObjectField::getInternalField(Field);
-
- UserCommonClass* cl = 0;
- JavaField* field = 0;//JavaObjectField::getInternalField(Field);
- if (!getClassAndFieldPointerByVMField(Field, &cl, &field)) {
- // FIXME : throw an exception in other case
- }
-
+ UserCommonClass* cl = (UserCommonClass*)JavaObjectVMField::getClass(Field);
+ JavaField* field = JavaObjectVMField::getInternalField(Field);
bool stat = isStatic(field->access);
if (stat) {
@@ -629,17 +557,11 @@ JavaObjectVMField* Field, JavaObject* ob
llvm_gcroot(res, 0);
BEGIN_NATIVE_EXCEPTION(0)
+ verifyNull(Field);
Jnjvm* vm = JavaThread::get()->getJVM();
- //UserClass* cl = JavaObjectField::getClass(Field);
- //JavaField* field = JavaObjectField::getInternalField(Field);
-
- UserCommonClass* cl = 0;
- JavaField* field = 0;//JavaObjectField::getInternalField(Field);
- if (!getClassAndFieldPointerByVMField(Field, &cl, &field)) {
- // FIXME : throw an exception in other case
- }
-
+ UserCommonClass* cl = (UserCommonClass*)JavaObjectVMField::getClass(Field);
+ JavaField* field = JavaObjectVMField::getInternalField(Field);
bool stat = isStatic(field->access);
if (stat) {
@@ -718,15 +640,9 @@ JavaObjectVMField* Field, JavaObject* ob
BEGIN_NATIVE_EXCEPTION(0)
Jnjvm* vm = JavaThread::get()->getJVM();
- //UserClass* cl = JavaObjectField::getClass(Field);
- //JavaField* field = JavaObjectField::getInternalField(Field);
-
- UserCommonClass* cl = 0;
- JavaField* field = 0;//JavaObjectField::getInternalField(Field);
- if (!getClassAndFieldPointerByVMField(Field, &cl, &field)) {
- // FIXME : throw an exception in other case
- }
-
+ verifyNull(Field);
+ UserCommonClass* cl = (UserCommonClass*)JavaObjectVMField::getClass(Field);
+ JavaField* field = JavaObjectVMField::getInternalField(Field);
jvalue buf;
bool stat = isStatic(field->access);
@@ -813,17 +729,11 @@ JavaObjectVMField* Field, JavaObject* ob
llvm_gcroot(obj, 0);
BEGIN_NATIVE_EXCEPTION(0)
+ verifyNull(Field);
Jnjvm* vm = JavaThread::get()->getJVM();
- //UserClass* cl = JavaObjectField::getClass(Field);
- //JavaField* field = JavaObjectField::getInternalField(Field);
-
- UserCommonClass* cl = 0;
- JavaField* field = 0;//JavaObjectField::getInternalField(Field);
- if (!getClassAndFieldPointerByVMField(Field, &cl, &field)) {
- // FIXME : throw an exception in other case
- }
-
+ UserCommonClass* cl = (UserCommonClass*)JavaObjectVMField::getClass(Field);
+ JavaField* field = JavaObjectVMField::getInternalField(Field);
bool stat = isStatic(field->access);
if (stat) {
@@ -862,17 +772,11 @@ JavaObjectVMField* Field, JavaObject* ob
llvm_gcroot(obj, 0);
BEGIN_NATIVE_EXCEPTION(0)
+ verifyNull(Field);
Jnjvm* vm = JavaThread::get()->getJVM();
- //UserClass* cl = JavaObjectField::getClass(Field);
- //JavaField* field = JavaObjectField::getInternalField(Field);
-
- UserCommonClass* cl = 0;
- JavaField* field = 0;//JavaObjectField::getInternalField(Field);
- if (!getClassAndFieldPointerByVMField(Field, &cl, &field)) {
- // FIXME : throw an exception in other case
- }
-
+ UserCommonClass* cl = (UserCommonClass*)JavaObjectVMField::getClass(Field);
+ JavaField* field = JavaObjectVMField::getInternalField(Field);
bool stat = isStatic(field->access);
if (stat) {
@@ -940,17 +844,11 @@ JavaObjectVMField* Field, JavaObject* ob
llvm_gcroot(obj, 0);
BEGIN_NATIVE_EXCEPTION(0)
+ verifyNull(Field);
Jnjvm* vm = JavaThread::get()->getJVM();
- //UserClass* cl = JavaObjectField::getClass(Field);
- //JavaField* field = JavaObjectField::getInternalField(Field);
-
- UserCommonClass* cl = 0;
- JavaField* field = 0;//JavaObjectField::getInternalField(Field);
- if (!getClassAndFieldPointerByVMField(Field, &cl, &field)) {
- // FIXME : throw an exception in other case
- }
-
+ UserCommonClass* cl = (UserCommonClass*)JavaObjectVMField::getClass(Field);
+ JavaField* field = JavaObjectVMField::getInternalField(Field);
bool stat = isStatic(field->access);
if (stat) {
@@ -1011,17 +909,11 @@ JavaObjectVMField* Field, JavaObject* ob
llvm_gcroot(obj, 0);
BEGIN_NATIVE_EXCEPTION(0)
+ verifyNull(Field);
Jnjvm* vm = JavaThread::get()->getJVM();
- //UserClass* cl = JavaObjectField::getClass(Field);
- //JavaField* field = JavaObjectField::getInternalField(Field);
-
- UserCommonClass* cl = 0;
- JavaField* field = 0;//JavaObjectField::getInternalField(Field);
- if (!getClassAndFieldPointerByVMField(Field, &cl, &field)) {
- // FIXME : throw an exception in other case
- }
-
+ UserCommonClass* cl = (UserCommonClass*)JavaObjectVMField::getClass(Field);
+ JavaField* field = JavaObjectVMField::getInternalField(Field);
bool stat = isStatic(field->access);
if (stat) {
@@ -1082,17 +974,11 @@ JavaObjectVMField* Field, JavaObject* ob
llvm_gcroot(obj, 0);
BEGIN_NATIVE_EXCEPTION(0)
+ verifyNull(Field);
Jnjvm* vm = JavaThread::get()->getJVM();
- //UserClass* cl = JavaObjectField::getClass(Field);
- //JavaField* field = JavaObjectField::getInternalField(Field);
-
- UserCommonClass* cl = 0;
- JavaField* field = 0;//JavaObjectField::getInternalField(Field);
- if (!getClassAndFieldPointerByVMField(Field, &cl, &field)) {
- // FIXME : throw an exception in other case
- }
-
+ UserCommonClass* cl = (UserCommonClass*)JavaObjectVMField::getClass(Field);
+ JavaField* field = JavaObjectVMField::getInternalField(Field);
bool stat = isStatic(field->access);
if (stat) {
@@ -1148,17 +1034,11 @@ JavaObjectVMField* Field, JavaObject* ob
llvm_gcroot(obj, 0);
BEGIN_NATIVE_EXCEPTION(0)
+ verifyNull(Field);
Jnjvm* vm = JavaThread::get()->getJVM();
- //UserClass* cl = JavaObjectField::getClass(Field);
- //JavaField* field = JavaObjectField::getInternalField(Field);
-
- UserCommonClass* cl = 0;
- JavaField* field = 0;//JavaObjectField::getInternalField(Field);
- if (!getClassAndFieldPointerByVMField(Field, &cl, &field)) {
- // FIXME : throw an exception in other case
- }
-
+ UserCommonClass* cl = (UserCommonClass*)JavaObjectVMField::getClass(Field);
+ JavaField* field = JavaObjectVMField::getInternalField(Field);
bool stat = isStatic(field->access);
if (stat) {
@@ -1208,17 +1088,11 @@ JavaObjectVMField* Field, JavaObject* ob
llvm_gcroot(obj, 0);
BEGIN_NATIVE_EXCEPTION(0)
+ verifyNull(Field);
Jnjvm* vm = JavaThread::get()->getJVM();
- //UserClass* cl = JavaObjectField::getClass(Field);
- //JavaField* field = JavaObjectField::getInternalField(Field);
-
- UserCommonClass* cl = 0;
- JavaField* field = 0;//JavaObjectField::getInternalField(Field);
- if (!getClassAndFieldPointerByVMField(Field, &cl, &field)) {
- // FIXME : throw an exception in other case
- }
-
+ UserCommonClass* cl = (UserCommonClass*)JavaObjectVMField::getClass(Field);
+ JavaField* field = JavaObjectVMField::getInternalField(Field);
bool stat = isStatic(field->access);
if (stat) {
@@ -1262,17 +1136,11 @@ JavaObjectVMField* Field, JavaObject* ob
llvm_gcroot(obj, 0);
BEGIN_NATIVE_EXCEPTION(0)
+ verifyNull(Field);
Jnjvm* vm = JavaThread::get()->getJVM();
- //UserClass* cl = JavaObjectField::getClass(Field);
- //JavaField* field = JavaObjectField::getInternalField(Field);
-
- UserCommonClass* cl = 0;
- JavaField* field = 0;//JavaObjectField::getInternalField(Field);
- if (!getClassAndFieldPointerByVMField(Field, &cl, &field)) {
- // FIXME : throw an exception in other case
- }
-
+ UserCommonClass* cl = (UserCommonClass*)JavaObjectVMField::getClass(Field);
+ JavaField* field = JavaObjectVMField::getInternalField(Field);
bool stat = isStatic(field->access);
if (stat) {
Modified: vmkit/trunk/lib/j3/ClassLib/ClasspathMethod.inc
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/j3/ClassLib/ClasspathMethod.inc?rev=180300&r1=180299&r2=180300&view=diff
==============================================================================
--- vmkit/trunk/lib/j3/ClassLib/ClasspathMethod.inc (original)
+++ vmkit/trunk/lib/j3/ClassLib/ClasspathMethod.inc Thu Apr 25 11:50:21 2013
@@ -25,22 +25,6 @@ using namespace j3;
extern "C" {
-bool getClassAndMethodPointerFromVMMethod(JavaObjectVMMethod* vmMethod, UserCommonClass** cls, JavaMethod** m)
- __attribute__ ((noinline));
-
-bool getClassAndMethodPointerFromVMMethod(JavaObjectVMMethod* vmMethod, UserCommonClass** cls, JavaMethod** m) {
- JavaObject* res = 0;
- // Local object references
- llvm_gcroot(vmMethod, 0);
- llvm_gcroot(res, 0);
-
- BEGIN_NATIVE_EXCEPTION(0)
- *cls = (UserCommonClass*)JavaObjectVMMethod::getClass(vmMethod);
- *m = JavaObjectVMMethod::getInternalMethod(vmMethod);
- END_NATIVE_EXCEPTION
- return true;
-}
-
JNIEXPORT jint JNICALL Java_java_lang_reflect_VMMethod_getModifiersInternal(
#ifdef NATIVE_JNI
JNIEnv *env,
@@ -52,11 +36,8 @@ JavaObjectVMMethod* Meth) {
BEGIN_NATIVE_EXCEPTION(0)
- JavaMethod* meth = 0;//JavaObjectMethod::getInternalMethod(Meth);
- UserCommonClass* cls = 0;
- if (getClassAndMethodPointerFromVMMethod(Meth, &cls, &meth)) {
- res = meth->access;
- } // FIXME : throw an exception in other case
+ JavaMethod* meth = JavaObjectVMMethod::getInternalMethod(Meth);
+ res = meth->access;
END_NATIVE_EXCEPTION
@@ -74,16 +55,12 @@ JavaObjectVMMethod* Meth) {
llvm_gcroot(res, 0);
BEGIN_NATIVE_EXCEPTION(0)
+ verifyNull(Meth);
- //UserClass* cl = JavaObjectMethod::getClass(Meth);
- //JavaMethod* meth = JavaObjectMethod::getInternalMethod(Meth);
-
- JavaMethod* meth = 0;//JavaObjectMethod::getInternalMethod(Meth);
- UserCommonClass* cls = 0;
- if (getClassAndMethodPointerFromVMMethod(Meth, &cls, &meth)) {
- JnjvmClassLoader* loader = cls->classLoader;
- res = meth->getReturnType(loader);
- } // FIXME : throw an exception in other case
+ JavaMethod* meth = JavaObjectVMMethod::getInternalMethod(Meth);
+ UserCommonClass* cls = (UserCommonClass*)JavaObjectVMMethod::getClass(Meth);
+ JnjvmClassLoader* loader = cls->classLoader;
+ res = meth->getReturnType(loader);
END_NATIVE_EXCEPTION
@@ -102,18 +79,12 @@ JavaObjectVMMethod* Meth) {
llvm_gcroot(res, 0);
BEGIN_NATIVE_EXCEPTION(0)
+ verifyNull(Meth);
- //UserClass* cl = JavaObjectMethod::getClass(Meth);
- //JavaMethod* meth = JavaObjectMethod::getInternalMethod(Meth);
-
- JavaMethod* meth = 0;//JavaObjectMethod::getInternalMethod(Meth);
- UserCommonClass* cls = 0;
- if (getClassAndMethodPointerFromVMMethod(Meth, &cls, &meth)) {
- JnjvmClassLoader* loader = cls->classLoader;
- res = meth->getParameterTypes(loader);
- } // FIXME : throw an exception in other case
-
-
+ JavaMethod* meth = JavaObjectVMMethod::getInternalMethod(Meth);
+ UserCommonClass* cls = (UserCommonClass*)JavaObjectVMMethod::getClass(Meth);
+ JnjvmClassLoader* loader = cls->classLoader;
+ res = meth->getParameterTypes(loader);
END_NATIVE_EXCEPTION
@@ -138,12 +109,8 @@ JavaObject* proceedVMMethod(JavaObjectVM
llvm_gcroot(exc, 0);
Jnjvm* vm = JavaThread::get()->getJVM();
- UserCommonClass* _cl = 0;//UserCommonClass::resolvedImplClass(vm, Cl, false);
- JavaMethod* meth = 0;//JavaObjectMethod::getInternalMethod(Meth);
-
- if (!getClassAndMethodPointerFromVMMethod(Meth, &_cl, &meth)) {
- // FIXME : throw an exception
- }
+ JavaMethod* meth = JavaObjectVMMethod::getInternalMethod(Meth);
+ UserCommonClass* _cl = (UserCommonClass*)JavaObjectVMMethod::getClass(Meth);
sint32 nbArgs = args ? ArrayObject::getSize(args) : 0;
Signdef* sign = meth->getSignature();
@@ -281,7 +248,7 @@ JavaObjectVMMethod* Meth, JavaObject* ob
llvm_gcroot(args, 0);
BEGIN_NATIVE_EXCEPTION(0)
-
+ verifyNull(Meth);
res = proceedVMMethod(Meth, obj, args);
END_NATIVE_EXCEPTION
@@ -302,17 +269,11 @@ JavaObjectVMMethod* Meth) {
BEGIN_NATIVE_EXCEPTION(0)
verifyNull(Meth);
- //UserClass* cl = JavaObjectMethod::getClass(Meth);
- //JavaMethod* meth = JavaObjectMethod::getInternalMethod(Meth);
-
- JavaMethod* meth = 0;//JavaObjectMethod::getInternalMethod(Meth);
- UserCommonClass* cls = 0;
- if (getClassAndMethodPointerFromVMMethod(Meth, &cls, &meth)) {
- JnjvmClassLoader* loader = cls->classLoader;
- res = meth->getExceptionTypes(loader);
- } // FIXME : throw an exception in other case
-
+ JavaMethod* meth = JavaObjectVMMethod::getInternalMethod(Meth);
+ UserCommonClass* cls = (UserCommonClass*)JavaObjectVMMethod::getClass(Meth);
+ JnjvmClassLoader* loader = cls->classLoader;
+ res = meth->getExceptionTypes(loader);
END_NATIVE_EXCEPTION
@@ -332,16 +293,9 @@ JavaObjectVMMethod* Meth) {
BEGIN_NATIVE_EXCEPTION(0)
verifyNull(Meth);
- //JavaMethod* meth = JavaObjectMethod::getInternalMethod(Meth);
-
- JavaMethod* meth = 0;//JavaObjectMethod::getInternalMethod(Meth);
- UserCommonClass* cls = 0;
- if (getClassAndMethodPointerFromVMMethod(Meth, &cls, &meth)) {
- Jnjvm* vm = JavaThread::get()->getJVM();
- result = vm->internalUTF8ToStr(meth->type);
- } // FIXME : throw an exception in other case
-
-
+ JavaMethod* meth = JavaObjectVMMethod::getInternalMethod(Meth);
+ Jnjvm* vm = JavaThread::get()->getJVM();
+ result = vm->internalUTF8ToStr(meth->type);
END_NATIVE_EXCEPTION
Modified: vmkit/trunk/lib/j3/ClassLib/GNUClasspath/ClasspathReflect.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/j3/ClassLib/GNUClasspath/ClasspathReflect.cpp?rev=180300&r1=180299&r2=180300&view=diff
==============================================================================
--- vmkit/trunk/lib/j3/ClassLib/GNUClasspath/ClasspathReflect.cpp (original)
+++ vmkit/trunk/lib/j3/ClassLib/GNUClasspath/ClasspathReflect.cpp Thu Apr 25 11:50:21 2013
@@ -74,13 +74,12 @@ JavaObjectMethod* JavaObjectMethod::crea
str = vm->internalUTF8ToStr(meth->name);
- JavaObject* const* Cl = meth->classDef->getDelegateePtr();
+ JavaObject* Cl = meth->classDef->getDelegatee();
- vm->upcalls->initVMMethod->invokeIntSpecial(vm, VMMeth, vmMeth, Cl, &str, i);
-
- //vmMeth->name = str;
- //vmMeth->declaringClass = (JavaObject*)Cl; // I don't like this
- //vmMeth->slot = i;
+ vm->upcalls->initVMMethod->invokeIntSpecial(vm, VMMeth, vmMeth);
+ vmMeth->name = str;
+ vmMeth->declaringClass = (JavaObjectClass*)Cl; // I don't like this
+ vmMeth->slot = i;
UserClass* Meth = vm->upcalls->newMethod;
ret = (JavaObjectMethod*)Meth->doNew(vm);
Modified: vmkit/trunk/lib/j3/ClassLib/GNUClasspath/ClasspathReflect.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/j3/ClassLib/GNUClasspath/ClasspathReflect.h?rev=180300&r1=180299&r2=180300&view=diff
==============================================================================
--- vmkit/trunk/lib/j3/ClassLib/GNUClasspath/ClasspathReflect.h (original)
+++ vmkit/trunk/lib/j3/ClassLib/GNUClasspath/ClasspathReflect.h Thu Apr 25 11:50:21 2013
@@ -123,7 +123,7 @@ public:
};
class JavaObjectVMMethod : public JavaObject {
-private:
+public:
JavaObjectClass* declaringClass;
JavaString* name;
uint32 slot;
Modified: vmkit/trunk/lib/j3/ClassLib/GNUClasspath/JavaUpcalls.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/j3/ClassLib/GNUClasspath/JavaUpcalls.cpp?rev=180300&r1=180299&r2=180300&view=diff
==============================================================================
--- vmkit/trunk/lib/j3/ClassLib/GNUClasspath/JavaUpcalls.cpp (original)
+++ vmkit/trunk/lib/j3/ClassLib/GNUClasspath/JavaUpcalls.cpp Thu Apr 25 11:50:21 2013
@@ -630,8 +630,8 @@ void Classpath::initialiseClasspath(Jnjv
initVMMethod =
UPCALL_METHOD(loader, "java/lang/reflect/VMMethod", "<init>",
- "(Ljava/lang/Class;Ljava/lang/String;I)V", ACC_VIRTUAL);
-
+ "()V", ACC_VIRTUAL);
+ // Ljava/lang/Class;Ljava/lang/String;I
newMethod =
UPCALL_CLASS(loader, "java/lang/reflect/Method");
More information about the vmkit-commits
mailing list