From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 20802 invoked by alias); 8 Feb 2006 20:07:41 -0000 Received: (qmail 20567 invoked by alias); 8 Feb 2006 20:07:38 -0000 Date: Wed, 08 Feb 2006 20:07:00 -0000 Message-ID: <20060208200738.20564.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug libgcj/17978] Binary Compatibility: use _Jv_AllocBytes to allocate interface dispatch tables In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: java-prs@gcc.gnu.org From: "tromey at gcc dot gnu dot org" Mailing-List: contact java-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: java-prs-owner@gcc.gnu.org X-SW-Source: 2006-q1/txt/msg00183.txt.bz2 List-Id: ------- Comment #3 from tromey at gcc dot gnu dot org 2006-02-08 20:07 ------- Subject: Bug 17978 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=17978