From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 80713 invoked by alias); 2 Jul 2019 01:39:38 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 80703 invoked by uid 89); 2 Jul 2019 01:39:37 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-13.0 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,KAM_ASCII_DIVIDERS,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=ham version=3.3.1 spammy=forwarded, reclaim X-HELO: mail-lj1-f174.google.com Received: from mail-lj1-f174.google.com (HELO mail-lj1-f174.google.com) (209.85.208.174) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 02 Jul 2019 01:39:36 +0000 Received: by mail-lj1-f174.google.com with SMTP id p17so15213168ljg.1 for ; Mon, 01 Jul 2019 18:39:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=golang-org.20150623.gappssmtp.com; s=20150623; h=mime-version:from:date:message-id:subject:to; bh=sLRQ6MZZJ4qrSRSJP8dwSMq+gQfaBlOvOSQAv9IYgEY=; b=AWhPcugAvFCiw8zdHMhzvHXwmiKHrZxfqFPINweolxuEj6Zc2q5/bnNna88gfhxdW5 kJuYD7Fht0gpPqJ3rpk83cq0BtIifBE/Rowli0+fTNDuWmE1eMvxTqGaF9/VEwkUcDdI /FCipn1hXJYmj4v7MbBu95JKEeaK8jDpsN2aHt8eFpqjP7MWwUiMofc4X1ZgatlOLEIu 9gWkALBQKVm7AoGwC83Uv2XBuJqbu38++UdTtnJ4Jas79W0GaivyC1dnnIlko2Ahwwyc 3XhK+rsCKGjs+p7dWj/gSiQqMHHwajzFfgNXZoKfZ8Dcb9k0f71q0Y7WlMA6uTHLGWIt NJew== MIME-Version: 1.0 From: Ian Lance Taylor Date: Tue, 02 Jul 2019 01:39:00 -0000 Message-ID: Subject: Go patch committed: refactor Exports to encapsulate type refs map To: gcc-patches , gofrontend-dev Content-Type: multipart/mixed; boundary="0000000000001040b7058ca8d1b4" X-SW-Source: 2019-07/txt/msg00095.txt.bz2 --0000000000001040b7058ca8d1b4 Content-Type: text/plain; charset="UTF-8" Content-length: 445 This Go frontend patch by Than McIntosh refactors the Export class to encapsulate the type refs map. This convert the Export::type_refs map from a static object to a field contained (indirectly, via an impl class) in Export itself, for better encapsulation and to be able to reclaim its memory when exporting is done. No change in compiler functionality. Bootstrapped and ran Go testsuite on x86_64-pc-linux-gnu. Committed to mainline. Ian --0000000000001040b7058ca8d1b4 Content-Type: text/plain; charset="US-ASCII"; name="patch.txt" Content-Disposition: attachment; filename="patch.txt" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_jxl594oj0 Content-length: 6698 SW5kZXg6IGdjYy9nby9nb2Zyb250ZW5kL01FUkdFCj09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KLS0tIGdjYy9nby9nb2Zyb250ZW5kL01FUkdFCShyZXZpc2lv biAyNzI2NjYpCisrKyBnY2MvZ28vZ29mcm9udGVuZC9NRVJHRQkod29ya2lu ZyBjb3B5KQpAQCAtMSw0ICsxLDQgQEAKLWQzZDBmM2M1YmJlOWQyNzIxNzhk NTViZGI5MDdiMDdjMTg4ODAwZTEKKzFlMDQyYTQ5ZDZmMmU5NWQzNzEzMDFh YTdiOTExNTIyZGM1ODc3ZjQKIAogVGhlIGZpcnN0IGxpbmUgb2YgdGhpcyBm aWxlIGhvbGRzIHRoZSBnaXQgcmV2aXNpb24gbnVtYmVyIG9mIHRoZSBsYXN0 CiBtZXJnZSBkb25lIGZyb20gdGhlIGdvZnJvbnRlbmQgcmVwb3NpdG9yeS4K SW5kZXg6IGdjYy9nby9nb2Zyb250ZW5kL2V4cG9ydC5jYwo9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09Ci0tLSBnY2MvZ28vZ29mcm9udGVuZC9leHBvcnQuY2MJ KHJldmlzaW9uIDI3MjYwOCkKKysrIGdjYy9nby9nb2Zyb250ZW5kL2V4cG9y dC5jYwkod29ya2luZyBjb3B5KQpAQCAtNDEsMTQgKzQxLDYgQEAgY29uc3Qg Y2hhciBFeHBvcnQ6OnYyX21hZ2ljW0V4cG9ydDo6bWFnaQogCiBjb25zdCBp bnQgRXhwb3J0OjpjaGVja3N1bV9sZW47CiAKLS8vIENvbnN0cnVjdG9yLgot Ci1FeHBvcnQ6OkV4cG9ydChTdHJlYW0qIHN0cmVhbSkKLSAgOiBzdHJlYW1f KHN0cmVhbSksIHR5cGVfaW5kZXhfKDEpLCBwYWNrYWdlc18oKQotewotICBn b19hc3NlcnQoRXhwb3J0OjpjaGVja3N1bV9sZW4gPT0gR29fc2hhMV9oZWxw ZXI6OmNoZWNrc3VtX2xlbik7Ci19Ci0KIC8vIFR5cGUgaGFzaCB0YWJsZSBv cGVyYXRpb25zLCB0cmVhdGluZyBhbGlhc2VzIGFzIGRpc3RpbmN0LgogCiBj bGFzcyBUeXBlX2hhc2hfYWxpYXNfaWRlbnRpY2FsCkBAIC04MCwxNCArNzIs MzEgQEAgY2xhc3MgVHlwZV9hbGlhc19pZGVudGljYWwKICAgfQogfTsKIAot Ly8gTWFwcGluZyBmcm9tIFR5cGUgb2JqZWN0cyB0byBhIGNvbnN0YW50IGlu ZGV4LiAgVGhpcyB3b3VsZCBiZSBuaWNlcgotLy8gYXMgYSBmaWVsZCBpbiBF eHBvcnQsIGJ1dCB0aGVuIGV4cG9ydC5oIHdvdWxkIGhhdmUgdG8gI2luY2x1 ZGUKLS8vIHR5cGVzLmguCi0KKy8vIE1hcHBpbmcgZnJvbSBUeXBlIG9iamVj dHMgdG8gYSBjb25zdGFudCBpbmRleC4KIHR5cGVkZWYgVW5vcmRlcmVkX21h cF9oYXNoKGNvbnN0IFR5cGUqLCBpbnQsIFR5cGVfaGFzaF9hbGlhc19pZGVu dGljYWwsCi0JCQkgICBUeXBlX2FsaWFzX2lkZW50aWNhbCkgVHlwZV9yZWZz OworICAgICAgICAgICAgICAgICAgICAgICAgICAgVHlwZV9hbGlhc19pZGVu dGljYWwpIFR5cGVfcmVmczsKKworLy8gSW1wbGVtZW50YXRpb24gb2JqZWN0 IGZvciBjbGFzcyBFeHBvcnQuICBIaWRkZW4gaW1wbGVtZW50YXRpb24gYXZv aWRzCisvLyBoYXZpbmcgdG8gI2luY2x1ZGUgdHlwZXMuaCBpbiBleHBvcnQu aCwgb3IgdXNlIGEgc3RhdGljIG1hcC4KKworc3RydWN0IEV4cG9ydF9pbXBs IHsKKyAgVHlwZV9yZWZzIHR5cGVfcmVmczsKK307CiAKLXN0YXRpYyBUeXBl X3JlZnMgdHlwZV9yZWZzOworLy8gQ29uc3RydWN0b3IuCisKK0V4cG9ydDo6 RXhwb3J0KFN0cmVhbSogc3RyZWFtKQorICAgIDogc3RyZWFtXyhzdHJlYW0p LCB0eXBlX2luZGV4XygxKSwgcGFja2FnZXNfKCksIGltcGxfKG5ldyBFeHBv cnRfaW1wbCkKK3sKKyAgZ29fYXNzZXJ0KEV4cG9ydDo6Y2hlY2tzdW1fbGVu ID09IEdvX3NoYTFfaGVscGVyOjpjaGVja3N1bV9sZW4pOworfQorCisvLyBE ZXN0cnVjdG9yLgorCitFeHBvcnQ6On5FeHBvcnQoKQoreworICBkZWxldGUg dGhpcy0+aW1wbF87Cit9CiAKIC8vIEEgdHJhdmVyc2FsIGNsYXNzIHRvIGNv bGxlY3QgZnVuY3Rpb25zIGFuZCBnbG9iYWwgdmFyaWFibGVzCiAvLyByZWZl cmVuY2VkIGJ5IGlubGluZWQgZnVuY3Rpb25zLgpAQCAtNjM1LDcgKzY0NCw3 IEBAIEV4cG9ydDo6c2V0X3R5cGVfaW5kZXgoVHlwZSogdHlwZSkKICAgdHlw ZSA9IHR5cGUtPmZvcndhcmRlZCgpOwogCiAgIHN0ZDo6cGFpcjxUeXBlX3Jl ZnM6Oml0ZXJhdG9yLCBib29sPiBpbnMgPQotICAgIHR5cGVfcmVmcy5pbnNl cnQoc3RkOjptYWtlX3BhaXIodHlwZSwgMCkpOworICAgIHRoaXMtPmltcGxf LT50eXBlX3JlZnMuaW5zZXJ0KHN0ZDo6bWFrZV9wYWlyKHR5cGUsIDApKTsK ICAgaWYgKCFpbnMuc2Vjb25kKQogICAgIHsKICAgICAgIC8vIFdlJ3ZlIGFs cmVhZHkgc2VlbiB0aGlzIHR5cGUuCkBAIC0xMDExLDggKzEwMjAsOCBAQCBF eHBvcnQ6OndyaXRlX3R5cGVzKGludCB1bmV4cG9ydGVkX3R5cGVfCiB7CiAg IC8vIE1hcCBmcm9tIHR5cGUgaW5kZXggdG8gdHlwZS4KICAgc3RkOjp2ZWN0 b3I8Y29uc3QgVHlwZSo+IHR5cGVzKHN0YXRpY19jYXN0PHNpemVfdD4odGhp cy0+dHlwZV9pbmRleF8pKTsKLSAgZm9yIChUeXBlX3JlZnM6OmNvbnN0X2l0 ZXJhdG9yIHAgPSB0eXBlX3JlZnMuYmVnaW4oKTsKLSAgICAgICBwICE9IHR5 cGVfcmVmcy5lbmQoKTsKKyAgZm9yIChUeXBlX3JlZnM6OmNvbnN0X2l0ZXJh dG9yIHAgPSB0aGlzLT5pbXBsXy0+dHlwZV9yZWZzLmJlZ2luKCk7CisgICAg ICAgcCAhPSB0aGlzLT5pbXBsXy0+dHlwZV9yZWZzLmVuZCgpOwogICAgICAg ICsrcCkKICAgICB7CiAgICAgICBpZiAocC0+c2Vjb25kID49IDApCkBAIC0x MTUyLDggKzExNjEsOCBAQCBpbnQKIEV4cG9ydDo6dHlwZV9pbmRleChjb25z dCBUeXBlKiB0eXBlKQogewogICB0eXBlID0gdHlwZS0+Zm9yd2FyZGVkKCk7 Ci0gIFR5cGVfcmVmczo6Y29uc3RfaXRlcmF0b3IgcCA9IHR5cGVfcmVmcy5m aW5kKHR5cGUpOwotICBnb19hc3NlcnQocCAhPSB0eXBlX3JlZnMuZW5kKCkp OworICBUeXBlX3JlZnM6OmNvbnN0X2l0ZXJhdG9yIHAgPSB0aGlzLT5pbXBs Xy0+dHlwZV9yZWZzLmZpbmQodHlwZSk7CisgIGdvX2Fzc2VydChwICE9IHRo aXMtPmltcGxfLT50eXBlX3JlZnMuZW5kKCkpOwogICBpbnQgaW5kZXggPSBw LT5zZWNvbmQ7CiAgIGdvX2Fzc2VydChpbmRleCAhPSAwKTsKICAgcmV0dXJu IGluZGV4OwpAQCAtMTIzMSw3ICsxMjQwLDcgQEAgRXhwb3J0OjpyZWdpc3Rl cl9idWlsdGluX3R5cGUoR29nbyogZ29nbwogICBOYW1lZF9vYmplY3QqIG5h bWVkX29iamVjdCA9IGdvZ28tPmxvb2t1cF9nbG9iYWwobmFtZSk7CiAgIGdv X2Fzc2VydChuYW1lZF9vYmplY3QgIT0gTlVMTCAmJiBuYW1lZF9vYmplY3Qt PmlzX3R5cGUoKSk7CiAgIHN0ZDo6cGFpcjxUeXBlX3JlZnM6Oml0ZXJhdG9y LCBib29sPiBpbnMgPQotICAgIHR5cGVfcmVmcy5pbnNlcnQoc3RkOjptYWtl X3BhaXIobmFtZWRfb2JqZWN0LT50eXBlX3ZhbHVlKCksIGNvZGUpKTsKKyAg ICB0aGlzLT5pbXBsXy0+dHlwZV9yZWZzLmluc2VydChzdGQ6Om1ha2VfcGFp cihuYW1lZF9vYmplY3QtPnR5cGVfdmFsdWUoKSwgY29kZSkpOwogICBnb19h c3NlcnQoaW5zLnNlY29uZCk7CiAKICAgLy8gV2UgYWxzbyBpbnNlcnQgdGhl IHVuZGVybHlpbmcgdHlwZS4gIFdlIGNhbiBzZWUgdGhlIHVuZGVybHlpbmcK QEAgLTEyMzksNyArMTI0OCw3IEBAIEV4cG9ydDo6cmVnaXN0ZXJfYnVpbHRp bl90eXBlKEdvZ28qIGdvZ28KICAgLy8gZmFpbHMtLXdlIGV4cGVjdCBkdXBs aWNhdGlvbnMgaGVyZSwgYW5kIGl0IGRvZXNuJ3QgbWF0dGVyIHdoZW4KICAg Ly8gdGhleSBvY2N1ci4KICAgVHlwZSogcmVhbF90eXBlID0gbmFtZWRfb2Jq ZWN0LT50eXBlX3ZhbHVlKCktPnJlYWxfdHlwZSgpOwotICB0eXBlX3JlZnMu aW5zZXJ0KHN0ZDo6bWFrZV9wYWlyKHJlYWxfdHlwZSwgY29kZSkpOworICB0 aGlzLT5pbXBsXy0+dHlwZV9yZWZzLmluc2VydChzdGQ6Om1ha2VfcGFpcihy ZWFsX3R5cGUsIGNvZGUpKTsKIH0KIAogLy8gQ2xhc3MgRXhwb3J0OjpTdHJl YW0uCkluZGV4OiBnY2MvZ28vZ29mcm9udGVuZC9leHBvcnQuaAo9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09Ci0tLSBnY2MvZ28vZ29mcm9udGVuZC9leHBvcnQu aAkocmV2aXNpb24gMjcyNjA4KQorKysgZ2NjL2dvL2dvZnJvbnRlbmQvZXhw b3J0LmgJKHdvcmtpbmcgY29weSkKQEAgLTIyLDYgKzIyLDcgQEAgY2xhc3Mg SW1wb3J0X2luaXRfc2V0OwogY2xhc3MgQmFja2VuZDsKIGNsYXNzIFRlbXBv cmFyeV9zdGF0ZW1lbnQ7CiBjbGFzcyBVbm5hbWVkX2xhYmVsOworc3RydWN0 IEV4cG9ydF9pbXBsOwogCiAvLyBDb2RlcyB1c2VkIGZvciB0aGUgYnVpbHRp biB0eXBlcy4gIFRoZXNlIGFyZSBhbGwgbmVnYXRpdmUgdG8gbWFrZQogLy8g dGhlbSBlYXNpbHkgZGlzdGluY3QgZnJvbSB0aGUgY29kZXMgYXNzaWduZWQg YnkgRXhwb3J0Ojp3cml0ZV90eXBlLgpAQCAtMTIxLDYgKzEyMiw3IEBAIGNs YXNzIEV4cG9ydCA6IHB1YmxpYyBTdHJpbmdfZHVtcAogICB9OwogCiAgIEV4 cG9ydChTdHJlYW0qKTsKKyAgfkV4cG9ydCgpOwogCiAgIC8vIFNpemUgb2Yg ZXhwb3J0IGRhdGEgbWFnaWMgc3RyaW5nICh3aGljaCBpbmNsdWRlcyB2ZXJz aW9uIG51bWJlcikuCiAgIHN0YXRpYyBjb25zdCBpbnQgbWFnaWNfbGVuID0g NDsKQEAgLTI2Miw2ICsyNjQsOCBAQCBjbGFzcyBFeHBvcnQgOiBwdWJsaWMg U3RyaW5nX2R1bXAKICAgaW50IHR5cGVfaW5kZXhfOwogICAvLyBQYWNrYWdl cyB3ZSBoYXZlIHdyaXR0ZW4gb3V0LgogICBVbm9yZGVyZWRfbWFwKGNvbnN0 IFBhY2thZ2UqLCBpbnQpIHBhY2thZ2VzXzsKKyAgLy8gSGlkZGVuIGltcGxl bWVudGF0aW9uLXNwZWNpZmljIHN0YXRlLgorICBFeHBvcnRfaW1wbCogaW1w bF87CiB9OwogCiAvLyBBbiBleHBvcnQgc3RyZWFtZXIgdGhhdCBwdXRzIHRo ZSBleHBvcnQgc3RyZWFtIGluIGEgbmFtZWQgc2VjdGlvbi4K --0000000000001040b7058ca8d1b4--