[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