]> git.ipfire.org Git - thirdparty/gcc.git/commit
PR libgcj/26063, PR libgcj/17978, PR libgcj/10598:
authorTom Tromey <tromey@redhat.com>
Wed, 8 Feb 2006 20:07:29 +0000 (20:07 +0000)
committerTom Tromey <tromey@gcc.gnu.org>
Wed, 8 Feb 2006 20:07:29 +0000 (20:07 +0000)
commit8b1753e3ec0f38a18b8bcd3c13e2b6b55f799099
treedad7dc41d043dce968c02f6043b92ddb8c7cbff7
parentb5642e202974f356bc85dafe0dfb4ab79736a48e
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.

From-SVN: r110763
libjava/ChangeLog
libjava/boehm.cc
libjava/defineclass.cc
libjava/include/execution.h
libjava/include/jvm.h
libjava/interpret.cc
libjava/link.cc