[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