[vmkit-commits] [vmkit] r147377 - /vmkit/trunk/lib/j3/ClassLib/OpenJDK/OpenJDK.inc
Will Dietz
wdietz2 at illinois.edu
Fri Dec 30 06:16:01 PST 2011
Author: wdietz2
Date: Fri Dec 30 08:16:01 2011
New Revision: 147377
URL: http://llvm.org/viewvc/llvm-project?rev=147377&view=rev
Log:
Impl JVM_ConstantPoolGetUTF8At (OpenJDK)
Modified:
vmkit/trunk/lib/j3/ClassLib/OpenJDK/OpenJDK.inc
Modified: vmkit/trunk/lib/j3/ClassLib/OpenJDK/OpenJDK.inc
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/j3/ClassLib/OpenJDK/OpenJDK.inc?rev=147377&r1=147376&r2=147377&view=diff
==============================================================================
--- vmkit/trunk/lib/j3/ClassLib/OpenJDK/OpenJDK.inc (original)
+++ vmkit/trunk/lib/j3/ClassLib/OpenJDK/OpenJDK.inc Fri Dec 30 08:16:01 2011
@@ -1977,7 +1977,28 @@
JNIEXPORT jstring JNICALL JVM_ConstantPoolGetUTF8At
(JNIEnv *env, jobject unused, jobject jcpool, jint index) {
- NYI();
+ JavaObjectClass* Cl = 0;
+ llvm_gcroot(Cl, 0);
+
+ BEGIN_JNI_EXCEPTION
+
+ Cl = jcpool ? *(JavaObjectClass**)jcpool : 0;
+ verifyNull(Cl);
+
+ Class* cl = JavaObjectClass::getClass(Cl)->asClass();
+ assert(cl);
+
+ const UTF8* utf = cl->getConstantPool()->UTF8At(index);
+ assert(utf);
+
+ Jnjvm* vm = th->getJVM();
+ jstring str = (jstring)cl->classLoader->UTF8ToStr(utf);
+
+ RETURN_FROM_JNI(str);
+
+ END_JNI_EXCEPTION
+
+ return 0;
}
/*
More information about the vmkit-commits
mailing list