Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:115288 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 99321 invoked from network); 4 Jul 2021 22:33:14 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 4 Jul 2021 22:33:14 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id CA0921804CC for ; Sun, 4 Jul 2021 15:54:35 -0700 (PDT) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=0.6 required=5.0 tests=BAYES_50,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,HTML_MESSAGE,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.2 X-Spam-Virus: No X-Envelope-From: Received: from mail-lj1-f174.google.com (mail-lj1-f174.google.com [209.85.208.174]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Sun, 4 Jul 2021 15:54:35 -0700 (PDT) Received: by mail-lj1-f174.google.com with SMTP id t30so2039015ljo.5 for ; Sun, 04 Jul 2021 15:54:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=craigfrancis.co.uk; s=default; h=mime-version:from:date:message-id:subject:to; bh=e1OgcAj8LRPgFSLU4lpxemGwGagEa6olVayN1WEPJ2w=; b=VaSUHnKdQyfLD1xU5VsWQDCOMNwHW7/WNzMQBswZEzrLUKWT7oY36CJPd4zfIuAE8r 6mPDLlFMQRyZsTnrcb7SWl3UssDdeK2Lu6rI3KOupAXRBWKXCugxvs1c1Ev6lfap2bze KbXeQ97YsCkKFbe9wVXH1DKkz1C8Q+JV6+7YA= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=e1OgcAj8LRPgFSLU4lpxemGwGagEa6olVayN1WEPJ2w=; b=JLDPxVMlJetkIYejkEWMZl35ZIQwM/JioI1yggT6kqBs5TRZRKeE0uNNtKv1ahFbMc Z3KJyn3vH8sDdjvsGHfJG25F3Okr8TqE6Zu7dm5rWEEWShHFs7ooq7hLxnTDuyCX1NF6 RLzXJKFDNEvfYLDgGvvgL6LBgZYlcNutbE02Dki4oOS/QShgwiIhCPhsFCYZB8DWQ08p lTlesY5oUu/YonrQDzgIrhANYT1UzUKmg3yD7GHP651nSbx3x3pVhoef750ZPUu5BIyz 5+gKfszQvqlBHog7fHidwb9MwQYd6gagzdftqr7+VyC3g5eyBIXUgMbZC4cIQMJUqm2k WLHw== X-Gm-Message-State: AOAM533B22Smb6o6XSd+j1pAAxVeNSqPhy5JPSeSzTuGdaBxLpWW7BQp 1Jz9GGZ5uoGOWrwprmivyImyxveNZCh5u8QaYQ28j7V61rW8oA== X-Google-Smtp-Source: ABdhPJzJVOIR4XzbOsNG+zqWU2OTHsvYLCSf4GwABbYDPmIyXe2tR5IOwDBnTn7FSbTdZ8V00rFwx9llJzOkE/Z1ZXk= X-Received: by 2002:a2e:a4ad:: with SMTP id g13mr9034396ljm.279.1625439269641; Sun, 04 Jul 2021 15:54:29 -0700 (PDT) MIME-Version: 1.0 Date: Sun, 4 Jul 2021 23:54:18 +0100 Message-ID: To: PHP internals Content-Type: multipart/alternative; boundary="000000000000456d1605c654128c" Subject: [PHP-DEV] [RFC] is_literal optimisation Solved! From: craig@craigfrancis.co.uk (Craig Francis) --000000000000456d1605c654128c Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi Internals, We=E2=80=99ve got some great news - Joe has worked his magic and managed to= find a solution to the final inconsistencies we saw with the compiler optimisations, interned strings, and the chr() function. This was achieved by moving some of the logic down a level (to the lexer), so we can mark the string literals before they are interned. Now is_literal() works in a completely consistent way beginning to end, with programmer defined strings, exactly as it says on the tin. The RFC has been updated, and we will have the changes on 3v4l.org as soon as possible! Craig --000000000000456d1605c654128c--