This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug libgcj/10598] dispatch tables and other Class structures not GCd



------- Comment #3 from tromey at gcc dot gnu dot org  2006-02-08 20:07 -------
Subject: Bug 10598

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


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=10598


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]