From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 30878 invoked by alias); 10 Apr 2012 12:26:33 -0000 Received: (qmail 30840 invoked by uid 22791); 10 Apr 2012 12:26:31 -0000 X-SWARE-Spam-Status: No, hits=-5.8 required=5.0 tests=AWL,BAYES_00,KHOP_RCVD_UNTRUST,KHOP_THREADED,RCVD_IN_DNSWL_HI,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from cantor2.suse.de (HELO mx2.suse.de) (195.135.220.15) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 10 Apr 2012 12:26:16 +0000 Received: from relay2.suse.de (unknown [195.135.220.254]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx2.suse.de (Postfix) with ESMTP id 86A8F94703; Tue, 10 Apr 2012 14:26:15 +0200 (CEST) Date: Tue, 10 Apr 2012 12:26:00 -0000 From: Michael Matz To: Jakub Jelinek Cc: Xinliang David Li , Richard Guenther , Bernd Schmidt , Gabriel Dos Reis , David Edelsohn , Diego Novillo , gcc Subject: Re: Switching to C++ by default in 4.8 In-Reply-To: <20120410084614.GJ6148@sunsite.ms.mff.cuni.cz> Message-ID: References: <4F7B356E.9080003@google.com> <4F7C35A3.3080207@codesourcery.com> <20120410084614.GJ6148@sunsite.ms.mff.cuni.cz> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-IsSubscribed: yes Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org X-SW-Source: 2012-04/txt/msg00312.txt.bz2 Hi, On Tue, 10 Apr 2012, Jakub Jelinek wrote: > > *) gcc implementation has lots of hard coded TREE_OPERAND (exp, nn) > > > > e.g. > > exp->as_component_ref().get_field() .. > > exp->as_mem_access().get_base() ... > > exp->as_mem_acesss().get_address() --> produces the > > address expression for memory access > > exp->as_mem_access().get_alias_handle () > > > > gimple_inst->serialize (&fixup_list) --> a virtual > > function overriden by actual instruction types that knows its byte > > code format. > > That silently assumes we want to change basic GIMPLE/tree data structures > to virtual classes, which is a significant change that has a significant > cost as well. E.g. all such changed data structures grow by a virtual > pointer field. Those data structures are heavily optimized for memory > footprint. > Not to mention it is very questionable if the above stuff is more readable > than what we currently have. Actually it's not questionable. The above stuff is _horrible_. Ciao, Michael.