Kresten Krab Thorup
f7b4fb110a
interpret.cc (continue1): Implement explicit dispatch table.
...
* interpret.cc (continue1): Implement explicit dispatch table.
insn_target: Explicit interpreter switch table.
SAVE_PC: New macro, moves pc saving code into instructions that
require so.
NEXT_INSN: New macro, replaces `goto next_insn' in all insns.
PC_REGISTER_ASM: New macro.
INLINE_SWITCH: New macro. Constrols dispatching strategy.
opcode: Remove local variable.
{i,l,f,d}{load,store}_{0,1,2,3}: Expand definitions.
(POKEI): Use _Jv_word.
(iinc): Use _Jv_word.
(dupx): Change reference argument (sp) to pointer.
(jvdump): Remove
* interpret.cc: Remove instruction timing instrumentation.
* java/lang/natClassLoader.cc (_Jv_PrepareCompiledClass): Changed
comment. Don't use _Jv_ClassNameSamePackage.
* gnu/gcj/util/path/{SearchPath,ZipFileEntry,DirectoryPathEntry,
URLPathEntry, CacheEntry}: Removed.
* Makefile.am (ordinary_java_source_files): Remove gnu/gcj/util/path
package.
(.java.lo): Rule removed.
* Makefile.in: Rebuilt.
From-SVN: r28777
1999-08-20 11:40:35 +00:00
Tom Tromey
4c9d8fa8c5
* include/javaprims.h ("Java"): Regenerated namespace decls.
...
From-SVN: r28749
1999-08-18 16:34:28 +00:00
Kresten Krab Thorup
eb4534a636
natClassLoader.cc (_Jv_PrepareCompiledClass): Renamed from _Jv_InternClassStrings.
...
* 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.
From-SVN: r28748
1999-08-18 14:16:42 +00:00
Tom Tromey
212f5d3026
natThread.cc (sleep): Turn 0 millis and 0 nanos into 1 nano.
...
* java/lang/natThread.cc (sleep): Turn 0 millis and 0 nanos into 1
nano.
* include/quick-threads.h (_Jv_CondWait): Don't round to 0
inappropriately.
From-SVN: r28742
1999-08-18 03:48:37 +00:00
Alexandre Oliva
cb339d0278
javaprims.h (TRUE, FALSE): Redefine as themselves.
...
1999-08-12 Alexandre Oliva <oliva@dcc.unicamp.br>
* include/javaprims.h (TRUE, FALSE): Redefine as themselves.
From-SVN: r28689
1999-08-12 17:31:34 +00:00
Anthony Green
7941ceabf0
[multiple changes]
...
Mon Aug 9 18:33:38 1999 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
* Makefile: Rebuilt.
* Makefile.am (toolexeclibdir): Add $(MULTISUBDIR) even for native
builds.
* java/net/natPlainSocketImpl.cc: Include <sys/select.h> only if
present.
* configure: Rebuilt.
* configure.in: Properly align --help output, fix capitalization
and punctuation.
* acinclude.m4: Likewise.
1999-08-09 Kresten Krab Thorup <krab@gnu.org>
* include/javaprims.h (_Jv_word, _Jv_word2): New types.
* include/java-interp.h (_Jv_InterpMethodInvocation): Use _Jv_word.
(_Jv_callInterpretedMethod): Unused. Remove.
(_Jv_InterpMethod::run,run_normal,run_synch_object,run_synch_class):
Use ffi_raw.
* include/java-cpool.h (_Jv_get, _Jv_put): Remove.
(_Jv_{store,load}{Indexes,Int,Float,Long,Double}): Use _Jv_word.
* boehm.cc (_Jv_MarkObj): Use _Jv_word.
* interpret.cc: use _Jv_word.
* defineclass.cc: use_Jv_word.
* resolve.cc: Use _Jv_word.
(_Jv_ResolvePoolEntry): Return _Jv_word.
* java/lang/Class.h (_Jv_Constants): Use _Jv_word for cpool.
* java/lang/natClassLoader.cc (_Jv_InternClassStrings): Use _Jv_word.
* interpret.cc (gnu::gcj::runtime::MethodInvocation::continue1):
Change comment.
From-SVN: r28641
1999-08-10 05:32:23 +00:00
Anthony Green
58eb6e7cef
[multiple changes]
...
1999-08-09 Anthony Green <green@cygnus.com>
* gij.cc: New file.
* include/config.h.in: Rebuilt.
* acconfig.h: Add INTERPRETER.
* configure: Rebuilt.
* Makefile.in: Rebuilt.
* Makefile.am (libffi_files): Identify the libffi object files for
inclusion in libgcj.
(LIBFFIINCS): Define.
* interpret.cc (gnu::gcj::runtime::MethodInvocation::continue1):
Dummy definition for configurations without an interpreter.
* java/net/natPlainSocketImpl.cc (getOption): Disamiguate call to
java::lang::Boolean constructor.
* include/java-interp.h: Always include java-cpool.h.
* java/lang/natClassLoader.cc (getVMClassLoader0): Always return 0
when INTERPRETER not defined.
* java/lang/Class.h (finalize): Define.
* gnu/gcj/util/path/DirectoryPathEntry.java (getURL): Catch
IOException from File.getCanonicalPath.
(getStream): Likewise.
* NEWS: More news.
* THANKS: More thanks.
1999-08-09 Kresten Krab Thorup <krab@gnu.org>
* resolve.cc (get_ffi_type_from_signature): Generate uint16 for
jchar type.
(_Jv_PrepareClass): Allow non-abstract classes to
have abstract subclasses.
(_Jv_ResolvePoolEntry): Revert subclass check for protected
fields and methods.
* interpret.cc (continue1/perform_invoke): Don't sign extend
uint16 return val.
(continue1/lshl,lshr): Push long, not int.
(continue1/ulshr): Use UINT64, not long long.
* defineclass.cc (handleFieldsEnd): Handle case when all fields
are static.
* java/lang/natClass.cc (forName): Add call to _Jv_InitClass.
* java/lang/FirstThread.java (run): Add top-level exception
handler.
(run0): Renamed from run.
1999-08-08 Kresten Krab Thorup <krab@gnu.org>
* configure.in (--with-interpreter): Added.
* include/config.h.in (INTERPRETER): Added.
* java/lang/ClassLoader.java: File replaced.
* java/lang/VMClassLoader.java: New file.
* java/lang/natClassLoader.cc: New file.
* gnu/gcj/runtime/MethodInvocation.java: New file.
* gnu/gcj/util/path/SearchPath.java: New file.
* gnu/gcj/util/path/PathEntry.java: New file.
* gnu/gcj/util/path/DirectoryPathEntry.java: New file.
* gnu/gcj/util/path/ZipPathEntry.java: New file.
* gnu/gcj/util/path/URLPathEntry.java: New file.
* gnu/gcj/util/path/CacheEntry.java: New file.
* include/java-interp.h: New file.
* include/java-cpool.h: New file.
* include/java-insns.h: New file.
* defineclass.cc: New file.
* interpret.cc: New file.
* resolve.cc: New file.
* java/lang/natClass.cc (loaded_classes, _Jv_RegisterClass,
_Jv_RegisterClasses, _Jv_FindClassInCache, _Jv_FindClass,
_Jv_NewClass, _Jv_FindArrayClass): Moved to natClassLoader.cc.
(finalize): New.
(STATE_NOTHING, STATE_RESOLVED, STATE_IN_PROGRESS, STATE_DONE,
STATE_ERROR): Moved to java/lang/Class.h and renamed with JV_
prefix.
(initializeClass): Use new JV_ prefixed names. Also, call
ClassLoader::resolveClass instead of _Jv_ResolveClass.
* java/lang/Class.h (JV_STATE_PRELOADING, JV_STATE_LOADING,
JV_STATE_LOADED, JV_STATE_COMPILED, JV_STATE_PREPARED,
JV_STATE_LINKED): New.
(_Jv_WaitForState, _Jv_RegisterInitiatingLoader,
_Jv_UnregisterClass, _Jv_InternClassStrings): New friends.
(_Jv_IsInterpretedClass, _Jv_InitField, _Jv_LookupDeclaredMethod,
_Jv_DetermineVTableIndex, _Jv_ResolvePoolEntry, _Jv_PrepareClass,
_Jv_ClassReader, _Jv_InterpClass, _Jv_InterpMethod,
_Jv_InterpMethodInvocation): New friends for interpreter.
(finalize): New.
(CONSTANT_Class, CONSTANT_String, etc.): Moved to
include/java-cpool.h and renamed with JV_ prefix.
* include/jvm.h (_Jv_makeUtf8Const, _Jv_makeUtf8TypeConst): New
decls.
(_Jv_UnregisterClass): New decl.
* java/lang/natClassLoader.cc (_Jv_FindArrayClass): Added
class loader argument.
(_Jv_FindClass): Use class loader.
* prims.cc (_Jv_makeUtf8Const): New function.
(_Jv_NewObjectArray): Change use of _Jv_FindArrayClass.
(_Jv_NewPrimArray): Ditto.
(_Jv_FindClassFromSignature): Ditto.
* java/lang/reflect/natArray.cc (newInstance): Ditto.
* java/lang/reflect/natMethod.cc (getType): Ditto.
* include/java-field.h (_Jv_Field::isRef): Make robust for
non-resolved contexts.
* boehm.cc (_Jv_MarkObj): Mark interpreter-related fields.
Also, don't mark class->next field.
* java/lang/VirtualMachineError.java: Added FIXME note.
* configure.in (INTERPSPEC): New spec.
* libgcj.spec.in: Added INTERPSPEC.
* Makefile.am: Added gcjh friends for java/lang/VMClassLoader and
gnu/gcj/runtime/MethodInvocation.
(libgcj_la_SOURCES): Added resolve.cc defineclass.cc interpret.cc.
(ordinary_java_source_files): Added above mentioned java classes.
* configure: Rebuilt.
* Makefile.in: Rebuilt.
From-SVN: r28597
1999-08-08 14:06:23 +00:00
Alexandre Oliva
130e63de4a
configure.in: Check for bstring.h.
...
1999-08-01 Alexandre Oliva <oliva@dcc.unicamp.br>
* configure.in: Check for bstring.h.
* configure, include/config.h.in: Rebuilt.
* java/net/natPlainDatagramSocketImpl.cc: #include bstring.h.
* java/net/natPlainSocketImpl.cc: Likewise.
From-SVN: r28378
1999-08-01 23:39:53 +00:00
Alexandre Oliva
34c5c0e18c
configure.in: Check for struct hostent_data and need for -D_REENTRANT for gethostbyname_r...
...
1999-07-31 Alexandre Oliva <oliva@dcc.unicamp.br>
* configure.in: Check for struct hostent_data and need for
-D_REENTRANT for gethostbyname_r declaration.
* java/net/natInetAddress.cc: Define _REENTRANT if needed.
(lookup): Use hostent_data for fixed_buffer.
* configure, include/config.h.in: Rebuilt.
From-SVN: r28369
1999-08-01 00:14:32 +00:00
Andrew Haley
d342a2e1eb
prims.cc (JvRunMain): Always initialize arithexception.
...
1999-07-19 Andrew Haley <aph@cygnus.com>
* prims.cc (JvRunMain): Always initialize arithexception.
(_Jv_divI): New function.
(_Jv_remI): New function.
(_Jv_divJ): New function.
(_Jv_remI): New function.
* include/jvm.h: Add these new functions.
Makefile.am: add DIVIDESPEC.
aclocal.m4: ditto.
configure.host: set DIVIDESPEC.
libgcj.spec.in: pass DIVIDESPEC to compiler.
configure: rebuilt.
Makefile.in: rebuilt.
From-SVN: r28211
1999-07-21 15:11:56 +00:00
Tom Tromey
9608c09195
* include/stamp-h.in: New file.
...
From-SVN: r28171
1999-07-19 18:03:31 +00:00
Andrew Haley
80be8f05f1
i386-signal.h (MAKE_THROW_FRAME): Advance EIP by two bytes to make it point after the instruction where the trap...
...
1999-07-07 Andrew Haley <aph@cygnus.com>
* include/i386-signal.h (MAKE_THROW_FRAME): Advance EIP by two
bytes to make it point after the instruction where the trap
occurred.
(HANDLE_DIVIDE_OVERFLOW): Ditto.
From-SVN: r27989
1999-07-07 09:09:39 +00:00
Warren Levy
6130b0af10
configure: Rebuilt.
...
* configure: Rebuilt.
* configure.in: Added inet_ntoa to AC_CHECK_FUNCS.
* include/config.h.in: Rebuilt.
* java/net/natPlainDatagramSocketImpl.cc: Added header checking.
(mcastGrp): Updated FIXME comments.
(setOption): Fixed typo.
(getOption):Implemented IP_MULTICAST_IF.
From-SVN: r27929
1999-07-02 18:50:21 +00:00
Andrew Haley
0d072f2298
i386-signal.h: Replace sigaction () with __sigaction ().
...
1999-07-01 Andrew Haley <aph@cygnus.com>
* include/i386-signal.h: Replace sigaction () with __sigaction ().
This is a workaround for a bug in glibc's pthreads package which
doesn't deliver any sigcontext information to a signal handler.
From-SVN: r27876
1999-07-01 10:30:58 +00:00
Tom Tromey
0d16618c58
[multiple changes]
...
Fri May 28 22:20:03 1999 Anthony Green <green@cygnus.com>
* java/lang/fdlibm.h: Don't use __uint32_t. Include mprec.h.
* java/lang/e_log.c: Don't use __uint32_t.
1999-05-27 Eric Christopher <echristo@cygnus.com>
* configure: Rebuilt
* configure.in: Fixed ISO C9X and namespace collision with __uint32_t
* acconfig.h: Rebuilt
* include/config.h.in: Rebuilt
* java/lang/mprec.h, java/lang/e_acos.c, java/lang/e_asin.c,
java/lang/e_atan2.c, java/lang/e_exp.c, java/lang/e_fmod.c,
e_log.c, java/lang/e_pow.c, java/lang/e_rem_pio2.c,
java/lang/e_remainder.c, java/lang/e_sqrt.c, java/lang/fdlibm.h,
k_tan.c, java/lang/mprec.h, java/lang/s_atan.c,
java/lang/s_ceil.c, java/lang/s_copysign.c, java/lang/s_fabs.c,
s_floor.c, java/lang/s_rint.c, java/lang/sf_rint.c: Fixed ISO C9X
and namespace collision with __uint32_t
From-SVN: r27729
1999-06-24 20:06:09 +00:00
Andrew Haley
21635bd688
sparc-signal.h (INIT_FPE, INIT_SEGV): SA_NODEFER added to signal options to allow the same exceptions to be rethrown...
...
1999-05-21 Andrew Haley <aph@cygnus.com>
* include/sparc-signal.h (INIT_FPE, INIT_SEGV): SA_NODEFER added
to signal options to allow the same exceptions to be rethrown
later.
From-SVN: r27079
1999-05-21 06:03:30 +00:00
Andrew Haley
554b61bb30
prims.cc (catch_fpe): Call to HANDLE_DIVIDE_OVERFLOW added.
...
1999-05-20 Andrew Haley <aph@cygnus.com>
* libjava/prims.cc (catch_fpe): Call to HANDLE_DIVIDE_OVERFLOW
added.
* include/i386-signal.h (HANDLE_DIVIDE_OVERFLOW): New macro.
(INIT_FPE): Exception string made more informative.
* include/sparc-signal.h (INIT_FPE): Exception string made more
informative.
* testsuite/libjava.lang/Divide_1.java: New file.
* testsuite/libjava.lang/Divide_1.out: New file.
From-SVN: r27056
1999-05-20 08:26:55 +00:00
Tom Tromey
0ffac8322f
ZipOutputStream.java (level): Initial value is Deflater.DEFAULT_COMPRESSION.
...
* java/util/zip/ZipOutputStream.java (level): Initial value is
Deflater.DEFAULT_COMPRESSION.
(close): New method.
(closeEntry): Likewise.
(finish): Likewise.
(put_version): Likewise.
(write_entry): Likewise.
(put2, put4): Now return `int'.
(comment): Default to empty string.
(bytes_written): New instance variable.
(chain): Likewise.
* java/util/zip/ZipEntry.java (setComment): Limit length of
comment string.
(setCrc): Check CRC validity.
(setExtra): Check argument validity.
(setMethod): Likewise.
(setSize): Likewise.
(ZipEntry): Likewise.
* include/javaprims.h: Updated namespace declarations.
* Makefile.in: Rebuilt.
* Makefile.am (ordinary_java_source_files): Mention new files.
(nat_source_files): Likewise.
* java/util/zip/ZipFile.java (readu2): Throw ZipException, not
EOFException.
(read4): Likewise.
(getInputStream): Handle compressed entries.
* java/util/zip/GZIPOutputStream.java: New file.
* java/util/zip/GZIPInputStream.java: New file.
* java/util/zip/DataFormatException.java: New file.
* java/util/zip/CheckedInputStream.java: New file.
* java/util/zip/CheckedOutputStream.java: New file.
* java/util/zip/InflaterInputStream.java: Implemented.
* java/util/zip/natInflater.cc: New file.
* java/util/zip/Deflater.java: Implemented.
* java/util/zip/natDeflater.cc: New file.
* java/util/zip/DeflaterOutputStream.java: Implemented.
* java/util/zip/ZipInputStream.java (closeZipEntry): Throw
ZipException, not IOException.
* java/util/zip/ZipFile.java (readDirectory): Throw ZipException,
not IOException.
From-SVN: r26996
1999-05-18 15:33:03 +00:00
Tom Tromey
42962a480a
javaprims.h: Updated namespace declarations.
...
* include/javaprims.h: Updated namespace declarations.
* classes.pl (scan): Uniquify class list.
* Makefile.in, configure: Rebuilt.
* Makefile.am (nat_source_files): Added natConcreteProcess.cc.
(built_java_source_files): New macro.
(nat_headers): Added built_java_source_files.
(javao_files): Likewise.
(EXTRA_libgcj_la_SOURCES): Likewise.
(libgcj.zip): Create built class files.
($(built_java_source_files:.java=.class)): New target.
(jv_convert_LDADD): Added -L$(here)/.libs.
* configure.in: Create links for ConcreteProcess.java and
natConcreteProcess.cc.
* java/lang/Runtime.java (exec): Create a ConcreteProcess.
* java/lang/natEcosProcess.cc: New file.
* java/lang/EcosProcess.java: New file.
* java/lang/PosixProcess.java: New file.
* java/lang/natPosixProcess.cc: New file.
From-SVN: r26901
1999-05-12 11:23:44 +00:00
Tom Tromey
a31b081d11
RawData.java: Added copyright header.
...
* gnu/gcj/RawData.java: Added copyright header.
* include/jni.h (_Jv_va_list): Always define as va_list.
From-SVN: r26855
1999-05-10 08:42:28 +00:00
Tom Tromey
01b02b11de
acconfig.h (GCJVERSION): New undef.
...
* acconfig.h (GCJVERSION): New undef.
* java/lang/natSystem.cc (init_properties): Define java.version,
java.class.version, os.name, os.arch, os.version.
Include <sys/utsname.h> if required.
* configure: Rebuilt.
* configure.in: Compute and define GCJVERSION.
* java/lang/natSystem.cc (default_file_encoding): Now static.
From-SVN: r26830
1999-05-07 18:44:38 +00:00
Andrew Haley
01f78a025e
sparc-signal.h: new file.
...
1999-04-20 Andrew Haley <aph@cygnus.com>
* include/sparc-signal.h: new file.
* configure.in: include/sparc-signal.h added.
* configure: regenerated.
* prims.cc (JvRunMain): signal handling code rewritten to be more
portable.
(catch_segv): ditto.
(catch_fpe): ditto.
* include/i386-signal.h: reorganized.
* include/default-signal.h: reorganized.
From-SVN: r26560
1999-04-20 06:27:11 +00:00
Tom Tromey
0cf347a3a7
* include/javaprims.h: Removed security namespace.
...
From-SVN: r26543
1999-04-19 07:48:02 +00:00
Anthony Green
fac6189871
Makefile.in: Rebuilt.
...
* Makefile.in: Rebuilt.
* Makefile.am (ordinary_java_source_files): Add new security files.
* java/security/NoSuchAlgorithmException.java,
java/security/MessageDigest.java: New files.
* include/javaprims.h: Add security namespace.
From-SVN: r26536
1999-04-18 08:24:30 +00:00
Andrew Haley
a4e44caa6d
i386-signal.h, [...]: New files.
...
1999-04-13 Andrew Haley <aph@cygnus.com>
* include/i386-signal.h, include/default-signal.h: New files.
* prims.cc (catch_segv): Call MAKE_THROW_FRAME in exception
handler.
(catch_fpe): New function.
* configure.in: Make link to appropriate include/java-signal.h.
* configure: Rebuilt.
* Makefile.am: include/java-signal.h added to dependency list.
* Makefile.in: Rebuilt.
From-SVN: r26400
1999-04-13 09:18:09 +00:00
Tom Tromey
ee9dd3721b
Initial revision
...
From-SVN: r26263
1999-04-07 14:42:40 +00:00