[vmkit-commits] [vmkit] r71650 - in /vmkit/trunk/lib/JnJVM: Classpath/ClasspathVMClass.cpp Classpath/ClasspathVMThrowable.cpp VMCore/JavaArray.cpp VMCore/JavaArray.h VMCore/JavaString.cpp VMCore/JavaString.h VMCore/JnjvmClassLoader.cpp
Nicolas Geoffray
nicolas.geoffray at lip6.fr
Wed May 13 04:18:18 PDT 2009
Author: geoffray
Date: Wed May 13 06:17:45 2009
New Revision: 71650
URL: http://llvm.org/viewvc/llvm-project?rev=71650&view=rev
Log:
Code refactoring. No functionality changes.
Modified:
vmkit/trunk/lib/JnJVM/Classpath/ClasspathVMClass.cpp
vmkit/trunk/lib/JnJVM/Classpath/ClasspathVMThrowable.cpp
vmkit/trunk/lib/JnJVM/VMCore/JavaArray.cpp
vmkit/trunk/lib/JnJVM/VMCore/JavaArray.h
vmkit/trunk/lib/JnJVM/VMCore/JavaString.cpp
vmkit/trunk/lib/JnJVM/VMCore/JavaString.h
vmkit/trunk/lib/JnJVM/VMCore/JnjvmClassLoader.cpp
Modified: vmkit/trunk/lib/JnJVM/Classpath/ClasspathVMClass.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/Classpath/ClasspathVMClass.cpp?rev=71650&r1=71649&r2=71650&view=diff
==============================================================================
--- vmkit/trunk/lib/JnJVM/Classpath/ClasspathVMClass.cpp (original)
+++ vmkit/trunk/lib/JnJVM/Classpath/ClasspathVMClass.cpp Wed May 13 06:17:45 2009
@@ -222,9 +222,7 @@
UserCommonClass* cl = ((JavaObjectClass*)Cl)->getClass();
const UTF8* iname = cl->getName();
- const UTF8* res = iname->internalToJava(vm, 0, iname->size);
-
- result = (jobject)(vm->UTF8ToStr(res));
+ result = (jobject)JavaString::internalToJava(iname, vm);
END_NATIVE_EXCEPTION
Modified: vmkit/trunk/lib/JnJVM/Classpath/ClasspathVMThrowable.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/Classpath/ClasspathVMThrowable.cpp?rev=71650&r1=71649&r2=71650&view=diff
==============================================================================
--- vmkit/trunk/lib/JnJVM/Classpath/ClasspathVMThrowable.cpp (original)
+++ vmkit/trunk/lib/JnJVM/Classpath/ClasspathVMThrowable.cpp Wed May 13 06:17:45 2009
@@ -67,8 +67,7 @@
Jnjvm* vm = JavaThread::get()->getJVM();
JavaObject* methodName = vm->internalUTF8ToStr(meth->name);
Class* cl = meth->classDef;
- const UTF8* internal = cl->name->internalToJava(vm, 0, cl->name->size);
- JavaObject* className = vm->UTF8ToStr(internal);
+ JavaObject* className = JavaString::internalToJava(cl->name, vm);
JavaObject* sourceName = 0;
Attribut* sourceAtt = cl->lookupAttribut(Attribut::sourceFileAttribut);
Modified: vmkit/trunk/lib/JnJVM/VMCore/JavaArray.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/JavaArray.cpp?rev=71650&r1=71649&r2=71650&view=diff
==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/JavaArray.cpp (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/JavaArray.cpp Wed May 13 06:17:45 2009
@@ -57,19 +57,6 @@
return map->lookupOrCreateReader(java, len);
}
-const UTF8* UTF8::internalToJava(Jnjvm* vm, unsigned int start,
- unsigned int len) const {
- UTF8* array = (UTF8*)vm->upcalls->ArrayOfChar->doNew(len, vm);
- uint16* java = array->elements;
- for (uint32 i = 0; i < len; i++) {
- uint16 cur = elements[start + i];
- if (cur == '/') java[i] = '.';
- else java[i] = cur;
- }
-
- return (const UTF8*)array;
-}
-
const UTF8* UTF8::extract(UTF8Map* map, uint32 start, uint32 end) const {
uint32 len = end - start;
uint16* buf = (uint16*)alloca(sizeof(uint16) * len);
Modified: vmkit/trunk/lib/JnJVM/VMCore/JavaArray.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/JavaArray.h?rev=71650&r1=71649&r2=71650&view=diff
==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/JavaArray.h (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/JavaArray.h Wed May 13 06:17:45 2009
@@ -123,14 +123,6 @@
public:
- /// internalToJava - Creates a copy of the UTF8 at its given offset and size
- /// with all its '.' replaced by '/'. The JVM bytecode reference classes in
- /// packages with the '.' as the separating character. The JVM language uses
- /// the '/' character.
- ///
- const UTF8* internalToJava(Jnjvm* vm, unsigned int start,
- unsigned int len) const;
-
/// javaToInternal - Replaces all '/' into '.'.
const UTF8* javaToInternal(UTF8Map* map, unsigned int start,
unsigned int len) const;
Modified: vmkit/trunk/lib/JnJVM/VMCore/JavaString.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/JavaString.cpp?rev=71650&r1=71649&r2=71650&view=diff
==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/JavaString.cpp (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/JavaString.cpp Wed May 13 06:17:45 2009
@@ -61,3 +61,15 @@
assert(vm && "No vm when destroying a string");
if (str->value) vm->hashStr.remove(str->value, str);
}
+
+JavaString* JavaString::internalToJava(const UTF8* name, Jnjvm* vm) {
+ UTF8* array = (UTF8*)vm->upcalls->ArrayOfChar->doNew(name->size, vm);
+ uint16* java = array->elements;
+ for (sint32 i = 0; i < name->size; i++) {
+ uint16 cur = name->elements[i];
+ if (cur == '/') java[i] = '.';
+ else java[i] = cur;
+ }
+
+ return vm->UTF8ToStr(array);
+}
Modified: vmkit/trunk/lib/JnJVM/VMCore/JavaString.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/JavaString.h?rev=71650&r1=71649&r2=71650&view=diff
==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/JavaString.h (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/JavaString.h Wed May 13 06:17:45 2009
@@ -28,6 +28,14 @@
sint32 offset;
static JavaString* stringDup(const UTF8*& utf8, Jnjvm* vm);
+
+ /// internalToJava - Creates a copy of the UTF8 at its given offset and size
+ /// with all its '.' replaced by '/'. The JVM bytecode reference classes in
+ /// packages with the '.' as the separating character. The JVM language uses
+ /// the '/' character. Returns a Java String.
+ ///
+ static JavaString* internalToJava(const UTF8* utf8, Jnjvm* vm);
+
static void stringDestructor(JavaString*);
char* strToAsciiz();
const UTF8* strToUTF8(Jnjvm* vm);
Modified: vmkit/trunk/lib/JnJVM/VMCore/JnjvmClassLoader.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/JnjvmClassLoader.cpp?rev=71650&r1=71649&r2=71650&view=diff
==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/JnjvmClassLoader.cpp (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/JnjvmClassLoader.cpp Wed May 13 06:17:45 2009
@@ -352,8 +352,7 @@
Classpath* upcalls = bootstrapLoader->upcalls;
UserClass* forCtp = loadClass;
if (!strName) {
- const UTF8* javaName = name->internalToJava(isolate, 0, name->size);
- strName = isolate->UTF8ToStr(javaName);
+ strName = JavaString::internalToJava(name, isolate);
}
JavaObject* obj = (JavaObject*)
upcalls->loadInClassLoader->invokeJavaObjectVirtual(isolate, forCtp,
More information about the vmkit-commits
mailing list