This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
r110763 - in /trunk/libjava: ChangeLog boehm.cc...
- From: tromey at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: Wed, 08 Feb 2006 20:07:31 -0000
- Subject: r110763 - in /trunk/libjava: ChangeLog boehm.cc...
Author: tromey
Date: Wed Feb 8 20:07:29 2006
New Revision: 110763
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=110763
Log:
PR libgcj/26063, PR libgcj/17978, PR libgcj/10598:
* 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.
Modified:
trunk/libjava/ChangeLog
trunk/libjava/boehm.cc
trunk/libjava/defineclass.cc
trunk/libjava/include/execution.h
trunk/libjava/include/jvm.h
trunk/libjava/interpret.cc
trunk/libjava/link.cc