This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
[MERGE] make RC-stack-aware: pp_readline() etc
authorDavid Mitchell <davem@iabyn.com>
Wed, 6 Dec 2023 16:53:44 +0000 (16:53 +0000)
committerDavid Mitchell <davem@iabyn.com>
Wed, 6 Dec 2023 16:53:44 +0000 (16:53 +0000)
commit49e6c78e46b366d68f0bef59674dc9dfaed3d131
tree078062da0bbfba3e4b25d7fa8db1582b282d93d3
parent450676c25a73a9356b85a22abcc25c4c95f792f9
parent99e4f4b1c4bc11fc21660d3dcd3c6eb584361c54
[MERGE] make RC-stack-aware: pp_readline() etc

Remove the temporary wrappers from:

    pp_readline()
    pp_rcatline()
    pp_glob()
    pp_rv2gv()
    pp_index()

and dependent functions.

This branch started out as an attempt to unwrap a few simple functions
like pp_index() and pp_rv2gv(). But pp_readline() calls pp_rv2gv(),
so that had to be unwrapped too. Then the bulk of pp_readline()'s
implementation is done by do_readline(), so that had to be updated too.
But pp_rcatline() and pp_glob() also call out to do_readline(), so they
had to be fixed too. And pp_glob() outsources most of its work to the
XS module File::Glob, so calling that had to be wrapped to handle a
non-refcounted stack in the XS code. Then it turns out that code in
IO.xs calls pp_readline() directly and needed tweaking.

So now its a larger branch that touches a lot of stuff.