This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
gcc/libjava ChangeLog boehm.cc defineclass.cc ...
- From: tromey at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org, java-cvs at gcc dot gnu dot org
- Date: 14 Sep 2004 21:12:55 -0000
- Subject: gcc/libjava ChangeLog boehm.cc defineclass.cc ...
CVSROOT: /cvs/gcc
Module name: gcc
Branch: gcj-abi-2-dev-branch
Changes by: tromey@gcc.gnu.org 2004-09-14 21:12:55
Modified files:
libjava : ChangeLog boehm.cc defineclass.cc interpret.cc
jni.cc prims.cc resolve.cc
libjava/gnu/gcj/runtime: natSharedLibLoader.cc
libjava/include: java-interp.h jvm.h
libjava/java/lang: Class.h VMClassLoader.java natClass.cc
natClassLoader.cc natVMClassLoader.cc
libjava/java/lang/reflect: natField.cc
Added files:
libjava/include: execution.h
Log message:
* java/lang/reflect/natField.cc (getType): Use resolve_field.
* java/lang/natVMClassLoader.cc (resolveClass): New native
implementation.
(linkClass0): Removed.
(markClassErrorState0): Likewise.
* java/lang/natClassLoader.cc: Include execution.h. Moved class
preparation code to resolve.cc.
(_Jv_RegisterClassHookDefault): Set class's execution engine if
not already set.
(_Jv_FindClass): Use wait_for_state.
(_Jv_NewArrayClass): Likewise. Simplified permissions setting.
* java/lang/natClass.cc (_Jv_IsInstanceOf): Include execution.h.
Moved interface table and class preparation code to resolve.cc.
(finalize): Rewrote.
(initializeClass): Simplified locking and class preparation.
* java/lang/VMClassLoader.java (linkClass0): Removed.
(markClassErrorState0): Likewise.
(resolveClass): Now native.
(transformException): New method.
* java/lang/Class.h (getSuperclass): Don't try to resolve super
reference.
(getInterface): Likewise.
(size): Likewise.
(set_state): New method.
(Class): Updated friend declarations.
(verify): Field now private.
(engine): New field.
* include/jvm.h (class _Jv_Resolver): New class declaration.
(_Jv_ResolveField): Removed declaration.
(_Jv_CheckAccessNoInit): Likewise.
(_Jv_isBinaryCompatible): Removed.
* include/java-interp.h (class _Jv_MethodBase): Updated friend
declarations.
(class _Jv_InterpMethod): Likewise.
(class _Jv_InterpClass): Likewise.
(class _Jv_JNIMethod): Likewise.
* include/execution.h: New file.
* gnu/gcj/runtime/natSharedLibLoader.cc: Include execution.h.
(_Jv_sharedlib_register_hook): Set `engine' on loaded class.
Register class after setting fields.
* resolve.cc: Include execution.h, VerifyError.h. Moved
interpreter-specific code to interpret.cc.
(uaddr): New location.
(struct aligner): Likewise.
(ALIGNOF): Likewise.
(INITIAL_IOFFSETS_LEN): Interface dispatch code moved here.
(INITIAL_IFACES_LEN): Likewise.
(null_idt): Likewise.
(_Jv_GetMethodString): Likewise.
(_Jv_ThrowNoSuchMethodError): Likewise.
(_Jv_abstractMethodError): Likewise.
(_Jv_Resolver::get_alignment_from_class): Renamed.
(_Jv_Resolver::resolve_field): Likewise.
(_Jv_Resolver::resolve_pool_entry): Likewise.
(_Jv_Resolver::resolve_class_ref): Likewise.
(_Jv_Resolver::prepare_constant_time_tables): Likewise.
(_Jv_Resolver::indexof): Likewise.
(_Jv_Resolver::get_interfaces): Likewise.
(_Jv_Resolver::generate_itable): Likewise.
(_Jv_Resolver::append_partial_itable): Likewise.
(_Jv_Resolver::find_iindex): Likewise.
(_Jv_Resolver::link_symbol_table): Likewise.
(_Jv_Resolver::link_exception_table): Likewise.
(_Jv_Resolver::layout_interface_methods): Likewise.
(_Jv_Resolver::layout_vtable_methods): Likewise.
(_Jv_Resolver::set_vtable_entries): Likewise.
(_Jv_Resolver::make_vtable): Likewise.
(_Jv_Resolver::ensure_fields_laid_out): Likewise.
(_Jv_Resolver::ensure_class_linked): Likewise.
(_Jv_Resolver::ensure_supers_installed): Likewise.
(_Jv_Resolver::add_miranda_methods): Likewise.
(_Jv_Resolver::ensure_method_table_complete): Likewise.
(_Jv_Resolver::verify_class): Likewise.
(_Jv_Resolver::wait_for_state): Likewise.
* prims.cc (_Jv_soleCompiledEngine): New global.
(_Jv_CheckAccess): Use _Jv_IsAssignableFromSlow.
(_Jv_CheckAccessNoInit): Removed.
* jni.cc (_Jv_JNI_GetAnyFieldID): Use resolve_field.
* interpret.cc: Include platform.h, ClassFormatError.h,
Modifier.h, execution.h.
(_Jv_soleInterpreterEngine): New global.
(compile): Use resolve_pool_entry.
(run): Likewise.
(_Jv_InitField): New location.
(skip_one_type): Likewise.
(get_ffi_type_from_signature): Likewise.
(_Jv_count_arguments): Likewise.
(init_cif): Likewise.
(ncode_closure): Likewise.
(ffi_closure_fun): Likewise.
(ncode): Likewise.
(throw_class_format_error): Likewise.
(throw_class_format_error): Likewise.
(_Jv_InterpreterEngine::do_verify): New method.
(_Jv_InterpreterEngine::do_create_ncode): Likewise.
(_Jv_InterpreterEngine::do_allocate_static_fields): Likewise.
(_Jv_InterpreterEngine::do_resolve_method): Likewise.
* defineclass.cc: Include execution.h.
(_Jv_ClassReader): Initialize size_in_bytes, vtable_method_count,
engine.
(checkExtends): Ensure superclass has supers installed.
(_Jv_ClassNameSamePackage): Clarify usage constraints.
* boehm.cc (GC_enable, GC_disable): Declare at top of file.
(_Jv_MarkObj): Unconditionally mark vtable. Mark interface
dispatch tables.
Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcj-abi-2-dev-branch&r1=1.2729.2.20&r2=1.2729.2.21
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/boehm.cc.diff?cvsroot=gcc&only_with_tag=gcj-abi-2-dev-branch&r1=1.42.12.1&r2=1.42.12.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/defineclass.cc.diff?cvsroot=gcc&only_with_tag=gcj-abi-2-dev-branch&r1=1.35.16.3&r2=1.35.16.4
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/interpret.cc.diff?cvsroot=gcc&only_with_tag=gcj-abi-2-dev-branch&r1=1.40.18.1&r2=1.40.18.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/jni.cc.diff?cvsroot=gcc&only_with_tag=gcj-abi-2-dev-branch&r1=1.81.6.1&r2=1.81.6.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/prims.cc.diff?cvsroot=gcc&only_with_tag=gcj-abi-2-dev-branch&r1=1.87.10.4&r2=1.87.10.5
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/resolve.cc.diff?cvsroot=gcc&only_with_tag=gcj-abi-2-dev-branch&r1=1.44.2.4&r2=1.44.2.5
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/gnu/gcj/runtime/natSharedLibLoader.cc.diff?cvsroot=gcc&only_with_tag=gcj-abi-2-dev-branch&r1=1.5&r2=1.5.18.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/include/execution.h.diff?cvsroot=gcc&only_with_tag=gcj-abi-2-dev-branch&r1=NONE&r2=1.1.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/include/java-interp.h.diff?cvsroot=gcc&only_with_tag=gcj-abi-2-dev-branch&r1=1.23.16.1&r2=1.23.16.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/include/jvm.h.diff?cvsroot=gcc&only_with_tag=gcj-abi-2-dev-branch&r1=1.63.6.4&r2=1.63.6.5
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/java/lang/Class.h.diff?cvsroot=gcc&only_with_tag=gcj-abi-2-dev-branch&r1=1.63.12.10&r2=1.63.12.11
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/java/lang/VMClassLoader.java.diff?cvsroot=gcc&only_with_tag=gcj-abi-2-dev-branch&r1=1.10&r2=1.10.8.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/java/lang/natClass.cc.diff?cvsroot=gcc&only_with_tag=gcj-abi-2-dev-branch&r1=1.75.2.14&r2=1.75.2.15
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/java/lang/natClassLoader.cc.diff?cvsroot=gcc&only_with_tag=gcj-abi-2-dev-branch&r1=1.64.8.8&r2=1.64.8.9
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/java/lang/natVMClassLoader.cc.diff?cvsroot=gcc&only_with_tag=gcj-abi-2-dev-branch&r1=1.1.18.2&r2=1.1.18.3
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/java/lang/reflect/natField.cc.diff?cvsroot=gcc&only_with_tag=gcj-abi-2-dev-branch&r1=1.15&r2=1.15.16.1