[Perl/perl5] 6c8256: Add padalloc_NO_SV flag for pad_alloc()

[email protected] (Paul Evans via perl5-changes)
Newsgroups perl.perl5.changes
Message-ID <Perl/perl5/push/refs/heads/blead/[email protected]>
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 6c8256ccf78cae28e6b4a8b2330a21ee29807296
      https://github.com/Perl/perl5/commit/6c8256ccf78cae28e6b4a8b2330a21ee29807296
  Author: Paul "LeoNerd" Evans <[email protected]>
  Date:   2026-03-16 (Mon, 16 Mar 2026)

  Changed paths:
    M pad.c
    M pad.h
    M regen/embed.pl

  Log Message:
  -----------
  Add padalloc_NO_SV flag for pad_alloc()

This flag requests that the pad specifically doesn't have a new SV
allocated into it, as the caller may wish to do something special with
it


  Commit: 1c7eedee74225b05cc1fae2cc4b157a614001f64
      https://github.com/Perl/perl5/commit/1c7eedee74225b05cc1fae2cc4b157a614001f64
  Author: Paul "LeoNerd" Evans <[email protected]>
  Date:   2026-03-16 (Mon, 16 Mar 2026)

  Changed paths:
    M class.c
    M pad.c

  Log Message:
  -----------
  Don't allocate pad SVs for fields

Since pp_methstart is going to replace the SVs in the pad anyway,
there's no point wasting memory holding junk SVs for non-live methods
when those SVs are never going to be seen.


  Commit: d7d75569996ecf12f8d17feaae6520ed7df6fd98
      https://github.com/Perl/perl5/commit/d7d75569996ecf12f8d17feaae6520ed7df6fd98
  Author: Paul "LeoNerd" Evans <[email protected]>
  Date:   2026-03-16 (Mon, 16 Mar 2026)

  Changed paths:
    M regen/embed.pl
    M regen/scope_types.pl
    M scope.c
    M scope_types.h
    M sv.c

  Log Message:
  -----------
  Add SAVEt_PADSV_NULL, an optimised version of SAVEt_PADSV

The only current use-case of SAVEt_PADSV is invoked in class.c as part
of pp_methstart, to save the pad slot related to field SVs. This pad
slot is normally NULL until it is assigned a value by pp_methstart
itself. In this likely case, there is no point in save_padsv() storing
an extra savestack entry for this NULL pointer. Instead, we store an
optimised variant of it that sets the pad slot back to NULL on restore.


Compare: https://github.com/Perl/perl5/compare/70c62a078bd2...d7d75569996e

To unsubscribe from these emails, change your notification settings at https://github.com/Perl/perl5/settings/notifications
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.