From ad1121d10ea102d3f193413a4c80e3b48a4ecec2 Mon Sep 17 00:00:00 2001
From: Tom Tromey <tromey@redhat.com>
Date: Wed, 11 Dec 2002 03:15:14 +0000
Subject: [PATCH] Makefile.in: Rebuilt.

	* Makefile.in: Rebuilt.
	* Makefile.am (nat_source_files): Added natVMClassLoader.cc.
	* gnu/gcj/runtime/natVMClassLoader.cc: New file.
	(gnu::gcj::runtime::VMClassLoader::findClass): Moved here.
	* java/lang/natClassLoader.cc
	(gnu::gcj::runtime::VMClassLoader::findClass): Removed.

From-SVN: r60020
---
 libjava/ChangeLog                           |  9 +++
 libjava/Makefile.am                         |  1 +
 libjava/Makefile.in                         | 17 +++---
 libjava/gnu/gcj/runtime/natVMClassLoader.cc | 67 +++++++++++++++++++++
 libjava/java/lang/natClassLoader.cc         | 51 ----------------
 5 files changed, 87 insertions(+), 58 deletions(-)
 create mode 100644 libjava/gnu/gcj/runtime/natVMClassLoader.cc

diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index 20242558b889..e9fe22c7231a 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,12 @@
+2002-12-10  Tom Tromey  <tromey@redhat.com>
+
+	* Makefile.in: Rebuilt.
+	* Makefile.am (nat_source_files): Added natVMClassLoader.cc.
+	* gnu/gcj/runtime/natVMClassLoader.cc: New file.
+	(gnu::gcj::runtime::VMClassLoader::findClass): Moved here.
+	* java/lang/natClassLoader.cc
+	(gnu::gcj::runtime::VMClassLoader::findClass): Removed.
+
 2002-12-10  Mark Wielaard  <mark@klomp.org>
             Tom Tromey  <tromey@redhat.com>
 
diff --git a/libjava/Makefile.am b/libjava/Makefile.am
index b993d5028a9b..0db820f360fe 100644
--- a/libjava/Makefile.am
+++ b/libjava/Makefile.am
@@ -2320,6 +2320,7 @@ gnu/gcj/runtime/natNameFinder.cc \
 gnu/gcj/runtime/natSharedLibLoader.cc \
 gnu/gcj/runtime/natStackTrace.cc \
 gnu/gcj/runtime/natStringBuffer.cc \
+gnu/gcj/runtime/natVMClassLoader.cc \
 java/io/natFile.cc \
 java/io/natFileDescriptor.cc \
 java/io/natObjectInputStream.cc \
diff --git a/libjava/Makefile.in b/libjava/Makefile.in
index 8b74b390365b..c8d722f05215 100644
--- a/libjava/Makefile.in
+++ b/libjava/Makefile.in
@@ -2069,6 +2069,7 @@ gnu/gcj/runtime/natNameFinder.cc \
 gnu/gcj/runtime/natSharedLibLoader.cc \
 gnu/gcj/runtime/natStackTrace.cc \
 gnu/gcj/runtime/natStringBuffer.cc \
+gnu/gcj/runtime/natVMClassLoader.cc \
 java/io/natFile.cc \
 java/io/natFileDescriptor.cc \
 java/io/natObjectInputStream.cc \
@@ -2239,12 +2240,13 @@ gnu/gcj/io/shs.lo gnu/gcj/protocol/core/natCoreInputStream.lo \
 gnu/gcj/runtime/natFinalizerThread.lo gnu/gcj/runtime/natFirstThread.lo \
 gnu/gcj/runtime/natNameFinder.lo gnu/gcj/runtime/natSharedLibLoader.lo \
 gnu/gcj/runtime/natStackTrace.lo gnu/gcj/runtime/natStringBuffer.lo \
-java/io/natFile.lo java/io/natFileDescriptor.lo \
-java/io/natObjectInputStream.lo java/io/natObjectOutputStream.lo \
-java/lang/natCharacter.lo java/lang/natClass.lo \
-java/lang/natClassLoader.lo java/lang/natConcreteProcess.lo \
-java/lang/natDouble.lo java/lang/natFloat.lo java/lang/natMath.lo \
-java/lang/natObject.lo java/lang/natRuntime.lo java/lang/natString.lo \
+gnu/gcj/runtime/natVMClassLoader.lo java/io/natFile.lo \
+java/io/natFileDescriptor.lo java/io/natObjectInputStream.lo \
+java/io/natObjectOutputStream.lo java/lang/natCharacter.lo \
+java/lang/natClass.lo java/lang/natClassLoader.lo \
+java/lang/natConcreteProcess.lo java/lang/natDouble.lo \
+java/lang/natFloat.lo java/lang/natMath.lo java/lang/natObject.lo \
+java/lang/natRuntime.lo java/lang/natString.lo \
 java/lang/natStringBuffer.lo java/lang/natSystem.lo \
 java/lang/natThread.lo java/lang/natVMSecurityManager.lo \
 java/lang/ref/natReference.lo java/lang/reflect/natArray.lo \
@@ -2363,7 +2365,8 @@ DEP_FILES =  .deps/$(srcdir)/$(CONVERT_DIR)/gen-from-JIS.P \
 .deps/gnu/gcj/runtime/natNameFinder.P \
 .deps/gnu/gcj/runtime/natSharedLibLoader.P \
 .deps/gnu/gcj/runtime/natStackTrace.P \
