This is the mail archive of the
java-discuss@sourceware.cygnus.com
mailing list for the Java project.
Re: Current libgcj tree has big problems with arrays -- interpreter related?
- To: java-patches@sourceware.cygnus.com, java-discuss@sourceware.cygnus.com
- Subject: Re: Current libgcj tree has big problems with arrays -- interpreter related?
- From: Kresten Krab Thorup <krab@daimi.au.dk>
- Date: 18 Aug 1999 16:25:20 +0200
- Cc: Bryce McKinlay <bryce@albatross.co.nz>
- References: <37BA24E6.A19C471E@albatross.co.nz>
I just commited a major update which, among other things, fixes this
problem. The other things changed are:
* New ClassLoader implementation, which is a skeleton 1.2
implementation (i.e., without any of the 1.2 security stuff).
* Implementation of jar URL's, and the jar "protocol".
* Implementation of getResource and friends.
* In the interpreter, a redo of the PUSH macros, so that they do not
involve a temporary variable.
* Clean-up of JvRunmain, it now exists in two distinct
implementations: one which specifies the start-class as an actual
class (the original), and one for which the first argument is the
name of the class to load. The latter is used for gij.
1999-08-18 Kresten Krab Thorup <krab@gnu.org>
* java/lang/natClassLoader.cc (_Jv_PrepareCompiledClass): Renamed
from _Jv_InternClassStrings.
* prims.cc (_Jv_RunMain): New function.
(JvRunMain): Remove gij-support.
* gij.cc (main): Use _Jv_RunMain.
* java/util/zip/ZipFile.java: Call readDirectory in constructor.
* interpret.cc (PUSHA, PUSHI, PUSHF, PUSHL, PUSHD): Don't store
argument in temp variable.
(continue1): For all op_x2y insns, use temp variable for
intermediate value. Also remove some comments.
* java/lang/natClass.cc (newInstance): Call _Jv_InitClass.
(forName): Don't call _Jv_InitClass.
* java/lang/Class.java (getResource,getResourceAsStream): Implement.
* java/util/zip/ZipEntry.java (ZipEntry(ZipEntry)): New construcor.
* java/util/jar/JarInputStream.java: New file.
* java/util/jar/JarEntry.java: New file.
* java/util/jar/JarFile.java: New file.
* java/net/URLClassLoader.java: New file.
* java/net/JarURLConnection.java: New file.
* gnu/gcj/protocol/jar/Handler.java: New file.
* gnu/gcj/protocol/jar/Connection.java: New file.
* java/security/SecureClassLoader.java: New file.
* java/lang/ClassLoader.java (parent): New variable.
(ClassLoader (ClassLoader)): new constructor.
(findClass): New method.
(loadClass): Add default 1.2 implementation.
(getSystemResourceAsBytes, getResourceAsBytes): Removed.
(readfully): Removed.
* gnu/gcj/runtime/VMClassLoader.java: Moved from java/lang.
(findSystemClass): New method.
(VMClassLoader): Constructor rewritten.
(init): New method.
All other methods removed.
* java/lang/natClassLoader.cc: Change use of java::lang::VMClassLoader
to gnu::gcj::runtime::VMClassLoader.
(_Jv_InternClassStrings): Use _Jv_ResolvePoolEntry. Also handle
class entries.
(VMClassLoader::findSystemClass): renamed from findBootClass.
* Makefile.am: Add new files.
(FirstThread.h, ThreadGroup.h): Add _Jv_Main friend.
* Makefile.in: Rebuilt.
--
Kresten Krab Thorup
Department of Computer Science, University of Aarhus
Aabogade 34, DK-8200 Aarhus N, Denmark
+45 8942 5665