From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ej1-x631.google.com (mail-ej1-x631.google.com [IPv6:2a00:1450:4864:20::631]) by sourceware.org (Postfix) with ESMTPS id 0E00C3858D33 for ; Sat, 7 Jan 2023 13:05:10 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 0E00C3858D33 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-ej1-x631.google.com with SMTP id cf18so2938976ejb.5 for ; Sat, 07 Jan 2023 05:05:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=AuiVXYS1yiSrTF06jBNqNw///KRt5zaXGNDMYAkSkQM=; b=I8c/Fp5l3ejBqbDfsmGtLOcMQ5d+IEOR6pqLx7JpvyIGxmYmzl1kpQggHfxPvy1hAA 5lzdRMqnit4nLYwDZ32wWsGLD2iwdrmwESbmgs8GqWEn6O6PVojjUchTG+emZs9lY4d8 7wpTXWs5i7JH9WiXfjQdaWrP1eW3CA1Z3EwXrPG6E9/0O9uXD3RxgH5mBsDS4RAJcWTg LaRcM/PFNwa18V2L1Jnp1KLp2zC/DNcnlGd2aDJAJep/InyCn1STc4325uYtM+BgAPbj xaBVNTsnDapv620Z9zYzMx6pa8v2hX3IdJ782Tpw1xGzQnI4bOr2lYbrJwDV82Qieg9I nt4g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=AuiVXYS1yiSrTF06jBNqNw///KRt5zaXGNDMYAkSkQM=; b=JjcJOu1vMmw9aa2FGa4OOsTn1i24Y+hAafkSIlhbB8aa7h/3rke3byF28Femdpg15Y b3IIRO8xPUrvU/BRtUD2n2yNpAjDjzB1vBGLYS0rjZUeBMkBB1BQGTLbd7oY8g+ek9uS XhWnHv6ET3rZ7UgZtUKpoBtWvYohSfcLapWa1l62Rm9pGF2bw9OMweDw6YEtaWT5iNKB W/vOmkj1c0wWF8Pup7EXmBUtdgZZZC6D+JmdqZ1jYrDS1c0mx99plGrHe4AFO799sqTt 6004ckz3cZ5YI1uvvTRDNan/Eqd3SRPAQ0zb6yegHVd0LOq9whqq1kjRc28D2wTwOiTQ xaSQ== X-Gm-Message-State: AFqh2kpUhb5LAf1EMjLSumYTHZZD9vKnIlb3AhqotE1QU04RrM+GrayE 4eBCQ/gmU4A0qtQAJu+UGm5jR6zLj5sqMBD0owy6F+ekcatfJQ== X-Google-Smtp-Source: AMrXdXsXbVRWgZaPwc+dTAz99M6umaczCnULnsgRfJP1KzzVY6WffOG4+7KT4fog/0HdSwxxYhb4+j5NA8S1Ezlzyho= X-Received: by 2002:a17:906:2a93:b0:815:8b76:b05f with SMTP id l19-20020a1709062a9300b008158b76b05fmr3449318eje.150.1673096708522; Sat, 07 Jan 2023 05:05:08 -0800 (PST) MIME-Version: 1.0 From: Max Downey Twiss Date: Sat, 7 Jan 2023 21:05:05 +0800 Message-ID: Subject: Java front-end and library patches v2 To: gcc-patches@gcc.gnu.org Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-0.1 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,KAM_NUMSUBJECT,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: Disclaimer: this does not currently work. The front-end and library compile successfully, but fail to link at the very end. This is due to a regression caused by 1dedc12d186a110854537e1279b4e6c29f2df35a, which I have been unable to solve. Nevertheless, I am posting this patch series for two reasons. Firstly, to get feedback and reviews on the 56 already existing patches, even though most are just re-adding code or making idiomatic changes, so that when the final issue is solved everything has already been approved (hopefully) and the merge is good to go. Secondly, to get assistance with the final issue, because it is simply beyond me, and history has shown that asking for help via gcc-patches will yield nothing. You'll need libtool 2.4.7 and a bleeding-edge version of bdwgc to build it, in case anyone planned to do some testing. Answers to the questions asked on my last patch series leading email: > Why is it now considered useful to add this front end back? The way I see it, the Java front end was removed due to a lack of maintenance and improvement. To put it simply, I am going to maintain and improve it. That is the difference between now and then. There is more nuance, but that is the gist of it. > Which version is the basis of the one being added back...? The exact same one that was removed from GCC, with the version taken being the one right before it was removed. > Would you propose to maintain the front end and libraries in future? I have big plans for the library, and plan to maintain that long into the future. In regards to the actual front-end code, I will do what I can to make sure it remains at its previous level of function, but that is about it. I dislike working with the front end code, so I will fix it, but I will not make sweeping changes to it. > Would you re-open any bugs against the front end or libraries that were closed...as a result of it being removed from the tree...? Good point, I hadn't thought of that. It makes sense to re-open them, as they are by definition valid again, although I may have difficulty with the frontend ones, as that is not my strong suit. Just a brief overview of my plans for the frontend and library-- When GCJ was first introduced it was "the free Java implementation". It was trying to offer a bytecode compiler, a machine code compiler and a runtime library. Clearly, this was too much, as it borrowed another bytecode compiler and runtime library, and even then the runtime library fell into dissaray. Now, we have many pieces of the puzzle. We have a bounty of free Java bytecode compilers, and a free runtime library. The only thing missing is a free machine code compiler, which GCJ was and is. I plan to replace Classpath with the OpenJDK, and double down on the machine code aspect of GCJ, dropping bytecode and interpreted support.