Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 3734d2f5d38a7779376358fb891b3d3a38e6c0d8
      
https://github.com/Perl/perl5/commit/3734d2f5d38a7779376358fb891b3d3a38e6c0d8
  Author: Karl Williamson <k...@cpan.org>
  Date:   2022-06-14 (Tue, 14 Jun 2022)

  Changed paths:
    M XSUB.h
    M autodoc.pl
    M cop.h
    M embed.fnc
    M perl.h
    M pp.h
    M regen/embed.pl
    M scope.h

  Log Message:
  -----------
  Change autodoc flag

This should be being used only in core, as its only use is for autodoc.
Change the flag name to be more mnemonic, freeing up its current name
for another use.


  Commit: 07b6261fb1bd833cdc1794d2de7fc09ce103c952
      
https://github.com/Perl/perl5/commit/07b6261fb1bd833cdc1794d2de7fc09ce103c952
  Author: Karl Williamson <k...@cpan.org>
  Date:   2022-06-14 (Tue, 14 Jun 2022)

  Changed paths:
    M regen/embed.pl

  Log Message:
  -----------
  regen/embed.pl: Use $var to avoid duplicate string


  Commit: c43e2db585193d859602960fa5f4a826b76f0f1e
      
https://github.com/Perl/perl5/commit/c43e2db585193d859602960fa5f4a826b76f0f1e
  Author: Karl Williamson <k...@cpan.org>
  Date:   2022-06-14 (Tue, 14 Jun 2022)

  Changed paths:
    M embed.fnc
    M makedef.pl
    M regen/embed.pl

  Log Message:
  -----------
  regen/embed.pl: Add static Perl_ not_inlined capability

This will be used in the next commit


  Commit: d86d1780364a7b87972ea3af2b0d98ce8123ec7b
      
https://github.com/Perl/perl5/commit/d86d1780364a7b87972ea3af2b0d98ce8123ec7b
  Author: Karl Williamson <k...@cpan.org>
  Date:   2022-06-14 (Tue, 14 Jun 2022)

  Changed paths:
    M MANIFEST
    M embed.fnc
    M perl.h
    A perlstatic.h
    M proto.h
    M util.c

  Log Message:
  -----------
  Create perlstatic.h

This is used for functions that we don't suggest should be inlined, but
we think the compiler will generate better code if it has full knowledge
about them.

At the moment, it only contains a single function which can be tail-call
optimized.

The Lord of the Rings quote for this file was suggested by Leon
Timmermans.

The proximal cause of this commit can be gleaned from this email:

>From - Mon Nov 16 09:20:50 2020
X-Mozilla-Status: 0001
X-Mozilla-Status2: 00800000
X-Mozilla-Keys:
Subject: Re: about commit "Revert "croak_memory_wrap is an inline function.""
 (khw)
To: bulk88 <bul...@hotmail.com>, perl5-port...@perl.org
References: <20200429011948.14287.qm...@lists-nntp.develooper.com>
From: Karl Williamson <pub...@khwilliamson.com>
Message-ID: <6f38382c-8fb5-ba1a-51c6-409fa5b56...@khwilliamson.com>
Date: Mon, 16 Nov 2020 09:20:41 -0700
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.4.3
MIME-Version: 1.0
In-Reply-To: <20200429011948.14287.qm...@lists-nntp.develooper.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit

On 4/28/20 7:19 PM, bulk88 wrote:
> https://perl5.git.perl.org/perl5.git/commitdiff/d68c938a1e6c6b4bfe907decbb4929780ee06eae
>
>
> Why was this done? Perl_croak_memory_wrap is supposed to be a static
> linkage, not globally visible C function, in every perl .o file that the
> CC/linker should toss the static func if its not used. I wanted to avoid
> the PLT/GOT runtime C symbol substitution/LDPRELOAD mechanism and let
> the CC turn Perl_croak_memory_wrap into a single conditional jump
> (offset from current instruction pointer), with no return and no C stack
> entry, jump instruction instead of
>
> call get_EIP //x86 32 only
> mov eax, *(eax_aka_eip+offset into PLT)
> call eax

I reverted this because, first of all, gcc with the appropriate -W
options raised warnings that it was disregarding the request and was not
inlining this function, and 2nd of all, there was no indication in the
comments as to why this function had been inlined.


Compare: https://github.com/Perl/perl5/compare/82943faa9f6f...d86d1780364a

Reply via email to