OSDN Git Service

2005-03-16 Andreas Tobler <a.tobler@schweiz.ch>
[pf3gnuchains/gcc-fork.git] / libjava / ChangeLog
index aaf6e31..4e0ed3e 100644 (file)
@@ -1,3 +1,226 @@
+2005-03-16  Andreas Tobler  <a.tobler@schweiz.ch>
+
+       * testsuite/libjava.jni/jni.exp (gcj_jni_invocation_test_one): Add
+       lgcc_s to the libraries to link for Darwin.
+
+2005-03-15  Andreas Tobler  <a.tobler@schweiz.ch>
+
+       * stacktrace.cc (_Jv_StackTrace::UnwindTraceFn): Protect
+       interpreter-specific code with #ifdef INTERPRETER.
+       (_Jv_StackTrace::getLineNumberForFrame): Likewise.
+       (_Jv_StackTrace::FillInFrameInfo): Likewise.
+       (_Jv_StackTrace::non_system_trace_fn): Likewise.
+       * include/java-stack.h (struct _Jv_InterpFrameInfo): Protect with
+       #ifdef INTERPRETER. Also protect declarations that use it.
+       * java/lang/Class.h: Move _Jv_StackTrace friend declaration outside
+       #ifdef INTERPRETER block.
+
+2005-03-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR libgcj/20251
+       * Makefile.am (libjawt_la_LIBADD): Add -L$(here)/.libs.
+       * Makefile.in: Rebuilt.
+
+2005-03-15  David Daney  <ddaney@avtrex.com>
+
+       * gnu/java/net/natPlainSocketImplPosix.cc (read_helper): Handle
+       count == 0 case.
+
+2005-03-15  David Daney  <ddaney@avtrex.com>
+
+       * java/io/BufferedInputStream.java (available): Use 'in' instead
+       of 'super' for underlying stream access.
+       (close): Ditto.
+       (read(byte[], int, int)): Ditto.
+       (refill): Ditto.
+       (skip): Call skip on underlying stream when possible. 
+
+2005-03-12  Andreas Tobler  <a.tobler@schweiz.ch>
+
+       * stacktrace.cc (GetCallerInfo): Return nothing in case of
+       SJLJ_EXCEPTIONS is defined.
+
+2005-03-12  Ranjit Mathew  <rmathew@hotmail.com>
+
+       * testsuite/libjava.jacks/jacks.xfail: Add XFAILs for new JSR-201
+       tests.
+
+2005-03-11  Andreas Tobler  <a.tobler@schweiz.ch>
+
+       * testsuite/lib/libjava.exp (libjava_init): Use the same target
+       check for Darwin.
+       (libjava_arguments): Likewise.
+
+       * testsuite/libjava.jni/jni.exp (gcj_jni_compile_c_to_so): Likewise.
+       (gcj_jni_test_one): Likewise.
+       (gcj_jni_invocation_compile_c_to_binary): Likewise.
+       Add flags to keep the Darwin linker quiet.
+       (gcj_jni_invocation_test_one): Use the same target check for Darwin.
+       Add -liconv for Darwin.
+
+2005-03-11  Tom Tromey  <tromey@redhat.com>
+
+       * gnu/gcj/tools/gcj_dbtool/Main.java (main): Handle '-p'.
+       (usage): Document '-p'.
+       * Makefile.in: Rebuilt.
+       * Makefile.am (dbexecdir): New variable.
+       (db_name): Likewise.
+       (dbexec_DATA): Likewise.
+       ($(db_name)): New target.
+       (AM_CXXFLAGS): Define LIBGCJ_DEFAULT_DATABASE.
+       * java/lang/natRuntime.cc (insertSystemProperties): Set default
+       system database.
+
+2005-03-10  Bryce McKinlay  <mckinlay@redhat.com>
+
+       * exception.cc: Remove stray MethodRef.h include.
+       * java/lang/natClass.cc: Likewise.
+       * gnu/gcj/runtime/MethodRef.java: Removed.
+       * gnu/gcj/runtime/StackTrace.java, gnu/gcj/runtime/natNameFinder.cc,
+       gnu/gcj/runtime/natStackTrace.cc: Really removed.
+       * java/lang/natRuntime.cc (_load): Remove unsed variable.
+       * Makefile.am (ordinary_java_source_files): Remove MethodRef.java.
+       * Makefile.in: Rebuilt.
+
+2005-03-10  Tom Tromey  <tromey@redhat.com>
+
+       * Makefile.in: Rebuilt.
+       * Makefile.am (ordinary_java_source_files): Added MethodRef.java.
+
+2005-03-10  Chris Burdess  <dog@bluezoo.org>
+
+       * gnu/xml/dom/ls/SAXEventSink.java: Ignore element declarations if
+       not currently parsing the DTD.
+
+2005-03-10  Bryce McKinlay  <mckinlay@redhat.com>
+
+       New Stack Trace infrastructure.
+       * Makefile.am (libgcj0_convenience_la_SOURCES): Add stacktrace.cc.
+       (gnu/gcj/runtime/StackTrace.java): Removed.
+       (ordinary_java_source_files): Remove obsolete files.
+       (nat_source_files): Remove obsolete files. Add natVMThrowable.cc.
+       * configure.host (fallback_backtrace_h): Set backtrace header
+       for mingw and cygwin targets. 
+       * configure.ac: Make symlink for fallback backtrace headers.
+       * Makefile.in, configure: Rebuilt.
+       * defineclass.cc (_Jv_ClassReader::read_one_code_attribute):
+       Read 'LineNumberTable' attribute.
+       (_Jv_ClassReader::read_one_class_attribute): Read 'SourceFile'
+       attribute.
+       (_Jv_ClassReader::handleCodeAttribute): Initialize method line 
+       table fields.
+       * exception.cc: Remove unused include.
+       * interpret.cc (DIRECT_THREADED, insn_slot): Moved to java-interp.h.
+       (SAVE_PC): New macro. Save current PC in the interpreter frame.
+       (NULLCHECK, NULLARRAYCHECK): Use SAVE_PC.
+       (_Jv_InterpMethod::compile): Translate bytecode PC values in the line
+       table to direct threaded instruction values.
+       (_Jv_StartOfInterpreter, _Jv_EndOfInterpreter): Removed.
+       (_Jv_InterpMethod::run): No longer member function. All 
+       callers updated. Remove _Unwind calls. Call SAVE_PC whenever a call
+       is made or where an instruction could throw.
+       (_Jv_InterpMethod::get_source_line): New. Look up source line numbers
+       in line_table.
+       * prims.cc (catch_segv): Construct exception after MAKE_THROW_FRAME.
+       (catch_fpe): Likewise.
+       * stacktrace.cc: New file. Stack trace code now here.
+       * gnu/gcj/runtime/MethodRef.java: 
+       * gnu/gcj/runtime/NameFinder.java: Mostly reimplemented. Now simply
+       calls addr2line to look up PC addresses in a given binary or shared
+       library.
+       * gnu/gcj/runtime/StackTrace.java, gnu/gcj/runtime/natNameFinder.cc,
+       gnu/gcj/runtime/natStackTrace.cc: Removed.
+       * gnu/java/lang/MainThread.java (call_main): Add comment warning that
+       this function name is specially recognised by the stack trace code
+       and shouldn't be changed.
+       * include/java-interp.h (DIRECT_THREADED, insn_slot): Moved here.
+       (struct  _Jv_LineTableEntry, line_table, line_table_len): New.
+       (_Jv_InterpMethod::run): Update declaration.
+       (_Jv_StackTrace_): New friend. NameFinder and StackTrace no longer
+       friends.
+       (_Jv_InterpFrame): Renamed from _Jv_MethodChain. Add PC field.
+       * include/java-stack.h: New file. Declarations for stack tracing.
+       * include/jvm.h (_Jv_Frame_info): Removed.
+       * java/lang/Class.h: Update friend declarations.        
+       * java/lang/VMClassLoader.java (getSystemClassLoader): Simplify
+       exception message.
+       * java/lang/VMThrowable.java (fillInStackTrace): Now native.
+       (getStackTrace): Now native.
+       (data): New RawDataManaged field.
+       * java/lang/natClass.cc: Update includes. 
+       (forName): Use _Jv_StackTrace::GetCallingClass for 
+       calling-classloader check.
+       (getClassLoader): Likewise.
+       * java/lang/natRuntime.cc: Update includes.
+       (_load): Use _Jv_StackTrace::GetFirstNonSystemClassLoader.
+       * java/lang/natVMSecurityManager.cc: Update includes.
+       (getClassContext): Use _Jv_StackTrace::GetClassContext.
+       * java/lang/natVMThrowable.cc: New file. Native methods for 
+       VMThrowable.
+       * java/lang/reflect/natArray.cc: Update includes.
+       (newInstance): Use _Jv_StackTrace::GetCallingClass to implement
+       accessibility check.
+       * java/lang/reflect/natConstructor.cc: Update includes.
+       (newInstance): Use _Jv_StackTrace::GetCallingClass to implement
+       accessibility check.
+       * java/lang/reflect/natField.cc: Update includes.
+       (getAddr): Use _Jv_StackTrace::GetCallingClass to implement
+       accessibility check.
+       * java/lang/reflect/natMethod.cc: Update includes.
+       (invoke): Use _Jv_StackTrace::GetCallingClass to implement
+       accessibility check.
+       * java/util/natResourceBundle.cc: Update includes.
+       (getCallingClassLoader): Use _Jv_StackTrace::GetCallingClass.   
+       * java/util/logging/natLogger.cc: Update includes. Use 
+       _Jv_StackTrace::GetCallerInfo to get call-site info.    
+       * sysdep/generic/backtrace.h: Fallback backtrace code. Stub
+       implementation.
+       * sysdep/i386/backtrace.h: New. Fallback backtrace code. i386
+       implementation.
+
+2005-03-10  Ranjit Mathew  <rmathew@hotmail.com>
+
+       * testsuite/libjava.compile/PR20312.java: New file.
+       * testsuite/libjava.compile/PR20312.xfail: Likewise.
+       * testsuite/libjava.jacks/jacks.xfail: Remove 9.2-implicit-15.
+
+2005-03-09  Andrew Haley  <aph@redhat.com>
+
+       * gnu/java/nio/channels/FileChannelImpl.java (smallTransferFrom):
+       New.
+       (smallTransferTo): New.
+       (transferFrom): Loop around smallTransferFrom, copying pageSize
+       bytes each time.
+       (transferTo): Likewise.
+
+2005-03-09  David Daney  <ddaney@avtrex.com>
+
+       PR libgcj/20389
+       Merge BufferedInputStream from GNU Classpath.
+       * java/io/BufferedInputStream.java (marktarget): Field removed.
+       (CHUNKSIZE): Field removed.
+       (bufferSize): New field.
+       (BufferedInputStream): Initialize fields.
+       (close): Invalidate mark and buffer indexes.
+       (mark):  Rewritten.
+       (read()): Move mark handling code to refill.
+       (read(byte[], int, int)): Ditto.
+       (skip): Ditto and simplify EOF testing.
+       (refill): Rewritten.
+       * java/io/InputStreamReader.java (refill): Removed mark and reset
+       of internal BufferedInputStream.
+
+2005-03-09  Tom Tromey  <tromey@redhat.com>
+
+       * java/lang/natVMClassLoader.cc (defineClass): Reference
+       'systemClassLoader' field directly.
+       * java/lang/natRuntime.cc (_load): Reference 'systemClassLoader'
+       field directly.
+       * java/lang/natClassLoader.cc (_Jv_RegisterInitiatingLoader):
+       Reference 'systemClassLoader' field directly.
+       (_Jv_UnregisterInitiatingLoader): Likewise.
+       (_Jv_FindClass): Likewise.
+
 2005-03-09  Andreas Tobler  <a.tobler@schweiz.ch>
 
        * java/lang/fdlibm.h: Merge an AIX define from GNU Classpath.