From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 10389 invoked by alias); 27 Mar 2012 22:23:34 -0000 Received: (qmail 10374 invoked by uid 22791); 27 Mar 2012 22:23:32 -0000 X-SWARE-Spam-Status: No, hits=-2.3 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW X-Spam-Check-By: sourceware.org Received: from mail-yw0-f47.google.com (HELO mail-yw0-f47.google.com) (209.85.213.47) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 27 Mar 2012 22:23:09 +0000 Received: by yhjj56 with SMTP id j56so404666yhj.20 for ; Tue, 27 Mar 2012 15:23:09 -0700 (PDT) MIME-Version: 1.0 Received: by 10.236.193.36 with SMTP id j24mr7538691yhn.34.1332886989090; Tue, 27 Mar 2012 15:23:09 -0700 (PDT) Received: by 10.100.146.5 with HTTP; Tue, 27 Mar 2012 15:23:09 -0700 (PDT) In-Reply-To: References: <201203272307.17027.ebotcazou@adacore.com> Date: Tue, 27 Mar 2012 22:23:00 -0000 Message-ID: Subject: [patch][rfa] Do not call output_constant from the front end From: Steven Bosscher To: gcc-patches@gcc.gnu.org, java-patches@gcc.gnu.org Cc: Richard Guenther , Eric Botcazou Content-Type: multipart/mixed; boundary=20cf305b0c0e82aed004bc40ef0d Mailing-List: contact java-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: java-patches-owner@gcc.gnu.org X-SW-Source: 2012-q1/txt/msg00081.txt.bz2 --20cf305b0c0e82aed004bc40ef0d Content-Type: text/plain; charset=ISO-8859-1 Content-length: 1030 On Tue, Mar 27, 2012 at 11:51 PM, Steven Bosscher wrote: > On Tue, Mar 27, 2012 at 11:07 PM, Eric Botcazou wrote: >>> With this patch a variable named "_Jv_CLS" is written out. The >>> assembly before and after the patch is the same, except for the >>> variable name. I want to write out a nameless variable but I don't >>> know how. >> >> Try tree_output_constant_def. > > I didn't know about this function. But as far as I can tell, there is > no way to instruct that function to put the data in a specific > section. In the Java case, the data must be put in the .jcr section. I > suppose that can be achieved with a bit more re-working of varasm, but > not with the code as-is. Thanks for the pointer, though! It also doesn't appear to be possible to adjust the alignment via tree_output_constant_def(), so going down that path seems more trouble than it's worth. Therefore, an RFA for the attached patch. Bootstrapped&tested on powerpc64-unknown-linux-gnu. OK? Ciao! Steven --20cf305b0c0e82aed004bc40ef0d Content-Type: text/x-patch; charset=US-ASCII; name="java_no_output_constant.diff" Content-Disposition: attachment; filename="java_no_output_constant.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_h0bierpd0 Content-length: 6837 amF2YS8KCVBSIGphdmEvNTI3MzAKCSogY2xhc3MuYyAoZW1pdF9yZWdpc3Rl cl9jbGFzc2VzX2luX2pjcl9zZWN0aW9uKTogTmV3IGZ1bmN0aW9uLgoJKGVt aXRfSnZfUmVnaXN0ZXJDbGFzc19jYWxscyk6IE5ldyBmdW5jdGlvbiwgc3Bs aXQgb3V0IGZyb20gLi4uCgkoZW1pdF9yZWdpc3Rlcl9jbGFzc2VzKTogLi4u IGhlcmUuICBSZW9yZ2FuaXplLiAgRG8gbm90IGNhbGwKCW91dHB1dF9jb25z dGFudC4KCkluZGV4OiBjbGFzcy5jCj09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K LS0tIGNsYXNzLmMJKHJldmlzaW9uIDE4NTgxMykKKysrIGNsYXNzLmMJKHdv cmtpbmcgY29weSkKQEAgLTI3ODYsMTAgKzI3ODYsNzggQEAgZW1pdF9pbmRp cmVjdF9yZWdpc3Rlcl9jbGFzc2VzICh0cmVlICpsaXN0X3ApCiAgIGFwcGVu ZF90b19zdGF0ZW1lbnRfbGlzdCAodCwgbGlzdF9wKTsKIH0KIAorLyogRW1p dCBhIGxpc3Qgb2YgcG9pbnRlcnMgdG8gYWxsIGNsYXNzZXMgd2UgaGF2ZSBl bWl0dGVkIHRvIEpDUl9TRUNUSU9OLiAgKi8KIAorc3RhdGljIHZvaWQKK2Vt aXRfcmVnaXN0ZXJfY2xhc3Nlc19pbl9qY3Jfc2VjdGlvbiAodm9pZCkKK3sK KyAgdHJlZSBrbGFzcywgY2RlY2wsIGNsYXNzX2FycmF5X3R5cGU7CisgIGlu dCBpOworICBpbnQgc2l6ZSA9IFZFQ19sZW5ndGggKHRyZWUsIHJlZ2lzdGVy ZWRfY2xhc3MpOworICBWRUMoY29uc3RydWN0b3JfZWx0LGdjKSAqaW5pdCA9 IFZFQ19hbGxvYyAoY29uc3RydWN0b3JfZWx0LCBnYywgc2l6ZSk7CisKKyNp Zm5kZWYgSkNSX1NFQ1RJT05fTkFNRQorICAvKiBBIHRhcmdldCBoYXMgZGVm aW5lZCBUQVJHRVRfVVNFX0pDUl9TRUNUSU9OLAorICAgICBidXQgZG9lc24n dCBoYXZlIGEgSkNSX1NFQ1RJT05fTkFNRS4gICovCisgIGdjY191bnJlYWNo YWJsZSAoKTsKKyNlbmRpZgorCisgIEZPUl9FQUNIX1ZFQ19FTFQgKHRyZWUs IHJlZ2lzdGVyZWRfY2xhc3MsIGksIGtsYXNzKQorICAgIENPTlNUUlVDVE9S X0FQUEVORF9FTFQgKGluaXQsIE5VTExfVFJFRSwgYnVpbGRfZm9sZF9hZGRy X2V4cHIgKGtsYXNzKSk7CisKKyAgLyogPz8/IEkgd291bGQgbGlrZSB0byB1 c2UgdHJlZV9vdXRwdXRfY29uc3RhbnRfZGVmKCkgYnV0IHRoZXJlIGlzIG5v IHdheQorCSB0byBwdXQgdGhlIGRhdGEgaW4gYSBuYW1lZCBzZWN0aW9uIG5h bWUsIG9yIHRvIHNldCB0aGUgYWxpZ25tZW50LAorCSB2aWEgdGhhdCBmdW5j dGlvbi4gIFNvIGRvIGV2ZXJ5dGhpbmcgbWFudWFsbHkgaGVyZS4gICovCisg IGNsYXNzX2FycmF5X3R5cGUgPSBidWlsZF9wcmltX2FycmF5X3R5cGUgKHB0 cl90eXBlX25vZGUsIHNpemUpOworICBjZGVjbCA9IGJ1aWxkX2RlY2wgKFVO S05PV05fTE9DQVRJT04sCisJCSAgICAgIFZBUl9ERUNMLCBnZXRfaWRlbnRp ZmllciAoIl9Kdl9KQ1JfU0VDVElPTl9kYXRhIiksCisJCSAgICAgIGNsYXNz X2FycmF5X3R5cGUpOworICBERUNMX1NFQ1RJT05fTkFNRSAoY2RlY2wpID0g YnVpbGRfc3RyaW5nIChzdHJsZW4gKEpDUl9TRUNUSU9OX05BTUUpLAorCQkJ CQkgICAgSkNSX1NFQ1RJT05fTkFNRSk7CisgIERFQ0xfQUxJR04gKGNkZWNs KSA9IFBPSU5URVJfU0laRTsKKyAgREVDTF9JTklUSUFMIChjZGVjbCkgPSBi dWlsZF9jb25zdHJ1Y3RvciAoY2xhc3NfYXJyYXlfdHlwZSwgaW5pdCk7Cisg IFRSRUVfQ09OU1RBTlQgKERFQ0xfSU5JVElBTCAoY2RlY2wpKSA9IDE7Cisg IFRSRUVfU1RBVElDIChjZGVjbCkgPSAxOworICBUUkVFX1JFQURPTkxZIChj ZGVjbCkgPSAxOworICBUUkVFX0NPTlNUQU5UIChjZGVjbCkgPSAxOworICBE RUNMX0FSVElGSUNJQUwgKGNkZWNsKSA9IDE7CisgIERFQ0xfSUdOT1JFRF9Q IChjZGVjbCkgPSAxOworICBwdXNoZGVjbF90b3BfbGV2ZWwgKGNkZWNsKTsK KyAgcmVsYXlvdXRfZGVjbCAoY2RlY2wpOworICByZXN0X29mX2RlY2xfY29t cGlsYXRpb24gKGNkZWNsLCAxLCAwKTsKKyAgbWFya19kZWNsX3JlZmVyZW5j ZWQgKGNkZWNsKTsKK30KKworCisvKiBFbWl0IGEgc2VyaWVzIG9mIGNhbGxz IHRvIF9Kdl9SZWdpc3RlckNsYXNzIGZvciBldmVyeSBjbGFzcyB3ZSBlbWl0 dGVkLgorICAgQSBzZXJpZXMgb2YgY2FsbHMgaXMgYWRkZWQgdG8gTElTVF9Q LiAgKi8KKworc3RhdGljIHZvaWQKK2VtaXRfSnZfUmVnaXN0ZXJDbGFzc19j YWxscyAodHJlZSAqbGlzdF9wKQoreworICB0cmVlIGtsYXNzLCB0LCByZWdp c3Rlcl9jbGFzc19mbjsKKyAgaW50IGk7CisKKyAgdCA9IGJ1aWxkX2Z1bmN0 aW9uX3R5cGVfbGlzdCAodm9pZF90eXBlX25vZGUsIGNsYXNzX3B0cl90eXBl LCBOVUxMKTsKKyAgdCA9IGJ1aWxkX2RlY2wgKGlucHV0X2xvY2F0aW9uLAor CQkgIEZVTkNUSU9OX0RFQ0wsIGdldF9pZGVudGlmaWVyICgiX0p2X1JlZ2lz dGVyQ2xhc3MiKSwgdCk7CisgIFRSRUVfUFVCTElDICh0KSA9IDE7CisgIERF Q0xfRVhURVJOQUwgKHQpID0gMTsKKyAgcmVnaXN0ZXJfY2xhc3NfZm4gPSB0 OworCisgIEZPUl9FQUNIX1ZFQ19FTFQgKHRyZWUsIHJlZ2lzdGVyZWRfY2xh c3MsIGksIGtsYXNzKQorICAgIHsKKyAgICAgIHQgPSBidWlsZF9mb2xkX2Fk ZHJfZXhwciAoa2xhc3MpOworICAgICAgdCA9IGJ1aWxkX2NhbGxfZXhwciAo cmVnaXN0ZXJfY2xhc3NfZm4sIDEsIHQpOworICAgICAgYXBwZW5kX3RvX3N0 YXRlbWVudF9saXN0ICh0LCBsaXN0X3ApOworICAgIH0KK30KKwogLyogRW1p dCBzb21ldGhpbmcgdG8gcmVnaXN0ZXIgY2xhc3NlcyBhdCBzdGFydC11cCB0 aW1lLgogCi0gICBUaGUgcHJlZmVycmVkIG1lY2hhbmlzbSBpcyB0aHJvdWdo IHRoZSAuamNyIHNlY3Rpb24sIHdoaWNoIGNvbnRhaW4KKyAgIFRoZSBkZWZh dWx0IG1lY2hhbmlzbSBpcyB0byBnZW5lcmF0ZSBpbnN0YW5jZXMgYXQgcnVu LXRpbWUuCisKKyAgIEFuIGFsdGVybmF0aXZlIG1lY2hhbmlzbSBpcyB0aHJv dWdoIHRoZSAuamNyIHNlY3Rpb24sIHdoaWNoIGNvbnRhaW4KICAgIGEgbGlz dCBvZiBwb2ludGVycyB0byBjbGFzc2VzIHdoaWNoIGdldCByZWdpc3RlcmVk IGR1cmluZyBjb25zdHJ1Y3RvcgogICAgaW52b2NhdGlvbiB0aW1lLgogCkBA IC0yODAzLDU1ICsyODcxLDE4IEBAIGVtaXRfcmVnaXN0ZXJfY2xhc3NlcyAo dHJlZSAqbGlzdF9wKQogICBpZiAocmVnaXN0ZXJlZF9jbGFzcyA9PSBOVUxM KQogICAgIHJldHVybjsKIAorICAvKiBCeSBkZWZhdWx0LCBnZW5lcmF0ZSBp bnN0YW5jZXMgb2YgQ2xhc3MgYXQgcnVudGltZS4gICovCiAgIGlmIChmbGFn X2luZGlyZWN0X2NsYXNzZXMpCi0gICAgewotICAgICAgZW1pdF9pbmRpcmVj dF9yZWdpc3Rlcl9jbGFzc2VzIChsaXN0X3ApOwotICAgICAgcmV0dXJuOwot ICAgIH0KLQorICAgIGVtaXRfaW5kaXJlY3RfcmVnaXN0ZXJfY2xhc3NlcyAo bGlzdF9wKTsKICAgLyogVEFSR0VUX1VTRV9KQ1JfU0VDVElPTiBkZWZhdWx0 cyB0byAxIGlmIFNVUFBPUlRTX1dFQUsgYW5kCiAgICAgIFRBUkdFVF9BU01f TkFNRURfU0VDVElPTiwgZWxzZSAwLiAgU29tZSB0YXJnZXRzIG1lZXQgdGhv c2UgY29uZGl0aW9ucwogICAgICBidXQgbGFjayBzdWl0YWJsZSBjcnRiZWdp bi9lbmQgb2JqZWN0cyBvciBsaW5rZXIgc3VwcG9ydC4gIFRoZXNlCiAgICAg IHRhcmdldHMgY2FuIG92ZXJyaWRlIHRoZSBkZWZhdWx0IGluIHRtLmggdG8g dXNlIHRoZSBmYWxsYmFjayBtZWNoYW5pc20uICAqLwotICBpZiAoVEFSR0VU X1VTRV9KQ1JfU0VDVElPTikKLSAgICB7Ci0gICAgICB0cmVlIGtsYXNzLCB0 OwotICAgICAgaW50IGk7Ci0KLSNpZmRlZiBKQ1JfU0VDVElPTl9OQU1FCi0g ICAgICBzd2l0Y2hfdG9fc2VjdGlvbiAoZ2V0X3NlY3Rpb24gKEpDUl9TRUNU SU9OX05BTUUsIFNFQ1RJT05fV1JJVEUsIE5VTEwpKTsKLSNlbHNlCi0gICAg ICAvKiBBIHRhcmdldCBoYXMgZGVmaW5lZCBUQVJHRVRfVVNFX0pDUl9TRUNU SU9OLAotCSBidXQgZG9lc24ndCBoYXZlIGEgSkNSX1NFQ1RJT05fTkFNRS4g ICovCi0gICAgICBnY2NfdW5yZWFjaGFibGUgKCk7Ci0jZW5kaWYKLSAgICAg IGFzc2VtYmxlX2FsaWduIChQT0lOVEVSX1NJWkUpOwotCi0gICAgICBGT1Jf RUFDSF9WRUNfRUxUICh0cmVlLCByZWdpc3RlcmVkX2NsYXNzLCBpLCBrbGFz cykKLQl7Ci0JICB0ID0gYnVpbGRfZm9sZF9hZGRyX2V4cHIgKGtsYXNzKTsK LQkgIG91dHB1dF9jb25zdGFudCAodCwgUE9JTlRFUl9TSVpFIC8gQklUU19Q RVJfVU5JVCwgUE9JTlRFUl9TSVpFKTsKLQl9Ci0gICAgfQorICBlbHNlIGlm IChUQVJHRVRfVVNFX0pDUl9TRUNUSU9OKQorICAgIGVtaXRfcmVnaXN0ZXJf Y2xhc3Nlc19pbl9qY3Jfc2VjdGlvbiAoKTsKKyAgLyogVXNlIHRoZSBmYWxs YmFjayBtZWNoYW5pc20uICAqLwogICBlbHNlCi0gICAgewotICAgICAgdHJl ZSBrbGFzcywgdCwgcmVnaXN0ZXJfY2xhc3NfZm47Ci0gICAgICBpbnQgaTsK LQotICAgICAgdCA9IGJ1aWxkX2Z1bmN0aW9uX3R5cGVfbGlzdCAodm9pZF90 eXBlX25vZGUsIGNsYXNzX3B0cl90eXBlLCBOVUxMKTsKLSAgICAgIHQgPSBi dWlsZF9kZWNsIChpbnB1dF9sb2NhdGlvbiwKLQkJICAgICAgRlVOQ1RJT05f REVDTCwgZ2V0X2lkZW50aWZpZXIgKCJfSnZfUmVnaXN0ZXJDbGFzcyIpLCB0 KTsKLSAgICAgIFRSRUVfUFVCTElDICh0KSA9IDE7Ci0gICAgICBERUNMX0VY VEVSTkFMICh0KSA9IDE7Ci0gICAgICByZWdpc3Rlcl9jbGFzc19mbiA9IHQ7 Ci0KLSAgICAgIEZPUl9FQUNIX1ZFQ19FTFQgKHRyZWUsIHJlZ2lzdGVyZWRf Y2xhc3MsIGksIGtsYXNzKQotCXsKLQkgIHQgPSBidWlsZF9mb2xkX2FkZHJf ZXhwciAoa2xhc3MpOwotCSAgdCA9IGJ1aWxkX2NhbGxfZXhwciAocmVnaXN0 ZXJfY2xhc3NfZm4sIDEsIHQpOwotCSAgYXBwZW5kX3RvX3N0YXRlbWVudF9s aXN0ICh0LCBsaXN0X3ApOwotCX0KLSAgICB9CisgICAgZW1pdF9Kdl9SZWdp c3RlckNsYXNzX2NhbGxzIChsaXN0X3ApOwogfQogCiAvKiBCdWlsZCBhIGNv bnN0cnVjdG9yIGZvciBhbiBlbnRyeSBpbiB0aGUgc3ltYm9sIHRhYmxlLiAg Ki8K --20cf305b0c0e82aed004bc40ef0d--