-.deps/gnu/gcj/runtime/natStringBuffer.P .deps/gnu/gcj/xlib/Clip.P \
+.deps/gnu/gcj/runtime/natStringBuffer.P \
+.deps/gnu/gcj/runtime/natVMClassLoader.P .deps/gnu/gcj/xlib/Clip.P \
 .deps/gnu/gcj/xlib/Colormap.P .deps/gnu/gcj/xlib/Display.P \
 .deps/gnu/gcj/xlib/Drawable.P .deps/gnu/gcj/xlib/Font.P \
 .deps/gnu/gcj/xlib/GC.P .deps/gnu/gcj/xlib/Pixmap.P \
diff --git a/libjava/gnu/gcj/runtime/natVMClassLoader.cc b/libjava/gnu/gcj/runtime/natVMClassLoader.cc
new file mode 100644
index 000000000000..33b63d6759a1
--- /dev/null
+++ b/libjava/gnu/gcj/runtime/natVMClassLoader.cc
@@ -0,0 +1,67 @@
+// Native code for VMClassLoader
+
+/* Copyright (C) 2002  Free Software Foundation
+
+   This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License.  Please consult the file "LIBGCJ_LICENSE" for
+details.  */
+
+#include <config.h>
+
+#include <gcj/cni.h>
+#include <jvm.h>
+
+#include <gnu/gcj/runtime/VMClassLoader.h>
+#include <java/lang/Class.h>
+#include <java/lang/StringBuffer.h>
+#include <java/net/URLClassLoader.h>
+#include <java/lang/Runtime.h>
+
+jclass
+gnu::gcj::runtime::VMClassLoader::findClass (jstring name)
+{
+  _Jv_Utf8Const *name_u = _Jv_makeUtf8Const (name);
+  jclass klass = _Jv_FindClassInCache (name_u, 0);
+
+  if (! klass)
+    {
+      // Turn `gnu.pkg.quux' into `lib-gnu-pkg-quux'.  Then search for
+      // a module named (eg, on Linux) `lib-gnu-pkg-quux.so', followed
+      // by `lib-gnu-pkg.so' and `lib-gnu.so'.  If loading one of
+      // these causes the class to appear in the cache, then use it.
+      java::lang::StringBuffer *sb = new java::lang::StringBuffer (JvNewStringLatin1("lib-"));
+      // Skip inner classes
+      jstring cn;
+      jint ci = name->indexOf('$');
+      if (ci == -1)
+	cn = name;
+      else
+	cn = name->substring (0, ci);
+      jstring so_base_name = (sb->append (cn)->toString ())->replace ('.', '-');
+
+      // Compare against `3' because that is the length of "lib".
+      while (! klass && so_base_name && so_base_name->length() > 3)
+	{
+	  using namespace ::java::lang;
+	  Runtime *rt = Runtime::getRuntime();
+	  jboolean loaded = rt->loadLibraryInternal (so_base_name);
+
+	  jint nd = so_base_name->lastIndexOf ('-');
+	  if (nd == -1)
+	    so_base_name = NULL;
+	  else
+	    so_base_name = so_base_name->substring (0, nd);
+
+	  if (loaded)
+	    klass = _Jv_FindClassInCache (name_u, 0);
+	}
+    }
+
+  // Now try loading using the interpreter.
+  if (! klass)
+    klass = java::net::URLClassLoader::findClass (name);
+
+  return klass;
+}
diff --git a/libjava/java/lang/natClassLoader.cc b/libjava/java/lang/natClassLoader.cc
index debcb4f4fed7..db5ac9431d34 100644
--- a/libjava/java/lang/natClassLoader.cc
+++ b/libjava/java/lang/natClassLoader.cc
@@ -189,57 +189,6 @@ java::lang::VMClassLoader::getPrimitiveClass (jchar type)
   return _Jv_FindClassFromSignature (sig, NULL);
 }
 
-// This is the findClass() implementation for the System classloader. It is 
-// the only native method in VMClassLoader, so we define it here.
-jclass
-gnu::gcj::runtime::VMClassLoader::findClass (jstring name)
-{
-  _Jv_Utf8Const *name_u = _Jv_makeUtf8Const (name);
-  jclass klass = _Jv_FindClassInCache (name_u, 0);
-
-  if (! klass)
-    {
-      // Turn `gnu.pkg.quux' into `lib-gnu-pkg-quux'.  Then search for
-      // a module named (eg, on Linux) `lib-gnu-pkg-quux.so', followed
-      // by `lib-gnu-pkg.so' and `lib-gnu.so'.  If loading one of
-      // these causes the class to appear in the cache, then use it.
-      java::lang::StringBuffer *sb = new java::lang::StringBuffer (JvNewStringLatin1("lib-"));
-      // Skip inner classes
-      jstring cn;
-      jint ci = name->indexOf('$');
-      if (ci == -1)
-	cn = name;
-      else
-	cn = name->substring (0, ci);
-      jstring so_base_name = (sb->append (cn)->toString ())->replace ('.', '-');
-
-      // Compare against `3' because that is the length of "lib".
-      while (! klass && so_base_name && so_base_name->length() > 3)
-	{
-	  using namespace ::java::lang;
-	  Runtime *rt = Runtime::getRuntime();
-	  jboolean loaded = rt->loadLibraryInternal (so_base_name);
-
-	  jint nd = so_base_name->lastIndexOf ('-');
-	  if (nd == -1)
-	    so_base_name = NULL;
-	  else
-	    so_base_name = so_base_name->substring (0, nd);
-
-	  if (loaded)
-	    klass = _Jv_FindClassInCache (name_u, 0);
-	}
-    }
-
-  // Now try loading using the interpreter.
-  if (! klass)
-    {
-      klass = java::net::URLClassLoader::findClass (name);
-    }
-
-  return klass;
-}
-
 jclass
 java::lang::ClassLoader::findLoadedClass (jstring name)
 {
-- 
GitLab