2006-02-21 Robert Schuster <robertschuster@fsfe.org>
* link.cc: Added variant of create_error_method that
will not complain about unused parameter if compiled with
USE_LIBFFI not being defined.
(_Jv_Linker::find_field_helper): Fixed indentation.
(_Jv_Linker::create_error_method): Fixed indentation.
(_Jv_Linker::link_symbol_table): Fixed indentation.
From-SVN: r111331
2006-02-16 Andrew Haley <aph@redhat.com>
* stacktrace.cc (GetStackTraceElements): Call
gnu::gcj::runtime::NameFinder::removeUnknown() to determine if
non-Java frames should be removed from a printed stack trace.
Pass methodName to getLineNumberForFrame().
(getLineNumberForFrame): Set method_name from info.dli_sname.
* gnu/gcj/runtime/NameFinder.java (removeUnknown): New method.
(remove_unknown): New variable.
* include/java-stack.h (_Jv_StackTrace::getLineNumberForFrame):
Add methodName arg.
From-SVN: r111181
2006-02-09 Bryce McKinlay <mckinlay@redhat.com>
* java/lang/Class.h (_Jv_IDispatchTable): Make it a struct. Put
'itable' inline, instead of as a pointer.
(java::lang::Class): Put 'idt' in anonymous union with 'ioffsets'.
* link.cc (null_idt): Update definition.
(_Jv_Linker::prepare_constant_time_tables): Allocate klass->idt
as a single struct. Use _Jv_AllocBytes, not _Jv_AllocRawObj.
(_Jv_Linker::generate_itable): Update to use 'ioffsets'.
(_Jv_Linker::find_iindex): Likewise. Update comment.
* java/lang/natClass.cc (_Jv_LookupInterfaceMethodIdx): Update for
_Jv_IDispatchTable change.
(_Jv_IsAssignableFrom): Likewise.
From-SVN: r110818
2006-02-08 Bryce McKinlay <mckinlay@redhat.com>
PR libgcj/25187:
* gnu/gcj/io/natSimpleSHSStream.cc
(gnu::gcj::io::SimpleSHSStream::shsFinal): Remove bogus cast.
* interpret.cc (_Jv_InterpMethod::run): Simplify arguments to
_Jv_InterpFrame().
* boehm.cc: #undef some autoconf macros before including gc-config.h.
(_Jv_MarkObject): Don't mark the class, it is reachable via the vtable.
(_Jv_MarkArray): Likewise.
* java/lang/ref/natReference.cc (java::lang::ref::Reference::create):
Simplify _Jv_GCRegisterDisappearingLink() call.
* java/lang/Class.h (getComponentType): Use element_type.
(element_type): New field declaration, as a union with "methods".
* java/lang/natClassLoader.cc (_Jv_NewArrayClass): Use "element_type".
* java/net/natVMNetworkInterfacePosix.cc
(java::net::VMNetworkInterface::getInterfaces): Add "int" cast to
avoid sign comparison warning.
* include/java-interp.h (_Jv_InterpFrame): Take thread as second
argument, not parent call frame.
* include/x86_64-signal.h (MAKE_THROW_FRAME): Use "gregs" directly,
without a cast.
(restore_rt): Declare with hidden visibility, not "static".
* posix.cc (_Jv_platform_initProperties): Make "tmpdir" a string
constant.
* jni.cc (_Jv_JNI_DestroyJavaVM): Use a union to avoid strict alias
warning
From-SVN: r110783
* defineclass.cc (parse): Use _Jv_AllocRawObj.
(read_constpool): Likewise.
(read_one_code_attribute): Use internal function name.
(handleConstantPool): Use _Jv_AllocRawObj.
(handleInterfacesBegin): Likewise.
(handleFieldsBegin): Likewise.
(handleMethodsBegin): Likewise.
(handleCodeAttribute): Likewise.
(handleMethodsEnd): Likewise.
* include/jvm.h (new_vtable): Use _Jv_AllocRawObj.
* interpret.cc (do_allocate_static_fields): Use _Jv_AllocRawObj.
Allocate reference fields separately.
* link.cc (prepare_constant_time_tables): Use _Jv_AllocRawObj.
(add_miranda_methods): Likewise.
(generate_itable): Use _Jv_AllocBytes.
(find_iindex): Likewise.
(struct method_closure): New structure.
(create_error_method): Use struct method_closure; allocate with
_Jv_AllocBytes.
(ensure_fields_laid_out): Separate reference fields from
non-reference fields.
* boehm.cc (_Jv_MarkObj): Mark vtable. Only mark direct fields
of Class.
(_Jv_MarkArray): Mark vtable.
(_Jv_AllocRawObj): Don't allocate objects of size 0.
* include/execution.h
(_Jv_ExecutionEngine::allocate_static_fields): Added 'int'
parameter.
(struct _Jv_CompiledEngine): Updated.
(class _Jv_InterpreterEngine): Updated.
From-SVN: r110763
Fixes PR #26073.
2006-02-03 Robert Schuster <robertschuster@fsfe.org>
* include/jvm.h:
(_Jv_Linker::create_error_method): New method declaration.
* link.cc:
(_Jv_Linker::create_error_method): New method.
(_Jv_Linker::link_symbol_table): Use new method above.
From-SVN: r110543
* link.cc:
(_Jv_Linker::find_field_helper): Added checks.
(_Jv_Linker::find_field): Use exception swallowing class resolution
and added early return.
(_Jv_ThrowNoClassDefFoundErrorTrampoline): New function.
(_Jv_Linker::link_symbol_table): Use exception swallowing class
resolution, added ffi_closure installation routine, use
_Jv_ThrowNoClassDefFoundError for missing static method.
(_Jv_Linker::ensure_class_linked): Added string check which does
not trigger class resolution.
* java/lang/natClassLoader.cc:
(_Jv_FindClassNoException): New method.
* java/lang/Class.h:
(_Jv_FindClassNoException): New method declaration.
* include/jvm.h:
(_Jv_FindClassNoException): New method declaration.
(_Jv_FindClassFromSignatureNoException): New method declaration.
* prims.cc:
(_Jv_FindClassFromSignatureNoException): New method.
* gcj/javaprims.h:
(_Jv_equalsUtf8Classname): New method declaration.
(_Jv_isPrimitiveOrDerived): Dito.
* prims.cc:
(_Jv_equalsUtf8Classnames): New method.
(_Jv_isPrimitiveOrDerived): New method.
* verify.cc:
(ref_intersection::equals): Use new classname comparison method.
(type::compatible): Use new classname comparison method. Added
check whether LHS' type is java.lang.Object .
(type::resolve): Added new optional debug message and simplified
if-expression.
(type::to_array): Added codepath that generates an array type
without resolving the element type.
From-SVN: r110474
* include/java-interp.h (insn_index): New declaration.
(num_insn_slots): New private variable.
(get_line_table): New declaration.
* interpret.cc (insn_index): New function.
(get_line_table): New function.
From-SVN: r110411
* prims.cc (next_property_value): Never return NULL.
(process_gcj_properties): Copy 'props' before using it.
Co-Authored-By: Tom Tromey <tromey@redhat.com>
From-SVN: r110177
* configure.host (disable_dladdr): Remove variable and its
documentation.
* configure.ac: Do not test for disable_dladdr.
* configure: Regenerate.
* include/config.h.in: Regenerate.
From-SVN: r110139
* configure.host (disable_dladdr): Remove variable and its
documentation.
* configure.ac: Do not test for disable_dladdr.
* configure: Regenerate.
From-SVN: r110137
* include/java-interp.h (_Jv_CompileMethod): Add declaration.
(class _Jv_InterpMethod): Add _Jv_CompileMethod as a friend.
* interpret.cc (_Jv_CompileMethod): New function.
(run): Massage code to allow for NULL args.
Update comments to explain NULL args.
Return if compiling the method and args is NULL.
From-SVN: r109918
2006-01-08 Chris Burdess <dog@gnu.org>
* java/lang/Character.java (toChars,toCodePoint): Correct these
methods to use algorithms from Unicode specification.
From-SVN: r109516
2005-12-26 Anthony Green <green@redhat.com>
* gnu/java/nio/SocketChannelImpl.java (read): Compute the right amount
of data to read (dst.remaining()).
* gnu/java/nio/DatagramChannelImpl.java (receive): Ditto.
2005-11-11 Mark Wielaard <mark@klomp.org>
Reported by john.zigman@anu.edu.au as bug #24608.
* gnu/java/nio/SocketChannelImpl.java (read): Put readBytes in
destination ByteBuffer when it doesn't have an array instead of len
bytes.
From-SVN: r109422
2005-12-28 Anthony Green <green@redhat.com>
* gnu/java/net/natPlainSocketImplWin32.cc (connect): Same
as previous patch, but for win32.
From-SVN: r109119
2005-12-28 Anthony Green <green@redhat.com>
* gnu/java/net/natPlainSocketImplPosix.cc (connect): Record
address and port before attempting anything.
From-SVN: r109116
2005-12-18 Anthony Green <green@redhat.com>
* gnu/java/net/natPlainDatagramSocketImplPosix.cc (getLocalAddress):
New helper function.
(setOption): Use getLocalAddress. Don't downcast value to
InetAddress.
(getOption): Use getLocalAddress.
From-SVN: r108779
2005-12-14 Andrew Haley <aph@redhat.com>
* gnu/java/rmi/rmic/CompilerProcess.java: Use a new thread to
handle stdout from the child process.
From-SVN: r108536
2005-12-12 Andrew Haley <aph@redhat.com>
* java/lang/VMCompiler.java: Directly generate a new instance of
gnu.java.security.provider.MD5.
From-SVN: r108421
2005-12-08 Andrew Haley <aph@redhat.com>
PR libgcj/25265
* java-tree.h (enum java_tree_index): Add JTI_SOFT_NOSUCHFIELD_NODE.
(soft_abstractmethod_node): New.
* expr.c (build_field_ref): Add in-line check for missing field.
* decl.c (java_init_decl_processing): Add soft_nosuchfield_node.
2005-12-08 Andrew Haley <aph@redhat.com>
PR libgcj/25265
* java/lang/Object.h (throwNoSuchMethodError): New method.
* java/lang/Object.java (throwNoSuchMethodError): New method.
* include/jvm.h (_Jv_ThrowNoSuchFieldError): Declare.
* link.cc (_Jv_ThrowNoSuchFieldError): New.
(link_symbol_table): Don't throw a NoSuchFieldError if a field is
missing. Instead, set the otable entry to zero.
(link_symbol_table): If we don't find a nonstatic method, insert
the vtable offset of Object.throwNoSuchMethodError() into the
otable.
From-SVN: r108235
2005-12-08 Andrew Haley <aph@redhat.com>
* java/lang/Object.h (throwNoSuchMethodError): New method.
* java/lang/Object.java (throwNoSuchMethodError): New method.
* include/jvm.h (_Jv_ThrowNoSuchFieldError): Declare.
* link.cc (_Jv_ThrowNoSuchFieldError): New.
(link_symbol_table): Don't throw a NoSuchFieldError if a field is
missing. Instead, set the otable entry to zero.
(link_symbol_table): If we don't find a nonstatic method, insert
the vtable offset of Object.throwNoSuchMethodError() into the
otable.
From-SVN: r108231
2005-11-25 Andrew Haley <aph@redhat.com>
PR libgcj/25016
* posix-threads.cc (_Jv_CondWait): Rewrite calculation of the
struct timespec we pass to pthread_cond_timedwait.
From-SVN: r107509
* testsuite/libjava.jacks/jacks.xfail: Remove
non-jls-argument-expansion-13 and add
non-jls-argument-expansion-error-1 in response to the @file support
patch in the main GCC driver.
From-SVN: r107506
PR libgcj/15430
* gnu/java/net/natPlainSocketImplPosix.cc (throw_on_sock_closed): New
function.
(accept): Call it.
(close): Call shutdown before closing.
(read()): Call read_helper with proper parameters.
(read(buffer, int, int)): Likewise.
(read_helper): Pass pointer to the PlainSocketImpl, remove native_fd
and timeout parameters. Make prototype to match. Use
pointer to PlainSocketImpl to access members. Call throw_on_sock_closed
in two places.
From-SVN: r107036
* gnu/gcj/convert/IOConverter.java: Regenerate aliases. Add
aliases for 'euc_jp' and 'eucjp'.
* scripts/encodings.pl: Recognize 'none', not 'NONE'. Include
canonical names in output.
(%map): Added UnicodeLittle and UnicodeBig.
From-SVN: r106490
PR target/23602
* toplev.c (process_options): Warn about unsupported combinations
of unwind tables and omit-frame-pointer.
* config/i386/i386.c (override_options): Similarly. Enable
accumulate-outgoing-args if not explicitly disabled.
testsuite/
* g++.dg/eh/omit-frame-pointer.C: Remove i?86 specific options.
* g++.dg/eh/omit-frame-pointer2.C: Likewise.
libjava/
* configure.host (i?86-*): Set -fomit-frame-pointer in libgcj_flags,
but not BACKTRACESPEC.
(x86_64-*): Similarly. Don't set -ffloat-store in 64-bit mode.
From-SVN: r105009
2005-10-02 Andrew Pinski <pinskia@physics.uc.edu>
* testsuite/lib/jni.exp (gcj_jni_test_one): For
darwin, use -shared-libgcc not -lgcc_s, and explain why.
(gcj_jni_invocation_test_one): Likewise.
From-SVN: r104878
* sysdep/powerpc/locks.h: Use 64-bit versions of primitives when
__LP64__ is defined rather than __powerpc64__.
(compare_and_swap): 'ret' is an obj_addr_t not just an int.
(compare_and_swap_release): Likewise.
From-SVN: r104746
2005-09-17 H.J. Lu <hongjiu.lu@intel.com>
* testsuite/libjava.jni/jni.exp (gcj_jni_invocation_test_one):
Use libjava_find_lib to find the proper libgcj.
From-SVN: r104370