aboutsummaryrefslogtreecommitdiff
path: root/libjava/java/lang/natClassLoader.cc
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2002-12-11 03:15:14 +0000
committerTom Tromey <tromey@gcc.gnu.org>2002-12-11 03:15:14 +0000
commitad1121d10ea102d3f193413a4c80e3b48a4ecec2 (patch)
treeb22d13e76c99db3d512cbaf990977196e108fb80 /libjava/java/lang/natClassLoader.cc
parenta7e693d5d2ae7ddd3a14e4420ab88f677efbcebe (diff)
downloadgcc-ad1121d10ea102d3f193413a4c80e3b48a4ecec2.zip
gcc-ad1121d10ea102d3f193413a4c80e3b48a4ecec2.tar.gz
gcc-ad1121d10ea102d3f193413a4c80e3b48a4ecec2.tar.bz2
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
Diffstat (limited to 'libjava/java/lang/natClassLoader.cc')
-rw-r--r--libjava/java/lang/natClassLoader.cc51
1 files changed, 0 insertions, 51 deletions
diff --git a/libjava/java/lang/natClassLoader.cc b/libjava/java/lang/natClassLoader.cc
index debcb4f..db5ac94 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)
{