From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6286 invoked by alias); 23 Dec 2004 01:23:25 -0000 Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org Received: (qmail 6242 invoked from network); 23 Dec 2004 01:23:19 -0000 Received: from unknown (HELO rwcrmhc11.comcast.net) (204.127.198.35) by sourceware.org with SMTP; 23 Dec 2004 01:23:19 -0000 Received: from [10.69.69.128] (c-67-169-96-182.client.comcast.net[67.169.96.182]) by comcast.net (rwcrmhc11) with SMTP id <20041223012318013001chtme>; Thu, 23 Dec 2004 01:23:18 +0000 In-Reply-To: <87zn06exoi.fsf@codesourcery.com> References: <20041213203007.GA4907@localhost.localdomain> <87fz28enjk.fsf@codesourcery.com> <877jnbiih7.fsf@codesourcery.com> <1103756747.20660.27.camel@linux.site> <87zn06exoi.fsf@codesourcery.com> Mime-Version: 1.0 (Apple Message framework v619) Content-Type: multipart/signed; micalg=sha1; boundary=Apple-Mail-4-903799684; protocol="application/pkcs7-signature" Message-Id: <596EF94A-5481-11D9-9172-000A95B1F520@geoffk.org> Cc: Daniel Berlin , gcc@gcc.gnu.org From: Geoff Keating Subject: Re: GTY and const Date: Thu, 23 Dec 2004 03:43:00 -0000 To: Zack Weinberg X-SW-Source: 2004-12/txt/msg01016.txt.bz2 --Apple-Mail-4-903799684 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-length: 1629 On 22/12/2004, at 3:10 PM, Zack Weinberg wrote: > Daniel Berlin writes: > >> On Tue, 2004-12-21 at 11:01 -0800, Zack Weinberg wrote: >>> Geoffrey Keating writes: >>> >>>>>> Would it be better to add a cast around the assignment or to make >>>>>> the GTY code handle const members? >>>>> >>>>> I'd prefer that you improved gengtype. >>>> >>>> It's not gengtype, the problem really is that you cannot have const >>>> GCed memory, for the same underlying reasons that you cannot free()=20 >>>> a >>>> const pointer. >>> >>> No, that's just plain not true. cpplib makes extensive use of=20 >>> 'const' >>> to indicate write-once data structures (they are initialized through=20 >>> a >>> non-const pointer, of course). Those definitely can be GC memory. >> >> Right. There is a significant difference between what we need to walk >> for marking, and what we really need to GC allocate. > > While what you say is true=B9, this particular data structure needs to be > in GC memory not because it can point to other things that are in GC > memory, but because it's part of a precompiled header. And, as a consequence of this, these data structures are not truly=20 write-once; any pointers contained in them will be changed by saving a=20 PCH. [I think I disagree with Dan's statement, but I'm not sure what he=20 means by "GC allocate". Certainly all roots need to be under control=20 of the GC machinery. Equally certainly, not all roots need to be in=20 memory that can be freed, and there are two obvious counterexamples in=20 the current compiler, static variables and PCH files.] --Apple-Mail-4-903799684 Content-Transfer-Encoding: base64 Content-Type: application/pkcs7-signature; name=smime.p7s Content-Disposition: attachment; filename=smime.p7s Content-length: 3270 MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEH AQAAoIIGRTCCAv4wggJnoAMCAQICAwyqbjANBgkqhkiG9w0BAQQFADBiMQsw CQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkg THRkLjEsMCoGA1UEAxMjVGhhd3RlIFBlcnNvbmFsIEZyZWVtYWlsIElzc3Vp bmcgQ0EwHhcNMDQwNzEyMDAxMzAyWhcNMDUwNzEyMDAxMzAyWjByMRAwDgYD VQQEEwdLZWF0aW5nMRkwFwYDVQQqExBHZW9mZnJleSBGcmFuY2lzMSEwHwYD VQQDExhHZW9mZnJleSBGcmFuY2lzIEtlYXRpbmcxIDAeBgkqhkiG9w0BCQEW EWdlb2Zma0BnZW9mZmsub3JnMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB CgKCAQEAz1axExdjJ+RtQWeSVlPhaB8CZWRAaw9FfzQOuHIrfx8+JYSoK0QS 2hmxIY2Xl+DcjWLrS4E5NLU7c4IT6wf2YgATottkcCPv23CUHpjR6GfsXDEo xYUXJpqGtp2+dQ961w6zO8o9qRJZGQTR+gZMuop/XUy9RsPa5TFduzmqPx+q voa9Zy70u3enROVvPdl4oZcc+xggk1IAfoJ2fFRhEP6RUl+Ndgw/smbKdl5h dB0UHM6uZ/9qYPMiobk6s2BYXS/iQdNcecGIkF6CXpPHGOOhls6GElXCzqgs /xSdYxAmcW/+wQbDep6hWXe/JwQoot8kQfxDzrzGrFX1OlaYFQIDAQABoy4w LDAcBgNVHREEFTATgRFnZW9mZmtAZ2VvZmZrLm9yZzAMBgNVHRMBAf8EAjAA MA0GCSqGSIb3DQEBBAUAA4GBAF5yTt0HOqSmciAIpzK9XiamceHzBDoVNnF4 Hu2g+WjTxYYyg9S+JLVCB0oTlFuLDl7nGhVAiOKd/rI6JoU2ggPUjjsP/JHi 0SX7AlPbJWFQFTdRhQjU/eXx2BzlMRyXmCJjrTMNHvoBaQLjgp4aDN7H1I5d hgIon3Lsg5SNKSD5MIIDPzCCAqigAwIBAgIBDTANBgkqhkiG9w0BAQUFADCB 0TELMAkGA1UEBhMCWkExFTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UE BxMJQ2FwZSBUb3duMRowGAYDVQQKExFUaGF3dGUgQ29uc3VsdGluZzEoMCYG A1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEkMCIGA1UE AxMbVGhhd3RlIFBlcnNvbmFsIEZyZWVtYWlsIENBMSswKQYJKoZIhvcNAQkB FhxwZXJzb25hbC1mcmVlbWFpbEB0aGF3dGUuY29tMB4XDTAzMDcxNzAwMDAw MFoXDTEzMDcxNjIzNTk1OVowYjELMAkGA1UEBhMCWkExJTAjBgNVBAoTHFRo YXd0ZSBDb25zdWx0aW5nIChQdHkpIEx0ZC4xLDAqBgNVBAMTI1RoYXd0ZSBQ ZXJzb25hbCBGcmVlbWFpbCBJc3N1aW5nIENBMIGfMA0GCSqGSIb3DQEBAQUA A4GNADCBiQKBgQDEpjxVc1X7TrnKmVoeaMB1BHCd3+n/ox7svc31W/Iadr1/ DDph8r9RzgHU5VAKMNcCY1osiRVwjt3J8CuFWqo/cVbLrzwLB+fxH5E2JCoT zyvV84J3PQO+K/67GD4Hv0CAAmTXp6a7n2XRxSpUhQ9IBH+nttE8YQRAHmQZ cmC3+wIDAQABo4GUMIGRMBIGA1UdEwEB/wQIMAYBAf8CAQAwQwYDVR0fBDww OjA4oDagNIYyaHR0cDovL2NybC50aGF3dGUuY29tL1RoYXd0ZVBlcnNvbmFs RnJlZW1haWxDQS5jcmwwCwYDVR0PBAQDAgEGMCkGA1UdEQQiMCCkHjAcMRow GAYDVQQDExFQcml2YXRlTGFiZWwyLTEzODANBgkqhkiG9w0BAQUFAAOBgQBI jNFQg+oLLswNo2asZw9/r6y+whehQ5aUnX9MIbj4Nh+qLZ82L8D0HFAgk3A8 /a3hYWLD2ToZfoSxmRsAxRoLgnSeJVCUYsfbJ3FXJY3dqZw5jowgT2Vfldr3 94fWxghOrvbqNOUQGls1TXfjViF4gtwhGTXeJLHTHUb/XV9lTzGCAucwggLj AgEBMGkwYjELMAkGA1UEBhMCWkExJTAjBgNVBAoTHFRoYXd0ZSBDb25zdWx0 aW5nIChQdHkpIEx0ZC4xLDAqBgNVBAMTI1RoYXd0ZSBQZXJzb25hbCBGcmVl bWFpbCBJc3N1aW5nIENBAgMMqm4wCQYFKw4DAhoFAKCCAVMwGAYJKoZIhvcN AQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMDQxMjIzMDEyNDEx WjAjBgkqhkiG9w0BCQQxFgQUJdkr9dsK6Ul7uxfmaxdwLnLpstsweAYJKwYB BAGCNxAEMWswaTBiMQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENv bnN1bHRpbmcgKFB0eSkgTHRkLjEsMCoGA1UEAxMjVGhhd3RlIFBlcnNvbmFs IEZyZWVtYWlsIElzc3VpbmcgQ0ECAwyqbjB6BgsqhkiG9w0BCRACCzFroGkw YjELMAkGA1UEBhMCWkExJTAjBgNVBAoTHFRoYXd0ZSBDb25zdWx0aW5nIChQ dHkpIEx0ZC4xLDAqBgNVBAMTI1RoYXd0ZSBQZXJzb25hbCBGcmVlbWFpbCBJ c3N1aW5nIENBAgMMqm4wDQYJKoZIhvcNAQEBBQAEggEApEoYOT01hrfgSLVD wDt+9AJ4qM+LdlKFTJh2Q9uXnnxrrteZYhhXFpEuyLkg5iF4hFmsvA/Ocq2B 4hp4TXWopjcU+Iir9NsaLk7mm8Lzpv9UAHNwXh824PaNCCigh5l1ztyjGNna Psl8TIM77eD8yXZb256dHJJJAcSpSNo4FY5ZBtkVSsSpKeY1Z4Q+H5L8eD87 uUmY7vsmLFsMgiqDO44WEX/5LediQAZPYjFEpCuhXU0VYmrz5YsSedfPMJ0y qvj+V4NSJNaT3/epAWrhgcarLd6TVLspzc8zRl5XCoYzzY0UxCc9AND+YrkT frK/UQZKK80/1/Vhjnf+XmLgvAAAAAAAAA== --Apple-Mail-4-903799684--